3ec12ab83b1a40aa9ef060f4895125bf6977bda9
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2018-10-19  Zalan Bujtas  <zalan@apple.com>
2
3         [LFC][IFC] Remove the previous version of inline content handling.
4         https://bugs.webkit.org/show_bug.cgi?id=190716
5
6         Reviewed by Antti Koivisto.
7
8         * Sources.txt:
9         * WebCore.xcodeproj/project.pbxproj:
10         * layout/Verification.cpp:
11         (WebCore::Layout::areEssentiallyEqual):
12         (WebCore::Layout::outputMismatchingSimpleLineInformationIfNeeded):
13         (WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
14         * layout/inlineformatting/InlineFormattingState.h:
15         (WebCore::Layout::InlineFormattingState::inlineContent):
16         (WebCore::Layout::InlineFormattingState::addLayoutRuns): Deleted.
17         (WebCore::Layout::InlineFormattingState::layoutRuns const): Deleted.
18         * layout/inlineformatting/text/TextUtil.cpp: Renamed from Source/WebCore/layout/inlineformatting/textlayout/TextUtil.cpp.
19         (WebCore::Layout::TextUtil::TextUtil):
20         (WebCore::Layout::TextUtil::width const):
21         (WebCore::Layout::TextUtil::hyphenPositionBefore const):
22         (WebCore::Layout::TextUtil::textWidth const):
23         (WebCore::Layout::TextUtil::fixedPitchWidth const):
24         * layout/inlineformatting/text/TextUtil.h: Renamed from Source/WebCore/layout/inlineformatting/textlayout/TextUtil.h.
25         * layout/inlineformatting/textlayout/Runs.h: Removed.
26         * layout/inlineformatting/textlayout/TextContentProvider.cpp: Removed.
27         * layout/inlineformatting/textlayout/TextContentProvider.h: Removed.
28         * layout/inlineformatting/textlayout/simple/SimpleLineBreaker.cpp: Removed.
29         * layout/inlineformatting/textlayout/simple/SimpleLineBreaker.h: Removed.
30         * layout/inlineformatting/textlayout/simple/SimpleTextRunGenerator.cpp: Removed.
31         * layout/inlineformatting/textlayout/simple/SimpleTextRunGenerator.h: Removed.
32
33 2018-10-19  Zalan Bujtas  <zalan@apple.com>
34
35         [LFC][IFC] Add generic inline content handling.
36         https://bugs.webkit.org/show_bug.cgi?id=190713
37
38         Reviewed by Antti Koivisto.
39
40         layoutInlineContent turns InlineLineBreaker::Run objects into final inline runs by
41         resolving heading/trailing whitespace, aligment, expansion opportunities etc.
42         These inline runs are input to the display tree construction.
43
44         * Sources.txt:
45         * WebCore.xcodeproj/project.pbxproj:
46         * layout/displaytree/DisplayBox.h:
47         * layout/inlineformatting/InlineFormattingContext.cpp:
48         (WebCore::Layout::InlineFormattingContext::layout const):
49         (WebCore::Layout::trimLeadingRun):
50         (WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
51         (WebCore::Layout::InlineFormattingContext::computeWidthAndHeight const):
52         * layout/inlineformatting/InlineFormattingContext.h:
53         (WebCore::Layout::InlineFormattingContext::Line::hasContent const):
54         (WebCore::Layout::InlineFormattingContext::Line::contentLogicalLeft const):
55         (WebCore::Layout::InlineFormattingContext::Line::availableWidth const):
56         * layout/inlineformatting/InlineFormattingState.h:
57         (WebCore::Layout::InlineFormattingState::inlineRuns):
58         (WebCore::Layout::InlineFormattingState::appendInlineRun):
59         * layout/inlineformatting/InlineLineBreaker.cpp:
60         (WebCore::Layout::InlineLineBreaker::nextRun):
61         (WebCore::Layout::InlineLineBreaker::nextLayoutRun): Deleted.
62         * layout/inlineformatting/InlineLineBreaker.h:
63         * layout/inlineformatting/InlineRun.h: Added.
64         (WebCore::Layout::InlineRun::logicalLeft const):
65         (WebCore::Layout::InlineRun::logicalRight const):
66         (WebCore::Layout::InlineRun::width const):
67         (WebCore::Layout::InlineRun::setWidth):
68         (WebCore::Layout::InlineRun::setLogicalRight):
69         (WebCore::Layout::InlineRun::TextContext::position const):
70         (WebCore::Layout::InlineRun::TextContext::length const):
71         (WebCore::Layout::InlineRun::TextContext::setLength):
72         (WebCore::Layout::InlineRun::textContext):
73         (WebCore::Layout::InlineRun::inlineItem const):
74         (WebCore::Layout::InlineRun::InlineRun):
75         (WebCore::Layout::InlineRun::TextContext::TextContext):
76         * layout/inlineformatting/Line.cpp: Added.
77         (WebCore::Layout::InlineFormattingContext::Line::Line):
78         (WebCore::Layout::InlineFormattingContext::Line::setConstraints):
79         (WebCore::Layout::isNonCollapsedText):
80         (WebCore::Layout::isTrimmableContent):
81         (WebCore::Layout::InlineFormattingContext::Line::appendContent):
82         (WebCore::Layout::InlineFormattingContext::Line::close):
83
84 2018-10-19  Zalan Bujtas  <zalan@apple.com>
85
86         [LFC][IFC] Add generic inline line breaker
87         https://bugs.webkit.org/show_bug.cgi?id=190698
88
89         Reviewed by Antti Koivisto.
90
91         InlineLineBreaker takes the inline runs and applies the appropriate line breaking rules on them.
92         InlineRunProvider::Run objects ->
93
94             <foobar><image box><hello>< ><world>
95
96         InlineLineBreaker::Run ->
97
98             <foobar><image box><hello world>
99
100         InlineLineBreaker::Run also contains information whether the run is at the beginning or at the end of the line.
101
102         * Sources.txt:
103         * WebCore.xcodeproj/project.pbxproj:
104         * layout/LayoutContext.h:
105         (WebCore::Layout::LayoutContext::hasDisplayBox const):
106         * layout/inlineformatting/InlineLineBreaker.cpp: Added.
107         (WebCore::Layout::InlineLineBreaker::InlineLineBreaker):
108         (WebCore::Layout::InlineLineBreaker::nextLayoutRun):
109         (WebCore::Layout::InlineLineBreaker::isAtContentEnd const):
110         (WebCore::Layout::InlineLineBreaker::lineBreakingBehavior):
111         (WebCore::Layout::InlineLineBreaker::runWidth const):
112         (WebCore::Layout::InlineLineBreaker::splitRun):
113         (WebCore::Layout::InlineLineBreaker::adjustSplitPositionWithHyphenation const):
114         * layout/inlineformatting/InlineLineBreaker.h: Added.
115         * layout/inlineformatting/textlayout/TextUtil.cpp: Added.
116         (WebCore::Layout::TextUtil::TextUtil):
117         (WebCore::Layout::TextUtil::width const):
118         (WebCore::Layout::TextUtil::hyphenPositionBefore const):
119         (WebCore::Layout::TextUtil::textWidth const):
120         (WebCore::Layout::TextUtil::fixedPitchWidth const):
121         * layout/inlineformatting/textlayout/TextUtil.h: Added.
122         * layout/layouttree/LayoutBox.cpp:
123
124 2018-10-19  Zalan Bujtas  <zalan@apple.com>
125
126         [LFC][IFC] Add generic inline run generator.
127         https://bugs.webkit.org/show_bug.cgi?id=190696
128
129         Reviewed by Antti Koivisto.
130
131         InlineRunProvider turns the following inline content ->
132
133             <span>foo<span>bar</span></span>
134             <img src="broken.jpg"><span>hello world</span>
135
136         into a set of runs ->
137
138             <foobar><image box><hello>< ><world>
139
140         Note that a text run can overlap multiple inline elements. InlineRunProvider::Run only stores a reference to
141         the first inline element (continuous content can be accessed by iterating through the InlineContent ListHashSet).
142         These runs are the input to the line breaking algoritm.
143
144         * Sources.txt:
145         * WebCore.xcodeproj/project.pbxproj:
146         * layout/inlineformatting/InlineFormattingContext.cpp:
147         (WebCore::Layout::InlineFormattingContext::layout const):
148         * layout/inlineformatting/InlineFormattingState.h:
149         (WebCore::Layout::InlineFormattingState::inlineContent):
150         * layout/inlineformatting/InlineItem.h: Added.
151         (WebCore::Layout::InlineItem::layoutBox const):
152         (WebCore::Layout::InlineItem::style const):
153         (WebCore::Layout::InlineItemHashFunctions::hash):
154         (WebCore::Layout::InlineItemHashFunctions::equal):
155         (WebCore::Layout::InlineItemHashTranslator::hash):
156         (WebCore::Layout::InlineItemHashTranslator::equal):
157         (WebCore::Layout::InlineItem::InlineItem):
158         (WebCore::Layout::InlineItem::type const):
159         (WebCore::Layout::InlineItem::textContent const):
160         * layout/inlineformatting/InlineRunProvider.cpp: Added.
161         (WebCore::Layout::InlineRunProvider::InlineRunProvider):
162         (WebCore::Layout::InlineRunProvider::append):
163         (WebCore::Layout::InlineRunProvider::insertBefore):
164         (WebCore::Layout::InlineRunProvider::remove):
165         (WebCore::Layout::isWhitespace):
166         (WebCore::Layout::isSoftLineBreak):
167         (WebCore::Layout::InlineRunProvider::isContinousContent):
168         (WebCore::Layout::InlineRunProvider::processInlineTextItem):
169         (WebCore::Layout::InlineRunProvider::moveToNextNonWhitespacePosition):
170         (WebCore::Layout::InlineRunProvider::moveToNextBreakablePosition):
171         * layout/inlineformatting/InlineRunProvider.h: Added.
172         (WebCore::Layout::InlineRunProvider::Run::type const):
173         (WebCore::Layout::InlineRunProvider::Run::isText const):
174         (WebCore::Layout::InlineRunProvider::Run::isWhitespace const):
175         (WebCore::Layout::InlineRunProvider::Run::isNonWhitespace const):
176         (WebCore::Layout::InlineRunProvider::Run::isLineBreak const):
177         (WebCore::Layout::InlineRunProvider::Run::isBox const):
178         (WebCore::Layout::InlineRunProvider::Run::isFloat const):
179         (WebCore::Layout::InlineRunProvider::Run::TextContext::start const):
180         (WebCore::Layout::InlineRunProvider::Run::TextContext::length const):
181         (WebCore::Layout::InlineRunProvider::Run::TextContext::isCollapsed const):
182         (WebCore::Layout::InlineRunProvider::Run::TextContext::setStart):
183         (WebCore::Layout::InlineRunProvider::Run::TextContext::setLength):
184         (WebCore::Layout::InlineRunProvider::Run::textContext const):
185         (WebCore::Layout::InlineRunProvider::Run::style const):
186         (WebCore::Layout::InlineRunProvider::Run::inlineItem const):
187         (WebCore::Layout::InlineRunProvider::runs const):
188         (WebCore::Layout::InlineRunProvider::Run::createBoxRun):
189         (WebCore::Layout::InlineRunProvider::Run::createFloatRun):
190         (WebCore::Layout::InlineRunProvider::Run::createSoftLineBreakRun):
191         (WebCore::Layout::InlineRunProvider::Run::createHardLineBreakRun):
192         (WebCore::Layout::InlineRunProvider::Run::createWhitespaceRun):
193         (WebCore::Layout::InlineRunProvider::Run::createNonWhitespaceRun):
194         (WebCore::Layout::InlineRunProvider::Run::Run):
195         (WebCore::Layout::InlineRunProvider::Run::TextContext::TextContext):
196         * layout/layouttree/LayoutBox.h:
197         (WebCore::Layout::Box::isLineBreakBox const):
198         * layout/layouttree/LayoutInlineBox.cpp:
199         (WebCore::Layout::InlineBox::InlineBox):
200         * layout/layouttree/LayoutInlineBox.h:
201         (WebCore::Layout::InlineBox::hasTextContent const):
202         (WebCore::Layout::InlineBox::textContent const):
203         * layout/layouttree/LayoutLineBreakBox.cpp: Copied from Source/WebCore/layout/layouttree/LayoutInlineBox.cpp.
204         (WebCore::Layout::LineBreakBox::LineBreakBox):
205         * layout/layouttree/LayoutLineBreakBox.h: Copied from Source/WebCore/layout/layouttree/LayoutInlineBox.cpp.
206
207 2018-10-19  Ali Juma  <ajuma@chromium.org>
208
209         [IntersectionObserver] Handle zero-area intersections
210         https://bugs.webkit.org/show_bug.cgi?id=189624
211
212         Reviewed by Simon Fraser.
213
214         Use edge-inclusive intersection when applying clips and intersecting with the
215         root, so that two rects that touch each other are considered intersecting even
216         if the area of their intersection is 0.
217
218         Covered by rebased tests in imported/w3c/web-platform-tests/intersection-observer.
219
220         * dom/Document.cpp:
221         (WebCore::computeIntersectionState):
222         (WebCore::Document::updateIntersectionObservations):
223         (WebCore::computeIntersectionRects): Deleted.
224
225 2018-10-18  Eric Carlson  <eric.carlson@apple.com>
226
227         [MediaStream] Allow ports to optionally do screen capture in the UI process
228         https://bugs.webkit.org/show_bug.cgi?id=190728
229         <rdar://problem/45376824>
230
231         Reviewed by Jer Noble and Tim Horton.
232
233         No new tests, covered by existing tests.
234
235         * Sources.txt: Add RemoteVideoSample.cpp.
236         * WebCore.xcodeproj/project.pbxproj: Ditto.
237
238         * platform/MediaSample.h:
239         (WebCore::MediaSample::videoPixelFormat const):
240
241         * platform/graphics/RemoteVideoSample.cpp: Added.
242         (WebCore::RemoteVideoSample::~RemoteVideoSample):
243         (WebCore::RemoteVideoSample::create):
244         (WebCore::RemoteVideoSample::RemoteVideoSample):
245         (WebCore::RemoteVideoSample::surface):
246         * platform/graphics/RemoteVideoSample.h: Added.
247         (WebCore::RemoteVideoSample::time const):
248         (WebCore::RemoteVideoSample::videoFormat const):
249         (WebCore::RemoteVideoSample::size const):
250         (WebCore::RemoteVideoSample::encode const):
251         (WebCore::RemoteVideoSample::decode):
252         * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
253         * platform/graphics/cv/ImageTransferSessionVT.h:
254
255         * platform/mediastream/RealtimeMediaSource.cpp:
256         (WebCore::RealtimeMediaSource::remoteVideoSampleAvailable): Call observers.
257         * platform/mediastream/RealtimeMediaSource.h:
258
259         * platform/mediastream/RealtimeVideoSource.cpp:
260         (WebCore::RealtimeVideoSource::dispatchMediaSampleToObservers): Dispatch remote samples without
261         resizing, resize local samples if necessary.
262         * platform/mediastream/RealtimeVideoSource.h:
263
264         * platform/mediastream/mac/AVVideoCaptureSource.mm:
265         (WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Don't resize
266         samples, it will be done in the base class if necessary.
267
268         * platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
269         (WebCore::DisplayCaptureSourceCocoa::emitFrame): Don't resize samples when running in the UI
270         process, it will be done in the web process.
271
272         * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp: Remove unneeded include.
273
274 2018-10-18  Said Abou-Hallawa  <sabouhallawa@apple.com>
275
276         [CG] Adopt CG SPI for non-even cornered rounded rects
277         https://bugs.webkit.org/show_bug.cgi?id=190155
278
279         Reviewed by Simon Fraser.
280
281         Instead of creating bezier curves for the non-even corners of the rounded
282         rects, we should use the optimized SPI provided by CG.
283
284         * platform/graphics/cg/PathCG.cpp:
285         (WebCore::Path::platformAddPathForRoundedRect):
286
287 2018-10-18  Justin Michaud  <justin_michaud@apple.com>
288
289         Add new image type for CSS painting API
290         https://bugs.webkit.org/show_bug.cgi?id=190697
291
292         Reviewed by Dean Jackson.
293
294         Add a new image type for the CSS painting API, and hook it up so it can be drawn.
295         For now, it uses a WebGL rendering context from OfflineCanvas because that was
296         easy to hook up. The spec actually calls for a RenderingContext2D, which can be
297         handled in another patch.
298
299         * Sources.txt:
300         * WebCore.xcodeproj/project.pbxproj:
301         * css/CSSImageGeneratorValue.cpp:
302         (WebCore::CSSImageGeneratorValue::image):
303         (WebCore::CSSImageGeneratorValue::isFixedSize const):
304         (WebCore::CSSImageGeneratorValue::fixedSize):
305         (WebCore::CSSImageGeneratorValue::isPending const):
306         (WebCore::CSSImageGeneratorValue::knownToBeOpaque const):
307         (WebCore::CSSImageGeneratorValue::loadSubimages):
308         * css/CSSPaintCallback.h:
309         * css/CSSPaintCallback.idl:
310         * css/CSSPaintImageValue.cpp:
311         (WebCore::CSSPaintImageValue::image):
312         * css/CSSPaintImageValue.h:
313         * platform/graphics/CustomPaintImage.cpp: Added.
314         (WebCore::CustomPaintImage::CustomPaintImage):
315         (WebCore::CustomPaintImage::doCustomPaint):
316         (WebCore::CustomPaintImage::draw):
317         (WebCore::CustomPaintImage::drawPattern):
318         * platform/graphics/CustomPaintImage.h: Copied from Source/WebCore/css/CSSPaintCallback.h.
319         * platform/graphics/Image.h:
320         (WebCore::Image::isCustomPaintImage const):
321         * platform/graphics/ImageBuffer.h:
322         * platform/graphics/cairo/CairoOperations.cpp:
323
324 2018-10-18  Truitt Savell  <tsavell@apple.com>
325
326         Unreviewed, rolling out r237272.
327
328         Broke on device iOS builds and Windows builds
329
330         Reverted changeset:
331
332         "[MediaStream] Allow ports to optionally do screen capture in
333         the UI process"
334         https://bugs.webkit.org/show_bug.cgi?id=190728
335         https://trac.webkit.org/changeset/237272
336
337 2018-10-18  Jer Noble  <jer.noble@apple.com>
338
339         [MSE] timestampOffset can introduce floating-point rounding errors to incoming samples
340         https://bugs.webkit.org/show_bug.cgi?id=190590
341         <rdar://problem/45275626>
342
343         Reviewed by Eric Carlson.
344
345         Test: media/media-source/media-source-timestampoffset-rounding-error.html
346
347         SourceBuffer.timestampOffset is a double property, which, when added to a MediaTime will
348         result in a double-backed MediaTime as PTS & DTS. This can introduce rounding errors when
349         these samples are appended as overlapping existing samples. Rather than converting a MediaTime
350         to double-backed when adding the timestampOffset, convert the offset to a multiple of the
351         sample's timeBase.
352
353         * Modules/mediasource/SourceBuffer.cpp:
354         (WebCore::SourceBuffer::setTimestampOffset):
355         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
356
357 2018-10-18  Eric Carlson  <eric.carlson@apple.com>
358
359         [MediaStream] Allow ports to optionally do screen capture in the UI process
360         https://bugs.webkit.org/show_bug.cgi?id=190728
361         <rdar://problem/45376824>
362
363         Reviewed by Jer Noble and Tim Horton.
364
365         No new tests, covered by existing tests.
366
367         * Sources.txt: Add RemoteVideoSample.cpp.
368         * WebCore.xcodeproj/project.pbxproj: Ditto.
369
370         * platform/MediaSample.h:
371         (WebCore::MediaSample::videoPixelFormat const):
372
373         * platform/graphics/RemoteVideoSample.cpp: Added.
374         (WebCore::RemoteVideoSample::~RemoteVideoSample):
375         (WebCore::RemoteVideoSample::create):
376         (WebCore::RemoteVideoSample::RemoteVideoSample):
377         (WebCore::RemoteVideoSample::surface):
378         * platform/graphics/RemoteVideoSample.h: Added.
379         (WebCore::RemoteVideoSample::time const):
380         (WebCore::RemoteVideoSample::videoFormat const):
381         (WebCore::RemoteVideoSample::size const):
382         (WebCore::RemoteVideoSample::encode const):
383         (WebCore::RemoteVideoSample::decode):
384         * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
385         * platform/graphics/cv/ImageTransferSessionVT.h:
386
387         * platform/mediastream/RealtimeMediaSource.cpp:
388         (WebCore::RealtimeMediaSource::remoteVideoSampleAvailable): Call observers.
389         * platform/mediastream/RealtimeMediaSource.h:
390
391         * platform/mediastream/RealtimeVideoSource.cpp:
392         (WebCore::RealtimeVideoSource::dispatchMediaSampleToObservers): Dispatch remote samples without
393         resizing, resize local samples if necessary.
394         * platform/mediastream/RealtimeVideoSource.h:
395
396         * platform/mediastream/mac/AVVideoCaptureSource.mm:
397         (WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Don't resize
398         samples, it will be done in the base class if necessary.
399
400         * platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
401         (WebCore::DisplayCaptureSourceCocoa::emitFrame): Don't resize samples when running in the UI
402         process, it will be done in the web process.
403
404         * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp: Remove unneeded include.
405
406 2018-10-18  Jer Noble  <jer.noble@apple.com>
407
408         Safari is not able to adapt between H264 streams with EditList and without EditList
409         https://bugs.webkit.org/show_bug.cgi?id=190638
410         <rdar://problem/45342208>
411
412         Reviewed by Eric Carlson.
413
414         Test: media/media-source/media-source-append-overlapping-dts.html
415
416         The MSE frame replacement algorithm does not take decode timestamps into account; this can
417         lead to situations where the replacement algorithm may leave in place frames where the 
418         presentationTimestamp is less than the replacement frame, but whose decodeTimestamp is
419         after the replacement frame. When re-enqueuing these frames, they may cause a decode error
420         if they break the group-of-pictures sequence of the replaced range.
421
422         * Modules/mediasource/SampleMap.cpp:
423         (WebCore::DecodeOrderSampleMap::findSamplesBetweenDecodeKeys):
424         * Modules/mediasource/SampleMap.h:
425         * Modules/mediasource/SourceBuffer.cpp:
426         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
427
428 2018-10-18  Per Arne Vollan  <pvollan@apple.com>
429
430         [WebVTT] Region parameter and value should be separated by ':'
431         https://bugs.webkit.org/show_bug.cgi?id=190735
432
433         Reviewed by Eric Carlson.
434
435         This is specified in https://w3c.github.io/webvtt/#region-settings.
436
437         No new tests. Modified existing tests.
438
439         * html/track/VTTRegion.cpp:
440         (WebCore::VTTRegion::setRegionSettings):
441
442 2018-10-18  Jer Noble  <jer.noble@apple.com>
443
444         Add support for MediaKeyEncryptionScheme
445         https://bugs.webkit.org/show_bug.cgi?id=190173
446
447         Reviewed by Eric Carlson.
448
449         Added sub-tests to: media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html
450
451         Add support for the MediaKeyEncryptionScheme extension to EME, as detailed here:
452         <https://github.com/WICG/encrypted-media-encryption-scheme/blob/master/explainer.md>
453
454         As the strings "cenc" and "cbcs" are explicitly lower-case, add support to the bindings generator to keep
455         those strings as lower-case when converting from IDL.
456
457         * CMakeLists.txt:
458         * DerivedSources.make:
459         * Modules/encryptedmedia/MediaKeyEncryptionScheme.h:
460         * Modules/encryptedmedia/MediaKeyEncryptionScheme.idl:
461         * Modules/encryptedmedia/MediaKeySystemMediaCapability.h:
462         * Modules/encryptedmedia/MediaKeySystemMediaCapability.idl:
463         * Sources.txt:
464         * WebCore.xcodeproj/project.pbxproj:
465         * bindings/scripts/CodeGenerator.pm:
466         (WK_ucfirst):
467         * platform/encryptedmedia/CDMEncryptionScheme.h: Copied from Source/WebCore/testing/MockCDMFactory.idl.
468         * platform/encryptedmedia/CDMMediaCapability.h:
469         * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
470         (WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):
471         * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
472         * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
473         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::supportsMediaCapability):
474         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::initializeWithConfiguration):
475         * testing/MockCDMFactory.cpp:
476         (WebCore::m_supportedEncryptionSchemes):
477         (WebCore::MockCDM::supportsConfiguration const):
478         * testing/MockCDMFactory.h:
479         (WebCore::MockCDMFactory::supportedEncryptionSchemes const):
480         (WebCore::MockCDMFactory::setSupportedEncryptionSchemes):
481         * testing/MockCDMFactory.idl:
482
483 2018-10-18  Alexey Proskuryakov  <ap@apple.com>
484
485         Switch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY)
486         https://bugs.webkit.org/show_bug.cgi?id=190729
487
488         Reviewed by Tim Horton.
489
490         * DerivedSources.make:
491         * Modules/applepay/cocoa/PaymentContactCocoa.mm:
492         (WebCore::subLocality):
493         (WebCore::setSubLocality):
494         (WebCore::subAdministrativeArea):
495         (WebCore::setSubAdministrativeArea):
496         * Modules/encryptedmedia/legacy/LegacyCDMPrivateMediaPlayer.cpp:
497         * Modules/geolocation/Geolocation.cpp:
498         (WebCore::isRequestFromIBooks):
499         * Modules/geolocation/GeolocationPosition.h:
500         * Modules/geolocation/NavigatorGeolocation.cpp:
501         * Modules/geolocation/NavigatorGeolocation.h:
502         * Modules/geolocation/ios/GeolocationPositionIOS.mm:
503         * Modules/mediasession/WebMediaSessionManager.cpp:
504         * Modules/mediasession/WebMediaSessionManager.h:
505         * Modules/mediastream/MediaDevicesRequest.cpp:
506         (WebCore::MediaDevicesRequest::filterDeviceList):
507         * Modules/plugins/QuickTimePluginReplacement.mm:
508         (WebCore::JSQuickTimePluginReplacement::timedMetaData const):
509         (WebCore::JSQuickTimePluginReplacement::accessLog const):
510         (WebCore::JSQuickTimePluginReplacement::errorLog const):
511         * Modules/speech/SpeechSynthesis.cpp:
512         (WebCore::SpeechSynthesis::SpeechSynthesis):
513         (WebCore::SpeechSynthesis::speak):
514         * Modules/speech/SpeechSynthesis.h:
515         * Modules/webaudio/AudioContext.cpp:
516         * Modules/webaudio/AudioScheduledSourceNode.cpp:
517         * Modules/webdatabase/Database.cpp:
518         (WebCore::Database::performOpenAndVerify):
519         * Modules/webdatabase/DatabaseContext.h:
520         * Modules/webdatabase/DatabaseManagerClient.h:
521         * Modules/webdatabase/DatabaseTracker.cpp:
522         (WebCore::DatabaseTracker::deleteDatabaseFile):
523         * Modules/webdatabase/DatabaseTracker.h:
524         * WebCorePrefix.h:
525         * accessibility/AXObjectCache.cpp:
526         (WebCore::createFromRenderer):
527         * accessibility/AccessibilityMediaObject.cpp:
528         * accessibility/AccessibilityMediaObject.h:
529         * accessibility/AccessibilityMenuList.cpp:
530         (WebCore::AccessibilityMenuList::press):
531         (WebCore::AccessibilityMenuList::isCollapsed const):
532         * accessibility/AccessibilityObject.cpp:
533         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
534         (WebCore::AccessibilityObject::press):
535         (WebCore::AccessibilityObject::actionVerb const):
536         * accessibility/AccessibilityObject.h:
537         * accessibility/AccessibilityRenderObject.cpp:
538         (WebCore::AccessibilityRenderObject::stringValue const):
539         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
540         (WebCore::AccessibilityRenderObject::actionVerb const):
541         * accessibility/AccessibilityTableColumn.cpp:
542         (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const):
543         * accessibility/AccessibilityTableHeaderContainer.cpp:
544         (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const):
545         * accessibility/ios/AXObjectCacheIOS.mm:
546         * accessibility/ios/AccessibilityObjectIOS.mm:
547         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
548         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
549         * bindings/js/CommonVM.cpp:
550         (WebCore::commonVMSlow):
551         * bindings/js/JSCallbackData.h:
552         (WebCore::JSCallbackData::~JSCallbackData):
553         * bindings/js/JSDOMWindowBase.cpp:
554         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
555         * bindings/js/ScriptController.cpp:
556         (WebCore::ScriptController::initializeThreading):
557         * bridge/objc/objc_class.mm:
558         (JSC::Bindings::ObjcClass::fieldNamed const):
559         * crypto/CommonCryptoUtilities.h:
560         * crypto/mac/CryptoKeyRSAMac.cpp:
561         * crypto/mac/SerializedCryptoKeyWrapMac.mm:
562         (WebCore::masterKeyAccountNameForCurrentApplication):
563         (WebCore::createAndStoreMasterKey):
564         * css/CSSComputedStyleDeclaration.cpp:
565         (WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
566         * css/CSSProperties.json:
567         * css/CSSStyleDeclaration.cpp:
568         * css/CSSValueKeywords.in:
569         * css/MediaQueryEvaluator.cpp:
570         (WebCore::prefersReducedMotionEvaluate):
571         * css/StyleBuilderConverter.h:
572         * css/html.css:
573         (video):
574         (input, textarea, keygen, select, button):
575         (#if defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY):
576         (#if defined(ENABLE_INPUT_TYPE_DATE) && ENABLE_INPUT_TYPE_DATE):
577         (#endif):
578         (#if defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT):
579         (textarea):
580         (input:matches([type="radio"], [type="checkbox"])):
581         (input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
582         (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
583         (#if !(defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY)):
584         (input[type="checkbox"]):
585         (#endif // defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR):
586         (#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS): Deleted.
587         (#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)): Deleted.
588         * css/parser/CSSParserContext.cpp:
589         (WebCore::CSSParserContext::CSSParserContext):
590         * css/parser/CSSParserFastPaths.cpp:
591         (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
592         (WebCore::CSSParserFastPaths::isKeywordPropertyID):
593         * css/parser/CSSPropertyParser.cpp:
594         (WebCore::cssPropertyID):
595         (WebCore::CSSPropertyParser::parseSingleValue):
596         * css/parser/CSSPropertyParser.h:
597         * css/svg.css:
598         (#if defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY):
599         (#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS): Deleted.
600         * dom/DeviceMotionController.cpp:
601         * dom/DeviceMotionController.h:
602         * dom/DeviceOrientationController.cpp:
603         (WebCore::DeviceOrientationController::DeviceOrientationController):
604         * dom/DeviceOrientationController.h:
605         * dom/DeviceOrientationData.cpp:
606         * dom/DeviceOrientationData.h:
607         * dom/DeviceOrientationEvent.cpp:
608         * dom/DeviceOrientationEvent.h:
609         * dom/DeviceOrientationEvent.idl:
610         * dom/Document.cpp:
611         (WebCore::Document::~Document):
612         (WebCore::Document::suspendDeviceMotionAndOrientationUpdates):
613         (WebCore::Document::resumeDeviceMotionAndOrientationUpdates):
614         (WebCore::Document::platformSuspendOrStopActiveDOMObjects):
615         * dom/Document.h:
616         * dom/DocumentMarker.h:
617         (WebCore::DocumentMarker::allMarkers):
618         * dom/DocumentMarkerController.cpp:
619         (WebCore::shouldInsertAsSeparateMarker):
620         (WebCore::DocumentMarkerController::shiftMarkers):
621         * dom/DocumentMarkerController.h:
622         * dom/Element.cpp:
623         (WebCore::Element::focus):
624         * dom/Node.cpp:
625         (WebCore::Node::~Node):
626         (WebCore::Node::willBeDeletedFrom):
627         (WebCore::Node::moveNodeToNewDocument):
628         (WebCore::tryAddEventListener):
629         (WebCore::tryRemoveEventListener):
630         (WebCore::Node::defaultEventHandler):
631         (WebCore::Node::willRespondToMouseMoveEvents):
632         (WebCore::Node::willRespondToMouseClickEvents):
633         * dom/Range.cpp:
634         * dom/Range.h:
635         * dom/TreeScope.cpp:
636         (WebCore::absolutePointIfNotClipped):
637         * dom/ViewportArguments.cpp:
638         (WebCore::setViewportFeature):
639         * dom/ViewportArguments.h:
640         * editing/CompositeEditCommand.cpp:
641         (WebCore::EditCommandComposition::unapply):
642         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
643         (WebCore::CompositeEditCommand::moveParagraphs):
644         * editing/Editor.cpp:
645         (WebCore::TemporarySelectionChange::TemporarySelectionChange):
646         (WebCore::TemporarySelectionChange::~TemporarySelectionChange):
647         (WebCore::Editor::handleTextEvent):
648         (WebCore::Editor::Editor):
649         (WebCore::Editor::clear):
650         (WebCore::Editor::insertTextWithoutSendingTextEvent):
651         (WebCore::Editor::setBaseWritingDirection):
652         (WebCore::Editor::setComposition):
653         (WebCore::Editor::showSpellingGuessPanel):
654         (WebCore::Editor::markMisspellingsAfterTypingToWord):
655         (WebCore::Editor::markMisspellingsOrBadGrammar):
656         (WebCore::Editor::changeBackToReplacedString):
657         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
658         (WebCore::Editor::revealSelectionAfterEditingOperation):
659         (WebCore::Editor::setIgnoreSelectionChanges):
660         (WebCore::Editor::changeSelectionAfterCommand):
661         (WebCore::Editor::shouldChangeSelection const):
662         (WebCore::Editor::respondToChangedSelection):
663         (WebCore::Editor::editorUIUpdateTimerFired):
664         (WebCore::Editor::resolveTextCheckingTypeMask):
665         * editing/Editor.h:
666         * editing/FontAttributes.h:
667         * editing/FrameSelection.cpp:
668         (WebCore::FrameSelection::FrameSelection):
669         (WebCore::FrameSelection::updateDataDetectorsForSelection):
670         (WebCore::FrameSelection::setSelectedRange):
671         (WebCore::FrameSelection::updateAppearance):
672         (WebCore::FrameSelection::shouldDeleteSelection const):
673         (WebCore::FrameSelection::revealSelection):
674         (WebCore::FrameSelection::setSelectionFromNone):
675         (WebCore::FrameSelection::shouldChangeSelection const):
676         * editing/FrameSelection.h:
677         * editing/InsertIntoTextNodeCommand.cpp:
678         * editing/InsertIntoTextNodeCommand.h:
679         * editing/TypingCommand.cpp:
680         (WebCore::TypingCommand::markMisspellingsAfterTyping):
681         (WebCore::TypingCommand::deleteKeyPressed):
682         (WebCore::TypingCommand::forwardDeleteKeyPressed):
683         * editing/TypingCommand.h:
684         * editing/cocoa/DataDetection.h:
685         * editing/cocoa/DataDetection.mm:
686         * editing/cocoa/FontAttributesCocoa.mm:
687         * editing/cocoa/FontShadowCocoa.mm:
688         (WebCore::FontShadow::createShadow const):
689         * editing/cocoa/HTMLConverter.h:
690         * editing/cocoa/HTMLConverter.mm:
691         (_fontForNameAndSize):
692         (_shadowForShadowStyle):
693         (HTMLConverter::computedAttributesForElement):
694         (HTMLConverter::_addAttachmentForElement):
695         (HTMLConverter::_processMetaElementWithName):
696         (HTMLConverter::_processElement):
697         * editing/cocoa/WebContentReaderCocoa.mm:
698         (WebCore::attributesForAttributedStringConversion):
699         (WebCore::WebContentReader::readURL):
700         * editing/ios/DictationCommandIOS.cpp:
701         * editing/ios/DictationCommandIOS.h:
702         * editing/ios/EditorIOS.mm:
703         * editing/mac/FrameSelectionMac.mm:
704         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
705         * fileapi/FileCocoa.mm:
706         * history/CachedFrame.cpp:
707         (WebCore::CachedFrameBase::restore):
708         (WebCore::CachedFrame::CachedFrame):
709         * history/CachedPage.cpp:
710         (WebCore::CachedPage::restore):
711         * history/HistoryItem.cpp:
712         (WebCore::HistoryItem::HistoryItem):
713         * history/HistoryItem.h:
714         * history/PageCache.cpp:
715         (WebCore::canCachePage):
716         * html/BaseDateAndTimeInputType.cpp:
717         * html/BaseDateAndTimeInputType.h:
718         * html/ColorInputType.cpp:
719         (WebCore::ColorInputType::isKeyboardFocusable const):
720         * html/HTMLAppletElement.cpp:
721         (WebCore::HTMLAppletElement::updateWidget):
722         * html/HTMLAttachmentElement.h:
723         * html/HTMLCanvasElement.cpp:
724         (WebCore::maxActivePixelMemory):
725         * html/HTMLElement.cpp:
726         (WebCore::HTMLElement::collectStyleForPresentationAttribute):
727         * html/HTMLIFrameElement.h:
728         * html/HTMLImageElement.cpp:
729         * html/HTMLImageElement.h:
730         * html/HTMLInputElement.cpp:
731         * html/HTMLInputElement.h:
732         * html/HTMLMediaElement.cpp:
733         (WebCore::HTMLMediaElement::finishInitialization):
734         (WebCore::HTMLMediaElement::registerWithDocument):
735         (WebCore::HTMLMediaElement::unregisterWithDocument):
736         (WebCore::HTMLMediaElement::setVolume):
737         (WebCore::HTMLMediaElement::nextScanRate):
738         (WebCore::HTMLMediaElement::sourceWasAdded):
739         (WebCore::HTMLMediaElement::mediaEngineWasUpdated):
740         (WebCore::HTMLMediaElement::updateVolume):
741         (WebCore::HTMLMediaElement::userCancelledLoad):
742         (WebCore::HTMLMediaElement::mediaSessionTitle const):
743         (WebCore::HTMLMediaElement::purgeBufferedDataIfPossible):
744         * html/HTMLMediaElement.h:
745         * html/HTMLMetaElement.cpp:
746         (WebCore::HTMLMetaElement::process):
747         * html/HTMLObjectElement.cpp:
748         * html/HTMLPlugInElement.h:
749         * html/HTMLSelectElement.cpp:
750         (WebCore::HTMLSelectElement::usesMenuList const):
751         (WebCore::HTMLSelectElement::createElementRenderer):
752         (WebCore::HTMLSelectElement::childShouldCreateRenderer const):
753         (WebCore::HTMLSelectElement::willRespondToMouseClickEvents):
754         (WebCore::HTMLSelectElement::updateListBoxSelection):
755         (WebCore::HTMLSelectElement::scrollToSelection):
756         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
757         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
758         (WebCore::HTMLSelectElement::defaultEventHandler):
759         * html/HTMLTextAreaElement.cpp:
760         (WebCore::HTMLTextAreaElement::createInnerTextStyle):
761         * html/HTMLTextFormControlElement.cpp:
762         (WebCore::HTMLTextFormControlElement::select):
763         (WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
764         * html/HTMLTextFormControlElement.h:
765         * html/HTMLVideoElement.cpp:
766         (WebCore::HTMLVideoElement::parseAttribute):
767         (WebCore::HTMLVideoElement::supportsFullscreen const):
768         * html/HTMLVideoElement.h:
769         * html/ImageDocument.cpp:
770         (WebCore::ImageDocument::ImageDocument):
771         (WebCore::ImageDocument::createDocumentStructure):
772         (WebCore::ImageDocument::imageUpdated):
773         * html/ImageDocument.h:
774         * html/InputType.cpp:
775         * html/InputType.h:
776         * html/MediaDocument.cpp:
777         (WebCore::MediaDocumentParser::createDocumentStructure):
778         * html/MediaElementSession.cpp:
779         (WebCore::MediaElementSession::clientDataBufferingTimerFired):
780         (WebCore::MediaElementSession::showPlaybackTargetPicker):
781         (WebCore::MediaElementSession::wirelessVideoPlaybackDisabled const):
782         (WebCore::MediaElementSession::setHasPlaybackTargetAvailabilityListeners):
783         (WebCore::MediaElementSession::isPlayingToWirelessPlaybackTarget const):
784         (WebCore::MediaElementSession::requiresFullscreenForVideoPlayback const):
785         * html/MediaElementSession.h:
786         * html/PluginDocument.cpp:
787         (WebCore::PluginDocumentParser::createDocumentStructure):
788         * html/RangeInputType.cpp:
789         (WebCore::RangeInputType::handleTouchEvent):
790         * html/RangeInputType.h:
791         * html/SearchInputType.cpp:
792         (WebCore::SearchInputType::addSearchResult):
793         * html/TextFieldInputType.cpp:
794         (WebCore::TextFieldInputType::isKeyboardFocusable const):
795         (WebCore::TextFieldInputType::handleFocusEvent):
796         (WebCore::TextFieldInputType::handleBlurEvent):
797         (WebCore::TextFieldInputType::didSetValueByUserEdit):
798         (WebCore::TextFieldInputType::listAttributeTargetChanged):
799         * html/parser/HTMLParserScheduler.h:
800         (WebCore::HTMLParserScheduler::shouldYieldBeforeToken):
801         * html/parser/HTMLTreeBuilder.cpp:
802         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
803         * html/parser/HTMLTreeBuilder.h:
804         * html/shadow/MediaControlElements.cpp:
805         * html/shadow/MediaControlElements.h:
806         * html/shadow/MediaControls.h:
807         * html/shadow/SliderThumbElement.cpp:
808         (WebCore::SliderThumbElement::dragFrom):
809         * html/shadow/SliderThumbElement.h:
810         * html/shadow/TextControlInnerElements.cpp:
811         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
812         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
813         * html/shadow/TextControlInnerElements.h:
814         * inspector/InspectorController.cpp:
815         (WebCore::InspectorController::setIndicating):
816         * inspector/InspectorFrontendHost.cpp:
817         (WebCore::InspectorFrontendHost::platform):
818         * inspector/PageScriptDebugServer.cpp:
819         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
820         * inspector/agents/InspectorTimelineAgent.cpp:
821         (WebCore::currentRunLoop):
822         * loader/DocumentLoader.cpp:
823         * loader/DocumentLoader.h:
824         * loader/DocumentThreadableLoader.cpp:
825         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
826         * loader/DocumentWriter.cpp:
827         (WebCore::DocumentWriter::createDocument):
828         * loader/EmptyClients.cpp:
829         * loader/EmptyClients.h:
830         * loader/EmptyFrameLoaderClient.h:
831         * loader/FrameLoader.cpp:
832         (WebCore::FrameLoader::checkCompleted):
833         (WebCore::FrameLoader::willLoadMediaElementURL):
834         (WebCore::FrameLoader::stopForUserCancel):
835         (WebCore::FrameLoader::commitProvisionalLoad):
836         (WebCore::FrameLoader::didFirstLayout):
837         (WebCore::createWindow):
838         * loader/FrameLoader.h:
839         * loader/FrameLoaderClient.h:
840         * loader/HistoryController.cpp:
841         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
842         (WebCore::HistoryController::restoreScrollPositionAndViewState):
843         * loader/ResourceLoader.cpp:
844         (WebCore::ResourceLoader::init):
845         (WebCore::ResourceLoader::willSendRequestInternal):
846         * loader/ResourceLoader.h:
847         * loader/SubframeLoader.cpp:
848         (WebCore::SubframeLoader::loadPlugin):
849         * loader/SubresourceLoader.cpp:
850         (WebCore::SubresourceLoader::create):
851         (WebCore::SubresourceLoader::willCancel):
852         (WebCore::SubresourceLoader::notifyDone):
853         (WebCore::SubresourceLoader::releaseResources):
854         * loader/SubresourceLoader.h:
855         * loader/cache/CachedImage.cpp:
856         * page/CaptionUserPreferencesMediaAF.cpp:
857         (WebCore::userCaptionPreferencesChangedNotificationCallback):
858         * page/Chrome.cpp:
859         (WebCore::Chrome::createColorChooser):
860         (WebCore::Chrome::dispatchViewportPropertiesDidChange const):
861         (WebCore::Chrome::didReceiveDocType):
862         * page/Chrome.h:
863         * page/ChromeClient.h:
864         * page/DOMTimer.cpp:
865         (WebCore::DOMTimer::install):
866         (WebCore::DOMTimer::fired):
867         * page/DOMWindow.cpp:
868         (WebCore::DOMWindow::outerHeight const):
869         (WebCore::DOMWindow::outerWidth const):
870         (WebCore::DOMWindow::clearTimeout):
871         (WebCore::DOMWindow::addEventListener):
872         (WebCore::DOMWindow::resetAllGeolocationPermission):
873         (WebCore::DOMWindow::removeEventListener):
874         (WebCore::DOMWindow::removeAllEventListeners):
875         * page/DOMWindow.h:
876         * page/DeprecatedGlobalSettings.cpp:
877         (WebCore::DeprecatedGlobalSettings::globalConstRedeclarationShouldThrow):
878         * page/DeprecatedGlobalSettings.h:
879         * page/DragController.cpp:
880         * page/EditorClient.h:
881         * page/EventHandler.cpp:
882         (WebCore::EventHandler::handleMousePressEventSingleClick):
883         (WebCore::EventHandler::handleMouseReleaseEvent):
884         (WebCore::EventHandler::startPanScrolling):
885         (WebCore::EventHandler::handleMouseMoveEvent):
886         * page/EventHandler.h:
887         * page/Frame.cpp:
888         (WebCore::Frame::Frame):
889         (WebCore::Frame::willDetachPage):
890         * page/Frame.h:
891         * page/FrameView.cpp:
892         (WebCore::FrameView::FrameView):
893         (WebCore::FrameView::clear):
894         (WebCore::FrameView::effectiveFrameFlattening const):
895         (WebCore::FrameView::flushCompositingStateForThisFrame):
896         (WebCore::FrameView::scrollPositionRespectingCustomFixedPosition const):
897         (WebCore::FrameView::viewportConstrainedVisibleContentRect const):
898         (WebCore::FrameView::updateContentsSize):
899         (WebCore::FrameView::computeScrollability const):
900         (WebCore::FrameView::adjustTiledBackingCoverage):
901         (WebCore::FrameView::calculateExtendedBackgroundMode const):
902         (WebCore::FrameView::performPostLayoutTasks):
903         (WebCore::FrameView::sizeForResizeEvent const):
904         (WebCore::FrameView::sendResizeEventIfNeeded):
905         * page/FrameView.h:
906         * page/FrameViewLayoutContext.cpp:
907         (WebCore::FrameViewLayoutContext::layout):
908         * page/MemoryRelease.cpp:
909         (WebCore::releaseCriticalMemory):
910         (WebCore::releaseMemory):
911         * page/Navigator.cpp:
912         * page/Navigator.h:
913         * page/NavigatorBase.cpp:
914         * page/Page.cpp:
915         (WebCore::Page::setIsVisibleInternal):
916         (WebCore::Page::showPlaybackTargetPicker):
917         * page/Page.h:
918         * page/PerformanceMonitor.cpp:
919         (WebCore::PerformanceMonitor::measurePostLoadMemoryUsage):
920         * page/ResourceUsageOverlay.cpp:
921         (WebCore::ResourceUsageOverlay::initialize):
922         * page/SecurityOrigin.cpp:
923         (WebCore::SecurityOrigin::canDisplay const):
924         * page/SettingsBase.cpp:
925         * page/SettingsBase.h:
926         * page/SettingsDefaultValues.h:
927         (WebCore::editingBehaviorTypeForPlatform):
928         * page/TextIndicator.cpp:
929         (WebCore::TextIndicator::createWithRange):
930         (WebCore::initializeIndicator):
931         * page/ViewportConfiguration.cpp:
932         (WebCore::ViewportConfiguration::textDocumentParameters):
933         * page/cocoa/MemoryReleaseCocoa.mm:
934         (WebCore::platformReleaseMemory):
935         (WebCore::jettisonExpensiveObjectsOnTopLevelNavigation):
936         * page/cocoa/ResourceUsageOverlayCocoa.mm:
937         (WebCore::showText):
938         * page/cocoa/ResourceUsageThreadCocoa.mm:
939         (WebCore::vmPageSize):
940         * page/cocoa/SettingsBaseCocoa.mm:
941         * page/ios/EventHandlerIOS.mm:
942         * page/ios/FrameIOS.mm:
943         * page/mac/ChromeMac.mm:
944         * page/mac/PageMac.mm:
945         (WebCore::Page::platformInitialize):
946         * page/mac/WebCoreFrameView.h:
947         * page/scrolling/AsyncScrollingCoordinator.cpp:
948         (WebCore::AsyncScrollingCoordinator::reconcileScrollingState):
949         * page/scrolling/ScrollingTree.h:
950         * page/scrolling/ScrollingTreeScrollingNode.h:
951         * page/scrolling/ScrollingTreeScrollingNodeDelegate.cpp:
952         * page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
953         * page/scrolling/ios/ScrollingCoordinatorIOS.h:
954         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
955         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
956         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
957         * page/scrolling/ios/ScrollingTreeIOS.cpp:
958         * page/scrolling/ios/ScrollingTreeIOS.h:
959         * platform/ContentFilterUnblockHandler.h:
960         * platform/Cursor.cpp:
961         * platform/Cursor.h:
962         * platform/DragImage.cpp:
963         * platform/DragImage.h:
964         * platform/FileChooser.cpp:
965         * platform/FileChooser.h:
966         * platform/HostWindow.h:
967         * platform/LocalizedStrings.cpp:
968         * platform/LocalizedStrings.h:
969         * platform/LowPowerModeNotifier.cpp:
970         * platform/LowPowerModeNotifier.h:
971         * platform/MIMETypeRegistry.cpp:
972         (WebCore::initializeSupportedImageMIMETypes):
973         (WebCore::initializeSupportedNonImageMimeTypes):
974         (WebCore::initializeUnsupportedTextMIMETypes):
975         * platform/Pasteboard.h:
976         * platform/PasteboardStrategy.h:
977         * platform/PlatformKeyboardEvent.h:
978         * platform/PlatformPasteboard.h:
979         * platform/PlatformScreen.h:
980         * platform/RemoteCommandListener.cpp:
981         * platform/RuntimeApplicationChecks.h:
982         * platform/ScrollAnimator.cpp:
983         * platform/ScrollView.cpp:
984         (WebCore::ScrollView::contentsScrollPosition const):
985         (WebCore::ScrollView::setContentsScrollPosition):
986         (WebCore::ScrollView::visibleContentRectInternal const):
987         * platform/ScrollView.h:
988         * platform/ScrollableArea.cpp:
989         * platform/ScrollableArea.h:
990         * platform/Scrollbar.cpp:
991         * platform/Scrollbar.h:
992         * platform/ThreadTimers.cpp:
993         * platform/Timer.cpp:
994         (WebCore::shouldSuppressThreadSafetyCheck):
995         * platform/Timer.h:
996         (WebCore::TimerBase::isActive const):
997         * platform/ValidationBubble.h:
998         * platform/Widget.h:
999         * platform/audio/AudioHardwareListener.cpp:
1000         (WebCore::AudioHardwareListener::AudioHardwareListener):
1001         * platform/audio/PlatformMediaSession.h:
1002         * platform/audio/PlatformMediaSessionManager.h:
1003         * platform/audio/ios/AudioDestinationIOS.cpp:
1004         * platform/audio/ios/AudioDestinationIOS.h:
1005         * platform/audio/ios/AudioFileReaderIOS.cpp:
1006         * platform/audio/ios/AudioFileReaderIOS.h:
1007         * platform/audio/ios/AudioSessionIOS.mm:
1008         (WebCore::AudioSession::setCategory):
1009         (WebCore::AudioSession::routingContextUID const):
1010         * platform/audio/ios/MediaSessionManagerIOS.h:
1011         * platform/audio/ios/MediaSessionManagerIOS.mm:
1012         * platform/cf/MainThreadSharedTimerCF.cpp:
1013         (WebCore::setupPowerObserver):
1014         (WebCore::MainThreadSharedTimer::setFireInterval):
1015         * platform/cf/URLCF.cpp:
1016         * platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
1017         (WebCore::ContentFilterUnblockHandler::wrapWithDecisionHandler):
1018         (WebCore::ContentFilterUnblockHandler::needsUIProcess const):
1019         (WebCore::ContentFilterUnblockHandler::encode const):
1020         (WebCore::ContentFilterUnblockHandler::decode):
1021         (WebCore::ContentFilterUnblockHandler::canHandleRequest const):
1022         (WebCore::dispatchToMainThread):
1023         (WebCore::ContentFilterUnblockHandler::requestUnblockAsync const):
1024         * platform/cocoa/DataDetectorsCoreSoftLink.h:
1025         * platform/cocoa/DataDetectorsCoreSoftLink.mm:
1026         * platform/cocoa/KeyEventCocoa.mm:
1027         * platform/cocoa/LocalizedStringsCocoa.mm:
1028         (WebCore::localizedNSString):
1029         * platform/cocoa/NetworkExtensionContentFilter.mm:
1030         (WebCore::NetworkExtensionContentFilter::initialize):
1031         * platform/cocoa/ParentalControlsContentFilter.mm:
1032         (WebCore::ParentalControlsContentFilter::unblockHandler const):
1033         * platform/cocoa/PasteboardCocoa.mm:
1034         (WebCore::Pasteboard::fileContentState):
1035         * platform/cocoa/PlatformView.h:
1036         * platform/cocoa/PlaybackSessionInterface.h:
1037         * platform/cocoa/PlaybackSessionModel.h:
1038         * platform/cocoa/PlaybackSessionModelMediaElement.h:
1039         * platform/cocoa/PlaybackSessionModelMediaElement.mm:
1040         * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
1041         * platform/cocoa/SystemVersion.mm:
1042         (WebCore::createSystemMarketingVersion):
1043         * platform/cocoa/VideoFullscreenChangeObserver.h:
1044         * platform/cocoa/VideoFullscreenModel.h:
1045         * platform/cocoa/VideoFullscreenModelVideoElement.h:
1046         * platform/cocoa/VideoFullscreenModelVideoElement.mm:
1047         * platform/gamepad/cocoa/GameControllerGamepad.h:
1048         * platform/gamepad/cocoa/GameControllerGamepad.mm:
1049         * platform/gamepad/cocoa/GameControllerGamepadProvider.h:
1050         * platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
1051         * platform/graphics/BitmapImage.h:
1052         * platform/graphics/Color.h:
1053         * platform/graphics/ComplexTextController.cpp:
1054         * platform/graphics/DisplayRefreshMonitor.cpp:
1055         (WebCore::DisplayRefreshMonitor::createDefaultDisplayRefreshMonitor):
1056         * platform/graphics/FloatSize.h:
1057         * platform/graphics/Font.cpp:
1058         (WebCore::Font::Font):
1059         (WebCore::createAndFillGlyphPage):
1060         * platform/graphics/Font.h:
1061         * platform/graphics/FontCache.cpp:
1062         (WebCore::FontCache::getCachedFontPlatformData):
1063         (WebCore::FontCache::fontForPlatformData):
1064         (WebCore::FontCache::purgeInactiveFontData):
1065         (WebCore::FontCache::inactiveFontCount):
1066         * platform/graphics/FontCascade.cpp:
1067         (WebCore::FontCascade::FontCascade):
1068         * platform/graphics/FontCascadeFonts.h:
1069         * platform/graphics/FontDescription.h:
1070         * platform/graphics/FontPlatformData.h:
1071         (WebCore::FontPlatformData::isEmoji const):
1072         * platform/graphics/GraphicsContext.cpp:
1073         (WebCore::GraphicsContext::drawImage):
1074         * platform/graphics/GraphicsContext3D.h:
1075         * platform/graphics/GraphicsLayer.h:
1076         * platform/graphics/Icon.h:
1077         * platform/graphics/Image.cpp:
1078         (WebCore::Image::drawTiled):
1079         (WebCore::Image::computeIntrinsicDimensions):
1080         * platform/graphics/Image.h:
1081         * platform/graphics/IntPoint.h:
1082         * platform/graphics/IntRect.h:
1083         * platform/graphics/IntSize.h:
1084         * platform/graphics/MediaPlayer.cpp:
1085         (WebCore::MediaPlayer::isAvailable):
1086         (WebCore::MediaPlayer::volumeChanged):
1087         * platform/graphics/MediaPlayer.h:
1088         * platform/graphics/MediaPlayerPrivate.h:
1089         * platform/graphics/NamedImageGeneratedImage.cpp:
1090         (WebCore::NamedImageGeneratedImage::draw):
1091         * platform/graphics/StringTruncator.cpp:
1092         (WebCore::centerTruncateToBuffer):
1093         (WebCore::rightTruncateToBuffer):
1094         (WebCore::rightClipToWordBuffer):
1095         * platform/graphics/TextTrackRepresentation.cpp:
1096         * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
1097         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1098         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
1099         * platform/graphics/avfoundation/MediaPlaybackTargetMac.mm:
1100         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1101         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen const):
1102         (WebCore::MediaPlayerPrivateAVFoundation::rateChanged):
1103         * platform/graphics/avfoundation/WebMediaSessionManagerMac.cpp:
1104         * platform/graphics/avfoundation/WebMediaSessionManagerMac.h:
1105         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp:
1106         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h:
1107         * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
1108         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::supportsPersistentKeys):
1109         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h:
1110         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
1111         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
1112         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
1113         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1114         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1115         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
1116         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
1117         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
1118         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode):
1119         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVolume):
1120         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime const):
1121         (WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval const):
1122         (WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime const):
1123         (WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck const):
1124         (WebCore::MediaPlayerPrivateAVFoundationObjC::wouldTaintOrigin const):
1125         (WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless const):
1126         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType const):
1127         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName const):
1128         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback):
1129         (WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldDisableSleep):
1130         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
1131         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsPictureInPicture const):
1132         * platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
1133         * platform/graphics/ca/GraphicsLayerCA.cpp:
1134         (WebCore::GraphicsLayerCA::flushCompositingState):
1135         (WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect const):
1136         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1137         * platform/graphics/ca/GraphicsLayerCA.h:
1138         * platform/graphics/ca/PlatformCALayer.h:
1139         * platform/graphics/ca/TileController.cpp:
1140         (WebCore::TileController::~TileController):
1141         (WebCore::TileController::adjustTileCoverageRect const):
1142         * platform/graphics/ca/TileController.h:
1143         * platform/graphics/ca/TileGrid.cpp:
1144         (WebCore::TileGrid::startedNewCohort):
1145         (WebCore::TileGrid::platformCALayerPaintContents):
1146         * platform/graphics/ca/TileGrid.h:
1147         * platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp:
1148         (WebCore::currentRunLoop):
1149         * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
1150         (-[WebAnimationDelegate animationDidStart:]):
1151         (-[WebAnimationDelegate animationDidStop:finished:]):
1152         (WebCore::PlatformCALayerCocoa::setContentsScale):
1153         (WebCore::layerContentsFormat):
1154         (WebCore::PlatformCALayer::drawLayerContents):
1155         (WebCore::PlatformCALayerCocoa::backingStoreBytesPerPixel const):
1156         * platform/graphics/cg/GradientCG.cpp:
1157         (WebCore::Gradient::paint):
1158         * platform/graphics/cg/GraphicsContextCG.cpp:
1159         (WebCore::displayP3ColorSpaceRef):
1160         (WebCore::GraphicsContext::drawNativeImage):
1161         (WebCore::drawPatternCallback):
1162         (WebCore::GraphicsContext::drawPattern):
1163         (WebCore::GraphicsContext::drawLine):
1164         (WebCore::applyShadowOffsetWorkaroundIfNeeded):
1165         (WebCore::GraphicsContext::setURLForRect):
1166         * platform/graphics/cg/ImageBufferCG.cpp:
1167         (WebCore::jpegUTI):
1168         * platform/graphics/cg/ImageBufferDataCG.cpp:
1169         * platform/graphics/cg/ImageDecoderCG.cpp:
1170         (WebCore::ImageDecoderCG::createFrameImageAtIndex):
1171         * platform/graphics/cg/ImageSourceCGMac.mm:
1172         * platform/graphics/cg/PDFDocumentImage.cpp:
1173         * platform/graphics/cocoa/ColorCocoa.h:
1174         * platform/graphics/cocoa/ColorCocoa.mm:
1175         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1176         (WebCore::FontCache::similarFont):
1177         (WebCore::computeNecessarySynthesis):
1178         (WebCore::FontDatabase::fontForPostScriptName):
1179         (WebCore::variationCapabilitiesForFontDescriptor):
1180         (WebCore::lookupFallbackFont):
1181         (WebCore::FontCache::systemFallbackForCharacters):
1182         (WebCore::FontCache::lastResortFallbackFont):
1183         * platform/graphics/cocoa/FontCascadeCocoa.mm:
1184         (WebCore::FontCascade::drawGlyphs):
1185         (WebCore::FontCascade::fontForCombiningCharacterSequence const):
1186         * platform/graphics/cocoa/FontCocoa.mm:
1187         (WebCore::Font::platformInit):
1188         (WebCore::Font::variantCapsSupportsCharacterForSynthesis const):
1189         (WebCore::Font::determinePitch):
1190         * platform/graphics/cocoa/FontDescriptionCocoa.cpp:
1191         (WebCore::FontCascadeDescription::effectiveFamilyCount const):
1192         (WebCore::FontCascadeDescription::effectiveFamilyAt const):
1193         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1194         (WebCore::FontPlatformData::FontPlatformData):
1195         (WebCore::cascadeToLastResortAndVariationsFontDescriptor):
1196         * platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
1197         (WebCore::GraphicsContext3D::GraphicsContext3D):
1198         (WebCore::GraphicsContext3D::texImageIOSurface2D):
1199         * platform/graphics/cocoa/GraphicsContextCocoa.mm:
1200         * platform/graphics/cocoa/IOSurface.mm:
1201         (WebCore::optionsForBiplanarSurface):
1202         (WebCore::optionsFor32BitSurface):
1203         (WebCore::IOSurface::maximumSize):
1204         (WebCore::IOSurface::surfaceID const):
1205         * platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
1206         (WebCore::SystemFontDatabaseCoreText::cascadeList):
1207         * platform/graphics/cocoa/TextTrackRepresentationCocoa.h:
1208         * platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
1209         (-[WebCoreTextTrackRepresentationCocoaHelper observeValueForKeyPath:ofObject:change:context:]):
1210         * platform/graphics/cocoa/WebMetalLayer.h:
1211         * platform/graphics/cv/ImageTransferSessionVT.mm:
1212         (WebCore::cvPixelFormatOpenGLKey):
1213         (WebCore::ImageTransferSessionVT::ImageTransferSessionVT):
1214         * platform/graphics/cv/VideoTextureCopierCV.h:
1215         * platform/graphics/ios/DisplayRefreshMonitorIOS.h:
1216         * platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
1217         * platform/graphics/ios/FontAntialiasingStateSaver.h:
1218         (WebCore::FontAntialiasingStateSaver::FontAntialiasingStateSaver):
1219         (WebCore::FontAntialiasingStateSaver::setup):
1220         (WebCore::FontAntialiasingStateSaver::restore):
1221         * platform/graphics/ios/FontCacheIOS.mm:
1222         * platform/graphics/ios/IconIOS.mm:
1223         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1224         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
1225         * platform/graphics/mac/FloatPointMac.mm:
1226         * platform/graphics/mac/FloatRectMac.mm:
1227         * platform/graphics/mac/FloatSizeMac.mm:
1228         * platform/graphics/mac/FontCustomPlatformData.cpp:
1229         (WebCore::createFontCustomPlatformData):
1230         * platform/graphics/mac/ImageMac.mm:
1231         * platform/graphics/mac/IntPointMac.mm:
1232         * platform/graphics/mac/IntRectMac.mm:
1233         * platform/graphics/mac/IntSizeMac.mm:
1234         * platform/graphics/mac/WebKitNSImageExtras.h:
1235         * platform/graphics/mac/WebKitNSImageExtras.mm:
1236         * platform/graphics/mac/WebLayer.mm:
1237         (-[WebSimpleLayer display]):
1238         (-[WebSimpleLayer drawInContext:]):
1239         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1240         (WebCore::Extensions3DOpenGL::supportsExtension):
1241         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1242         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1243         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1244         * platform/graphics/transforms/TransformationMatrix.cpp:
1245         (WebCore::TransformationMatrix::multiply):
1246         * platform/graphics/transforms/TransformationMatrix.h:
1247         * platform/ios/CursorIOS.cpp:
1248         * platform/ios/Device.cpp:
1249         * platform/ios/Device.h:
1250         * platform/ios/DeviceMotionClientIOS.h:
1251         * platform/ios/DeviceMotionClientIOS.mm:
1252         (WebCore::DeviceMotionClientIOS::motionChanged):
1253         * platform/ios/DeviceOrientationClientIOS.h:
1254         * platform/ios/DeviceOrientationClientIOS.mm:
1255         (WebCore::DeviceOrientationClientIOS::orientationChanged):
1256         * platform/ios/DragImageIOS.mm:
1257         * platform/ios/EventLoopIOS.mm:
1258         * platform/ios/KeyEventIOS.mm:
1259         * platform/ios/LegacyTileCache.h:
1260         * platform/ios/LegacyTileCache.mm:
1261         * platform/ios/LegacyTileGrid.h:
1262         * platform/ios/LegacyTileGrid.mm:
1263         * platform/ios/LegacyTileGridTile.h:
1264         * platform/ios/LegacyTileGridTile.mm:
1265         * platform/ios/LegacyTileLayer.h:
1266         * platform/ios/LegacyTileLayer.mm:
1267         * platform/ios/LegacyTileLayerPool.h:
1268         * platform/ios/LegacyTileLayerPool.mm:
1269         * platform/ios/LowPowerModeNotifierIOS.mm:
1270         * platform/ios/PasteboardIOS.mm:
1271         * platform/ios/PlatformEventFactoryIOS.h:
1272         * platform/ios/PlatformEventFactoryIOS.mm:
1273         * platform/ios/PlatformPasteboardIOS.mm:
1274         * platform/ios/PlatformScreenIOS.mm:
1275         * platform/ios/PlatformSpeechSynthesizerIOS.mm:
1276         * platform/ios/PlaybackSessionInterfaceAVKit.h:
1277         * platform/ios/PlaybackSessionInterfaceAVKit.mm:
1278         * platform/ios/RemoteCommandListenerIOS.h:
1279         * platform/ios/RemoteCommandListenerIOS.mm:
1280         * platform/ios/SSLKeyGeneratorIOS.cpp:
1281         * platform/ios/ScrollAnimatorIOS.h:
1282         * platform/ios/ScrollAnimatorIOS.mm:
1283         * platform/ios/ScrollViewIOS.mm:
1284         (WebCore::ScrollView::platformSetContentsSize):
1285         * platform/ios/ScrollbarThemeIOS.h:
1286         * platform/ios/ScrollbarThemeIOS.mm:
1287         * platform/ios/SystemMemoryIOS.cpp:
1288         (WebCore::systemMemoryLevel):
1289         * platform/ios/ThemeIOS.h:
1290         * platform/ios/ThemeIOS.mm:
1291         * platform/ios/TileControllerMemoryHandlerIOS.cpp:
1292         * platform/ios/TileControllerMemoryHandlerIOS.h:
1293         * platform/ios/UserAgentIOS.mm:
1294         (WebCore::deviceNameForUserAgent):
1295         * platform/ios/ValidationBubbleIOS.mm:
1296         * platform/ios/VideoFullscreenInterfaceAVKit.h:
1297         * platform/ios/VideoFullscreenInterfaceAVKit.mm:
1298         (WebCore::supportsPictureInPicture):
1299         * platform/ios/WebAVPlayerController.h:
1300         * platform/ios/WebAVPlayerController.mm:
1301         * platform/ios/WebBackgroundTaskController.h:
1302         * platform/ios/WebBackgroundTaskController.mm:
1303         * platform/ios/WebCoreMotionManager.h:
1304         * platform/ios/WebCoreMotionManager.mm:
1305         * platform/ios/WebEvent.h:
1306         * platform/ios/WebEvent.mm:
1307         * platform/ios/WebSQLiteDatabaseTrackerClient.h:
1308         * platform/ios/WebSQLiteDatabaseTrackerClient.mm:
1309         * platform/ios/WebVideoFullscreenControllerAVKit.h:
1310         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1311         (VideoFullscreenControllerContext::requestUpdateInlineRect):
1312         (VideoFullscreenControllerContext::requestVideoContentLayer):
1313         (VideoFullscreenControllerContext::returnVideoContentLayer):
1314         (VideoFullscreenControllerContext::didSetupFullscreen):
1315         (VideoFullscreenControllerContext::didExitFullscreen):
1316         * platform/ios/WidgetIOS.mm:
1317         * platform/ios/wak/FloatingPointEnvironment.cpp:
1318         * platform/ios/wak/FloatingPointEnvironment.h:
1319         * platform/ios/wak/WAKAppKitStubs.m:
1320         * platform/ios/wak/WAKClipView.m:
1321         * platform/ios/wak/WAKResponder.m:
1322         * platform/ios/wak/WAKScrollView.mm:
1323         * platform/ios/wak/WAKView.mm:
1324         * platform/ios/wak/WAKWindow.mm:
1325         * platform/ios/wak/WKContentObservation.cpp:
1326         * platform/ios/wak/WKGraphics.mm:
1327         * platform/ios/wak/WKUtilities.c:
1328         * platform/ios/wak/WKView.mm:
1329         * platform/ios/wak/WebCoreThread.mm:
1330         * platform/ios/wak/WebCoreThreadRun.cpp:
1331         * platform/ios/wak/WebCoreThreadSystemInterface.cpp:
1332         * platform/mac/DragDataMac.mm:
1333         (WebCore::rtfPasteboardType):
1334         (WebCore::rtfdPasteboardType):
1335         (WebCore::stringPasteboardType):
1336         (WebCore::urlPasteboardType):
1337         (WebCore::htmlPasteboardType):
1338         (WebCore::colorPasteboardType):
1339         (WebCore::pdfPasteboardType):
1340         (WebCore::tiffPasteboardType):
1341         (WebCore::DragData::containsURL const):
1342         * platform/mac/MediaRemoteSoftLink.cpp:
1343         * platform/mac/MediaRemoteSoftLink.h:
1344         * platform/mac/SuddenTermination.mm:
1345         * platform/mac/WebCoreFullScreenPlaceholderView.mm:
1346         * platform/mac/WebCoreFullScreenWarningView.h:
1347         * platform/mac/WebCoreFullScreenWarningView.mm:
1348         * platform/mac/WebCoreFullScreenWindow.h:
1349         * platform/mac/WebCoreFullScreenWindow.mm:
1350         * platform/mac/WebNSAttributedStringExtras.mm:
1351         * platform/mediastream/RealtimeMediaSourceFactory.h:
1352         * platform/mediastream/RealtimeVideoSource.cpp:
1353         (WebCore::RealtimeVideoSource::~RealtimeVideoSource):
1354         (WebCore::RealtimeVideoSource::prepareToProduceData):
1355         * platform/mediastream/ios/AVAudioSessionCaptureDevice.h:
1356         * platform/mediastream/ios/AVAudioSessionCaptureDevice.mm:
1357         * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
1358         * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
1359         * platform/mediastream/ios/CoreAudioCaptureSourceIOS.h:
1360         * platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:
1361         * platform/mediastream/libwebrtc/LibWebRTCMacros.h:
1362         * platform/mediastream/mac/AVCaptureDeviceManager.mm:
1363         (WebCore::deviceIsAvailable):
1364         * platform/mediastream/mac/AVMediaCaptureSource.mm:
1365         (WebCore::AVMediaCaptureSource::AVMediaCaptureSource):
1366         (WebCore::AVMediaCaptureSource::stopProducingData):
1367         (-[WebCoreAVMediaCaptureSourceObserver addNotificationObservers]):
1368         (-[WebCoreAVMediaCaptureSourceObserver removeNotificationObservers]):
1369         * platform/mediastream/mac/AVVideoCaptureSource.mm:
1370         (WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
1371         (WebCore::AVVideoCaptureSource::~AVVideoCaptureSource):
1372         (WebCore::AVVideoCaptureSource::stopProducingData):
1373         (WebCore::AVVideoCaptureSource::prefersPreset):
1374         (WebCore::sensorOrientation):
1375         (WebCore::AVVideoCaptureSource::setupCaptureSession):
1376         (WebCore::AVVideoCaptureSource::monitorOrientation):
1377         (-[WebCoreAVVideoCaptureSourceObserver addNotificationObservers]):
1378         (-[WebCoreAVVideoCaptureSourceObserver removeNotificationObservers]):
1379         * platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
1380         (WebCore::AudioTrackPrivateMediaStreamCocoa::createAudioUnit):
1381         * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
1382         (WebCore::CoreAudioSharedUnit::setupAudioUnit):
1383         (WebCore::CoreAudioCaptureSource::create):
1384         (WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):
1385         (WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
1386         (WebCore::CoreAudioCaptureSource::startProducingData):
1387         * platform/mediastream/mac/CoreAudioCaptureSource.h:
1388         * platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
1389         (WebCore::DisplayCaptureSourceCocoa::~DisplayCaptureSourceCocoa):
1390         (WebCore::DisplayCaptureSourceCocoa::startProducingData):
1391         * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
1392         (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool):
1393         * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
1394         * platform/mock/MediaPlaybackTargetMock.cpp:
1395         * platform/mock/MediaPlaybackTargetMock.h:
1396         * platform/mock/MediaPlaybackTargetPickerMock.cpp:
1397         * platform/mock/MediaPlaybackTargetPickerMock.h:
1398         * platform/mock/MockRealtimeAudioSource.cpp:
1399         (WebCore::MockRealtimeAudioSource::~MockRealtimeAudioSource):
1400         (WebCore::MockRealtimeAudioSource::startProducingData):
1401         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
1402         * platform/mock/MockRealtimeVideoSource.cpp:
1403         * platform/network/CredentialStorage.cpp:
1404         * platform/network/NetworkStateNotifier.h:
1405         * platform/network/ResourceHandle.cpp:
1406         (WebCore::builtinResourceHandleConstructorMap):
1407         * platform/network/ResourceHandle.h:
1408         * platform/network/ResourceHandleClient.h:
1409         * platform/network/ResourceRequestBase.cpp:
1410         * platform/network/ResourceRequestBase.h:
1411         * platform/network/cf/DNSResolveQueueCFNet.cpp:
1412         * platform/network/cf/ProxyServerCFNet.cpp:
1413         * platform/network/cf/ResourceHandleCFNet.cpp:
1414         (WebCore::ResourceHandle::createCFURLConnection):
1415         * platform/network/cf/ResourceRequest.h:
1416         (WebCore::ResourceRequest::resourcePrioritiesEnabled):
1417         * platform/network/cf/ResourceRequestCFNet.cpp:
1418         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1419         (WebCore::ResourceRequest::doUpdateResourceRequest):
1420         * platform/network/cf/SocketStreamHandleImplCFNet.cpp:
1421         (WebCore::callbacksRunLoop):
1422         (WebCore::copyCONNECTProxyResponse):
1423         * platform/network/cocoa/CookieCocoa.mm:
1424         (WebCore::Cookie::operator NSHTTPCookie * _Nullable  const):
1425         * platform/network/cocoa/NetworkStorageSessionCocoa.mm:
1426         (WebCore::cookiesForURL):
1427         (WebCore::setHTTPCookiesForURL):
1428         * platform/network/cocoa/ResourceRequestCocoa.mm:
1429         (WebCore::ResourceRequest::doUpdateResourceRequest):
1430         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1431         * platform/network/ios/NetworkStateNotifierIOS.mm:
1432         * platform/network/ios/WebCoreURLResponseIOS.h:
1433         * platform/network/ios/WebCoreURLResponseIOS.mm:
1434         * platform/network/mac/ResourceErrorMac.mm:
1435         * platform/network/mac/ResourceHandleMac.mm:
1436         (WebCore::ResourceHandle::createNSURLConnection):
1437         (WebCore::ResourceHandle::start):
1438         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1439         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1440         * platform/network/mac/UTIUtilities.mm:
1441         * platform/sql/SQLiteDatabase.h:
1442         (WebCore::SQLiteDatabase::sqlite3Handle const):
1443         * platform/sql/SQLiteFileSystem.cpp:
1444         * platform/sql/SQLiteFileSystem.h:
1445         * platform/sql/SQLiteTransaction.cpp:
1446         (WebCore::SQLiteTransaction::begin):
1447         (WebCore::SQLiteTransaction::commit):
1448         (WebCore::SQLiteTransaction::rollback):
1449         (WebCore::SQLiteTransaction::stop):
1450         * platform/text/PlatformLocale.cpp:
1451         * platform/text/PlatformLocale.h:
1452         * platform/text/ios/LocalizedDateCache.h:
1453         * platform/text/ios/LocalizedDateCache.mm:
1454         * platform/text/ios/TextEncodingRegistryIOS.mm:
1455         * platform/text/mac/LocaleMac.h:
1456         * platform/text/mac/LocaleMac.mm:
1457         * plugins/PluginViewBase.h:
1458         * rendering/InlineTextBox.cpp:
1459         (WebCore::InlineTextBox::paintPlatformDocumentMarker):
1460         (WebCore::InlineTextBox::resolveStyleForMarkedText):
1461         (WebCore::InlineTextBox::collectMarkedTextsForDocumentMarkers):
1462         * rendering/MarkedText.h:
1463         * rendering/RenderBlock.cpp:
1464         (WebCore::RenderBlock::paint):
1465         * rendering/RenderBox.cpp:
1466         (WebCore::RenderBox::paintBoxDecorations):
1467         (WebCore::allowMinMaxPercentagesInAutoHeightBlocksQuirk):
1468         * rendering/RenderBoxModelObject.cpp:
1469         (WebCore::RenderBoxModelObject::decodingModeForImageDraw const):
1470         * rendering/RenderButton.cpp:
1471         * rendering/RenderButton.h:
1472         * rendering/RenderElement.cpp:
1473         (WebCore::RenderElement::styleWillChange):
1474         (WebCore::RenderElement::styleDidChange):
1475         * rendering/RenderEmbeddedObject.cpp:
1476         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing const):
1477         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
1478         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription):
1479         * rendering/RenderFileUploadControl.cpp:
1480         (WebCore::RenderFileUploadControl::maxFilenameWidth const):
1481         (WebCore::RenderFileUploadControl::paintObject):
1482         * rendering/RenderFrameSet.cpp:
1483         (WebCore::RenderFrameSet::positionFrames):
1484         * rendering/RenderIFrame.h:
1485         * rendering/RenderImage.cpp:
1486         (WebCore::RenderImage::paintAreaElementFocusRing):
1487         * rendering/RenderImage.h:
1488         * rendering/RenderInline.cpp:
1489         * rendering/RenderInline.h:
1490         * rendering/RenderLayer.cpp:
1491         (WebCore::RenderLayer::RenderLayer):
1492         (WebCore::canCreateStackingContext):
1493         (WebCore::RenderLayer::canUseAcceleratedTouchScrolling const):
1494         (WebCore::RenderLayer::scrollTo):
1495         (WebCore::RenderLayer::scrollRectToVisible):
1496         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1497         (WebCore::RenderLayer::showsOverflowControls const):
1498         (WebCore::RenderLayer::calculateClipRects const):
1499         * rendering/RenderLayer.h:
1500         * rendering/RenderLayerBacking.cpp:
1501         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1502         (WebCore::RenderLayerBacking::shouldClipCompositedBounds const):
1503         (WebCore::RenderLayerBacking::updateConfiguration):
1504         (WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
1505         (WebCore::RenderLayerBacking::updateGeometry):
1506         (WebCore::RenderLayerBacking::paintsIntoWindow const):
1507         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1508         (WebCore::RenderLayerBacking::paintIntoLayer):
1509         * rendering/RenderLayerBacking.h:
1510         * rendering/RenderLayerCompositor.cpp:
1511         (WebCore::RenderLayerCompositor::visibleRectForLayerFlushing const):
1512         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1513         (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
1514         (WebCore::RenderLayerCompositor::didFlushChangesForLayer):
1515         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1516         (WebCore::RenderLayerCompositor::setIsInWindow):
1517         (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame const):
1518         (WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer const):
1519         (WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling const):
1520         (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles const):
1521         (WebCore::RenderLayerCompositor::ensureRootLayer):
1522         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints const):
1523         (WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
1524         (WebCore::RenderLayerCompositor::didAddScrollingLayer):
1525         * rendering/RenderLayerCompositor.h:
1526         * rendering/RenderLayerModelObject.cpp:
1527         (WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft const):
1528         * rendering/RenderLineBreak.cpp:
1529         * rendering/RenderLineBreak.h:
1530         * rendering/RenderMenuList.cpp:
1531         (WebCore::RenderMenuList::RenderMenuList):
1532         (WebCore::RenderMenuList::willBeDestroyed):
1533         (WebCore::RenderMenuList::adjustInnerStyle):
1534         (RenderMenuList::updateFromElement):
1535         (RenderMenuList::setTextFromOption):
1536         (RenderMenuList::hidePopup):
1537         (RenderMenuList::popupDidHide):
1538         * rendering/RenderMenuList.h:
1539         * rendering/RenderObject.cpp:
1540         (WebCore::RenderObject::shouldApplyCompositedContainerScrollsForRepaint):
1541         (WebCore::RenderObject::destroy):
1542         * rendering/RenderObject.h:
1543         * rendering/RenderSearchField.cpp:
1544         (WebCore::RenderSearchField::itemText const):
1545         * rendering/RenderText.cpp:
1546         (WebCore::RenderText::setRenderedText):
1547         * rendering/RenderText.h:
1548         * rendering/RenderTextControl.cpp:
1549         * rendering/RenderTextControl.h:
1550         * rendering/RenderTextControlMultiLine.cpp:
1551         (WebCore::RenderTextControlMultiLine::getAverageCharWidth):
1552         * rendering/RenderTextControlSingleLine.cpp:
1553         (WebCore::RenderTextControlSingleLine::layout):
1554         (WebCore::RenderTextControlSingleLine::getAverageCharWidth):
1555         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth const):
1556         * rendering/RenderTextLineBoxes.cpp:
1557         (WebCore::lineDirectionPointFitsInBox):
1558         (WebCore::RenderTextLineBoxes::positionForPoint const):
1559         * rendering/RenderTheme.cpp:
1560         (WebCore::RenderTheme::paintBorderOnly):
1561         * rendering/RenderThemeIOS.h:
1562         * rendering/RenderThemeIOS.mm:
1563         (WebCore::arKitBundle):
1564         * rendering/RenderView.cpp:
1565         (WebCore::RenderView::availableLogicalHeight const):
1566         (WebCore::RenderView::clientLogicalWidthForFixedPosition const):
1567         (WebCore::RenderView::clientLogicalHeightForFixedPosition const):
1568         (WebCore::RenderView::repaintViewRectangle const):
1569         * rendering/RenderWidget.cpp:
1570         (WebCore::RenderWidget::willBeDestroyed):
1571         * rendering/RootInlineBox.cpp:
1572         (WebCore::RootInlineBox::selectionTop const):
1573         (WebCore::RootInlineBox::selectionBottom const):
1574         * rendering/style/RenderStyle.h:
1575         * rendering/style/StyleRareInheritedData.cpp:
1576         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1577         (WebCore::StyleRareInheritedData::operator== const):
1578         * rendering/style/StyleRareInheritedData.h:
1579         * rendering/updating/RenderTreeUpdater.cpp:
1580         (WebCore::RenderTreeUpdater::updateElementRenderer):
1581         * style/StyleResolveForDocument.cpp:
1582         (WebCore::Style::resolveForDocument):
1583         * testing/Internals.cpp:
1584         (WebCore::Internals::getCurrentCursorInfo):
1585         (WebCore::Internals::isSelectPopupVisible):
1586         (WebCore::Internals::setQuickLookPassword):
1587         * testing/Internals.mm:
1588         (WebCore::Internals::userPrefersReducedMotion const):
1589         * testing/js/WebCoreTestSupportPrefix.h:
1590         * workers/WorkerThread.cpp:
1591         (WebCore::WorkerThread::workerThread):
1592
1593 2018-10-18  Per Arne Vollan  <pvollan@apple.com>
1594
1595         [WebVTT] The TextTrackLoader parameter in TextTrackLoaderClient virtual methods should be a reference
1596         https://bugs.webkit.org/show_bug.cgi?id=190730
1597
1598         Reviewed by Chris Dumez.
1599
1600         No new tests. No change in behavior.
1601
1602         * html/track/LoadableTextTrack.cpp:
1603         (WebCore::LoadableTextTrack::newCuesAvailable):
1604         (WebCore::LoadableTextTrack::cueLoadingCompleted):
1605         (WebCore::LoadableTextTrack::newRegionsAvailable):
1606         * html/track/LoadableTextTrack.h:
1607         * loader/TextTrackLoader.cpp:
1608         (WebCore::TextTrackLoader::cueLoadTimerFired):
1609         (WebCore::TextTrackLoader::newRegionsParsed):
1610         * loader/TextTrackLoader.h:
1611
1612 2018-10-18  Alex Christensen  <achristensen@webkit.org>
1613
1614         Clean up FrameLoader two-state enums
1615         https://bugs.webkit.org/show_bug.cgi?id=190731
1616
1617         Reviewed by Chris Dumez.
1618
1619         This patch does three things:
1620         1. Add an overload to EnumTraits so we do not need to list out the valid values of boolean enum classes.
1621         The valid values are always 0 and 1.  This is used when decoding from IPC.
1622         2. Add a 2-state enum class for NewLoadInProgress instad of a bool so we can understand the code better.
1623         3. Begin passing LockBackForwardList to the UIProcess.  We will need it soon for PSON.
1624
1625         * history/CachedFrame.h:
1626         * loader/EmptyFrameLoaderClient.h:
1627         * loader/FrameLoader.cpp:
1628         (WebCore::FrameLoader::provisionalLoadStarted):
1629         (WebCore::FrameLoader::loadWithDocumentLoader):
1630         (WebCore::FrameLoader::commitProvisionalLoad):
1631         (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
1632         (WebCore::FrameLoader::clientRedirected):
1633         (WebCore::FrameLoader::receivedMainResourceError):
1634         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1635         * loader/FrameLoader.h:
1636         * loader/FrameLoaderClient.h:
1637         * loader/FrameLoaderTypes.h:
1638         * loader/NavigationScheduler.cpp:
1639         (WebCore::ScheduledNavigation::didStopTimer):
1640         (WebCore::NavigationScheduler::cancel):
1641         * loader/NavigationScheduler.h:
1642         * platform/network/StoredCredentialsPolicy.h:
1643
1644 2018-10-18  Wenson Hsieh  <wenson_hsieh@apple.com>
1645
1646         [GTK] fast/css/pseudo-visited-background-color-on-input.html is failing since r237425
1647         https://bugs.webkit.org/show_bug.cgi?id=190712
1648
1649         Reviewed by Tim Horton.
1650
1651         Ensure that color inputs are enabled by default on GTK, and that color inputs have a `-webkit-appearance` of
1652         `color-well` by default. Fixes fast/css/pseudo-visited-background-color-on-input.html on GTK.
1653
1654         * page/RuntimeEnabledFeatures.cpp:
1655         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
1656         * rendering/RenderTheme.cpp:
1657         (WebCore::RenderTheme::colorInputStyleSheet const):
1658         * rendering/RenderTheme.h:
1659         (WebCore::RenderTheme::platformUsesColorWellAppearance const):
1660         (WebCore::RenderTheme::platformColorInputStyleSheet const): Deleted.
1661
1662         Replace this with a platform hook that determines whether we want to use `-webkit-appearance: color-well;` by
1663         default for inputs of type color. For now, only iOS overrides this to return false; in the future, we should
1664         support `-webkit-appearance: color-well;` on iOS, and remove this platform hook entirely.
1665
1666         * rendering/RenderThemeIOS.h:
1667         * rendering/RenderThemeMac.h:
1668         * rendering/RenderThemeMac.mm:
1669         (WebCore::RenderThemeMac::platformColorInputStyleSheet const): Deleted.
1670
1671 2018-10-18  Youenn Fablet  <youenn@apple.com>
1672
1673         Handle MDNS resolution of candidates through libwebrtc directly
1674         https://bugs.webkit.org/show_bug.cgi?id=190681
1675
1676         Reviewed by Eric Carlson.
1677
1678         Remove the previous MDNS resolution mechanism.
1679         Instead, add support for the AsyncResolver mechanism added to libwebrtc.
1680         Covered by current mdns webrtc test that is unflaked.
1681
1682         * Modules/mediastream/PeerConnectionBackend.cpp:
1683         (WebCore::PeerConnectionBackend::addIceCandidate):
1684         * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
1685         (WebCore::LibWebRTCProvider::createPeerConnection):
1686         * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
1687         * testing/MockLibWebRTCPeerConnection.cpp:
1688         (WebCore::MockLibWebRTCPeerConnectionFactory::CreatePeerConnection):
1689         * testing/MockLibWebRTCPeerConnection.h:
1690
1691 2018-10-18  Ali Juma  <ajuma@chromium.org>
1692
1693         [IntersectionObserver] Factor out rect mapping and clipping logic from computeRectForRepaint
1694         https://bugs.webkit.org/show_bug.cgi?id=189833
1695
1696         Reviewed by Simon Fraser.
1697
1698         Factor out the rect mapping and clipping logic from computeRectForRepaint to a new
1699         computeVisibleRectInContainer method that computeRectForRepaint now calls. Make
1700         computeVisibleRectInContainer take a VisibleRectContext with options to use
1701         edge-inclusive intersection and to apply all clips and scrolls rather than only
1702         the clips and scrolls that are currently applied by the repaint logic. These
1703         options will be used by IntersectionObserver in a future patch.
1704
1705         No new tests, no change in behavior.
1706
1707         * platform/graphics/FloatRect.cpp:
1708         (WebCore::FloatRect::edgeInclusiveIntersect):
1709         * platform/graphics/FloatRect.h:
1710         * platform/graphics/LayoutRect.cpp:
1711         (WebCore::LayoutRect::edgeInclusiveIntersect):
1712         * platform/graphics/LayoutRect.h:
1713         * rendering/RenderBox.cpp:
1714         (WebCore::RenderBox::applyCachedClipAndScrollPosition const):
1715         (WebCore::RenderBox::computeVisibleRectUsingPaintOffset const):
1716         (WebCore::RenderBox::computeVisibleRectInContainer const):
1717         (WebCore::RenderBox::applyCachedClipAndScrollPositionForRepaint const): Deleted.
1718         (WebCore::RenderBox::shouldApplyClipAndScrollPositionForRepaint const): Deleted.
1719         The iOS-specific logic in this method has moved to RenderObject::shouldApplyCompositedContainerScrollsForRepaint.
1720         (WebCore::RenderBox::computeRectForRepaint const): Deleted.
1721         * rendering/RenderBox.h:
1722         (WebCore::RenderBox::computeRectForRepaint): Deleted.
1723         * rendering/RenderInline.cpp:
1724         (WebCore::RenderInline::clippedOverflowRectForRepaint const):
1725         (WebCore::RenderInline::computeVisibleRectUsingPaintOffset const):
1726         (WebCore::RenderInline::computeVisibleRectInContainer const):
1727         (WebCore::RenderInline::computeRectForRepaint const): Deleted.
1728         * rendering/RenderInline.h:
1729         (WebCore::RenderInline::computeRectForRepaint): Deleted.
1730         * rendering/RenderObject.cpp:
1731         (WebCore::RenderObject::shouldApplyCompositedContainerScrollsForRepaint):
1732         (WebCore::RenderObject::visibleRectContextForRepaint):
1733         (WebCore::RenderObject::computeRectForRepaint const):
1734         (WebCore::RenderObject::computeFloatRectForRepaint const):
1735         (WebCore::RenderObject::computeVisibleRectInContainer const):
1736         (WebCore::RenderObject::computeFloatVisibleRectInContainer const):
1737         * rendering/RenderObject.h:
1738         (WebCore::RenderObject::computeAbsoluteRepaintRect const):
1739         (WebCore::RenderObject::VisibleRectContext::VisibleRectContext):
1740         (WebCore::RenderObject::RepaintContext::RepaintContext): Deleted.
1741         (WebCore::RenderObject::computeRectForRepaint): Deleted.
1742         * rendering/RenderTableCell.cpp:
1743         (WebCore::RenderTableCell::computeVisibleRectInContainer const):
1744         (WebCore::RenderTableCell::computeRectForRepaint const): Deleted.
1745         * rendering/RenderTableCell.h:
1746         * rendering/RenderView.cpp:
1747         (WebCore::RenderView::computeVisibleRectInContainer const):
1748         (WebCore::RenderView::computeRectForRepaint const): Deleted.
1749         * rendering/RenderView.h:
1750         * rendering/svg/RenderSVGForeignObject.cpp:
1751         (WebCore::RenderSVGForeignObject::computeFloatVisibleRectInContainer const):
1752         (WebCore::RenderSVGForeignObject::computeVisibleRectInContainer const):
1753         (WebCore::RenderSVGForeignObject::computeFloatRectForRepaint const): Deleted.
1754         (WebCore::RenderSVGForeignObject::computeRectForRepaint const): Deleted.
1755         * rendering/svg/RenderSVGForeignObject.h:
1756         * rendering/svg/RenderSVGInline.cpp:
1757         (WebCore::RenderSVGInline::computeFloatVisibleRectInContainer const):
1758         (WebCore::RenderSVGInline::computeFloatRectForRepaint const): Deleted.
1759         * rendering/svg/RenderSVGInline.h:
1760         * rendering/svg/RenderSVGModelObject.cpp:
1761         (WebCore::RenderSVGModelObject::computeFloatVisibleRectInContainer const):
1762         (WebCore::RenderSVGModelObject::computeFloatRectForRepaint const): Deleted.
1763         * rendering/svg/RenderSVGModelObject.h:
1764         * rendering/svg/RenderSVGRoot.cpp:
1765         (WebCore::RenderSVGRoot::computeFloatVisibleRectInContainer const):
1766         (WebCore::RenderSVGRoot::computeFloatRectForRepaint const): Deleted.
1767         * rendering/svg/RenderSVGRoot.h:
1768         * rendering/svg/RenderSVGText.cpp:
1769         (WebCore::RenderSVGText::computeVisibleRectInContainer const):
1770         (WebCore::RenderSVGText::computeFloatVisibleRectInContainer const):
1771         (WebCore::RenderSVGText::computeRectForRepaint const): Deleted.
1772         (WebCore::RenderSVGText::computeFloatRectForRepaint const): Deleted.
1773         * rendering/svg/RenderSVGText.h:
1774         * rendering/svg/SVGRenderSupport.cpp:
1775         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
1776         (WebCore::SVGRenderSupport::computeFloatVisibleRectInContainer):
1777         (WebCore::SVGRenderSupport::computeFloatRectForRepaint): Deleted.
1778         * rendering/svg/SVGRenderSupport.h:
1779
1780 2018-10-17  Wenson Hsieh  <wenson_hsieh@apple.com>
1781
1782         Enable the datalist element by default on iOS and macOS
1783         https://bugs.webkit.org/show_bug.cgi?id=190594
1784         <rdar://problem/45281159>
1785
1786         Reviewed by Ryosuke Niwa and Tim Horton.
1787
1788         Rebaselined existing layout tests.
1789
1790         * Configurations/FeatureDefines.xcconfig:
1791         * bindings/js/WebCoreBuiltinNames.h:
1792         * css/CSSDefaultStyleSheets.cpp:
1793         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
1794         * css/CSSDefaultStyleSheets.h:
1795         * css/InspectorCSSOMWrappers.cpp:
1796         (WebCore::InspectorCSSOMWrappers::collectDocumentWrappers):
1797         * css/html.css:
1798
1799         Remove color input and datalist style rules from the default UA stylesheet.
1800
1801         (input[type="color"]::-webkit-color-swatch-wrapper): Deleted.
1802         * html/HTMLDataListElement.idl:
1803
1804         Make HTMLDataListElement runtime-enabled.
1805
1806         * html/HTMLTagNames.in:
1807         * html/RangeInputType.cpp:
1808
1809         Make a slight adjustment here so that inputs of type range respect the list attribute. Fixes a few layout tests
1810         that add a datalist to an input of type range. See <https://bugs.webkit.org/show_bug.cgi?id=190613> for more
1811         details.
1812
1813         (WebCore::RangeInputType::shouldRespectListAttribute):
1814         * html/TextFieldInputType.cpp:
1815         (WebCore::TextFieldInputType::shouldRespectListAttribute):
1816         * page/RuntimeEnabledFeatures.h:
1817
1818         Add a runtime-enabled feature for the datalist element. Additionally, make the runtime-enabled feature for input
1819         type color false by default, so that it's off in WebKitLegacy.
1820
1821         (WebCore::RuntimeEnabledFeatures::dataListElementEnabled const):
1822         (WebCore::RuntimeEnabledFeatures::setDataListElementEnabled):
1823         * rendering/RenderTheme.cpp:
1824         (WebCore::RenderTheme::colorInputStyleSheet const):
1825
1826         Add new style-sheet hooks for datalist and input type color, so that style rules for color inputs and datalists
1827         can be added at runtime only if the feature is enabled. This ensures that in WebKitLegacy (or other ports where
1828         either or both elements are disabled), we don't still apply rules for datalist and input[type="color"]. Notably,
1829         this allows fallback content inside datalist elements to still work in WebKitLegacy (which would otherwise be
1830         hidden when using the default stylesheet since `display: none` is applied to datalist by default). This also
1831         prevents inputs of type color from having a smaller size, no outline, and the appearance of a color well on
1832         macOS.
1833
1834         (WebCore::RenderTheme::dataListStyleSheet const):
1835         * rendering/RenderTheme.h:
1836         (WebCore::RenderTheme::platformColorInputStyleSheet const):
1837         * rendering/RenderThemeMac.h:
1838         * rendering/RenderThemeMac.mm:
1839         (WebCore::RenderThemeMac::platformColorInputStyleSheet const):
1840
1841 2018-10-17  Justin Michaud  <justin_michaud@apple.com>
1842
1843         Parse paint() and store paint callbacks for CSS Painting API
1844         https://bugs.webkit.org/show_bug.cgi?id=190657
1845
1846         Reviewed by Dean Jackson.
1847
1848         Implement support for parsing paint() images in css, and store CSS paint callback objects in the paint definition map.
1849
1850         * Sources.txt:
1851         * WebCore.xcodeproj/project.pbxproj:
1852         * bindings/js/JSCSSPaintWorkletGlobalScopeCustom.cpp:
1853         (WebCore::JSCSSPaintWorkletGlobalScope::visitAdditionalChildren):
1854         (WebCore::JSCSSPaintWorkletGlobalScope::registerPaint):
1855         * css/CSSImageGeneratorValue.cpp:
1856         (WebCore::CSSImageGeneratorValue::image):
1857         (WebCore::CSSImageGeneratorValue::isFixedSize const):
1858         (WebCore::CSSImageGeneratorValue::fixedSize):
1859         (WebCore::CSSImageGeneratorValue::isPending const):
1860         (WebCore::CSSImageGeneratorValue::knownToBeOpaque const):
1861         (WebCore::CSSImageGeneratorValue::loadSubimages):
1862         * css/CSSPaintImageValue.cpp: Added.
1863         (WebCore::CSSPaintImageValue::customCSSText const):
1864         * css/CSSPaintImageValue.h: Added.
1865         * css/CSSPaintWorkletGlobalScope.h:
1866         * css/CSSPaintWorkletGlobalScope.idl:
1867         * css/CSSValue.cpp:
1868         (WebCore::CSSValue::equals const):
1869         (WebCore::CSSValue::cssText const):
1870         (WebCore::CSSValue::destroy):
1871         * css/CSSValue.h:
1872         (WebCore::CSSValue::isPaintImageValue const):
1873         * css/CSSValueKeywords.in:
1874         * css/parser/CSSPropertyParserHelpers.cpp:
1875         (WebCore::CSSPropertyParserHelpers::consumeCustomPaint):
1876         (WebCore::CSSPropertyParserHelpers::consumeGeneratedImage):
1877         (WebCore::CSSPropertyParserHelpers::isGeneratedImage):
1878         * platform/mediastream/mac/RealtimeVideoUtilities.h:
1879
1880 2018-10-17  Eric Carlson  <eric.carlson@apple.com>
1881
1882         [MediaStream] Consolidate all image conversion and resizing into one class
1883         https://bugs.webkit.org/show_bug.cgi?id=190519
1884         <rdar://problem/45224307>
1885
1886         Try to fix the iOSMac build after r237236.
1887
1888         * platform/graphics/cv/ImageTransferSessionVT.h:
1889         * platform/graphics/cv/ImageTransferSessionVT.mm:
1890
1891 2018-10-17  Justin Fan  <justin_fan@apple.com>
1892
1893         [WebGPU] Implement WebGPU bindings up through WebGPUDevice creation
1894         https://bugs.webkit.org/show_bug.cgi?id=190653
1895
1896         Reviewed by Dean Jackson.
1897
1898         Test: webgpu/webgpu-enabled.html
1899
1900         Add WebGPU Sketch bindings for window.webgpu, WebGPUAdapter, WebGPUAdapterDescriptor,
1901         and WebGPUDevice creation. Based off IDL commit version b6c61ee. 
1902         https://github.com/gpuweb/gpuweb/blob/master/design/sketch.webidl
1903
1904         * CMakeLists.txt:
1905         * DerivedSources.make:
1906         * Modules/webgpu/DOMWindowWebGPU.cpp: Added.
1907         (WebCore::DOMWindowWebGPU::DOMWindowWebGPU):
1908         (WebCore::DOMWindowWebGPU::supplementName):
1909         (WebCore::DOMWindowWebGPU::from):
1910         (WebCore::DOMWindowWebGPU::webgpu):
1911         (WebCore::DOMWindowWebGPU::webgpu const):
1912         * Modules/webgpu/DOMWindowWebGPU.h: Added.
1913         * Modules/webgpu/DOMWindowWebGPU.idl: Added.
1914         * Modules/webgpu/WebGPU.cpp: Added.
1915         (WebCore::WebGPU::create):
1916         (WebCore::WebGPU::requestAdapter const):
1917         * Modules/webgpu/WebGPU.h: Added.
1918         * Modules/webgpu/WebGPU.idl: Added.
1919         * Modules/webgpu/WebGPUAdapter.cpp: Added.
1920         (WebCore::WebGPUAdapter::create):
1921         (WebCore::WebGPUAdapter::WebGPUAdapter):
1922         (WebCore::WebGPUAdapter::createDevice):
1923         * Modules/webgpu/WebGPUAdapter.h: Added.
1924         * Modules/webgpu/WebGPUAdapter.idl: Added.
1925         * Modules/webgpu/WebGPUAdapterDescriptor.h: Added.
1926         * Modules/webgpu/WebGPUAdapterDescriptor.idl: Added.
1927         * Modules/webgpu/WebGPUDevice.cpp: Added.
1928         (WebCore::WebGPUDevice::create):
1929         (WebCore::WebGPUDevice::WebGPUDevice):
1930         * Modules/webgpu/WebGPUDevice.h: Added.
1931         (WebCore::WebGPUDevice::adapter const):
1932         * Modules/webgpu/WebGPUDevice.idl: Added.
1933         * Sources.txt:
1934         * WebCore.xcodeproj/project.pbxproj:
1935         * bindings/js/WebCoreBuiltinNames.h:
1936
1937 2018-10-17  Andy Estes  <aestes@apple.com>
1938
1939         [Apple Pay] Increment the API version to 5
1940         https://bugs.webkit.org/show_bug.cgi?id=190686
1941         <rdar://problem/45348523>
1942
1943         Reviewed by Simon Fraser.
1944
1945         Test: http/tests/ssl/applepay/ApplePaySessionV5.html
1946
1947         * testing/MockPaymentCoordinator.cpp:
1948         (WebCore::MockPaymentCoordinator::supportsVersion):
1949
1950 2018-10-17  Eric Carlson  <eric.carlson@apple.com>
1951
1952         [MediaStream] Consolidate all image conversion and resizing into one class
1953         https://bugs.webkit.org/show_bug.cgi?id=190519
1954         <rdar://problem/45224307>
1955
1956         Reviewed by Youenn Fablet.
1957
1958         No new tests, no functional change.
1959
1960         * SourcesCocoa.txt: Add ImageTransferSessionVT.
1961         * WebCore.xcodeproj/project.pbxproj: Ditto.
1962
1963         * platform/MediaSample.h:
1964         (WebCore::MediaSample::videoPixelFormat const): New.
1965
1966         * platform/cocoa/VideoToolboxSoftLink.cpp: Add new kVTPixelTransferProperty keys.
1967         * platform/cocoa/VideoToolboxSoftLink.h:
1968
1969         * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
1970         (WebCore::MediaSampleAVFObjC::create): Remove unimplemented variant.
1971         * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
1972         (WebCore::MediaSampleAVFObjC::videoPixelFormat const): New.
1973
1974         * platform/graphics/cv/ImageTransferSessionVT.h: Added.
1975         (WebCore::ImageTransferSessionVT::create):
1976         * platform/graphics/cv/ImageTransferSessionVT.mm: Added.
1977         (WebCore::ImageTransferSessionVT::ImageTransferSessionVT):
1978         (WebCore::ImageTransferSessionVT::~ImageTransferSessionVT):
1979         (WebCore::ImageTransferSessionVT::setSize):
1980         (WebCore::ImageTransferSessionVT::createPixelBuffer):
1981         (WebCore::ImageTransferSessionVT::createCMSampleBuffer):
1982         (WebCore::roundUpToMacroblockMultiple):
1983         (WebCore::ImageTransferSessionVT::ioSurfacePixelBufferCreationOptions):
1984         (WebCore::ImageTransferSessionVT::createMediaSample):
1985
1986         * platform/graphics/cv/PixelBufferResizer.h: Removed.
1987         * platform/graphics/cv/PixelBufferResizer.mm: Removed.
1988
1989         * platform/mediastream/mac/AVVideoCaptureSource.h:
1990         * platform/mediastream/mac/AVVideoCaptureSource.mm:
1991         (WebCore::AVVideoCaptureSource::prefersPreset):
1992         (WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Remove
1993         the resizing logic, it is handled by the base class.
1994
1995         * platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
1996         (WebCore::DisplayCaptureSourceCocoa::capabilities):
1997         (WebCore::DisplayCaptureSourceCocoa::settingsDidChange):
1998         (WebCore::DisplayCaptureSourceCocoa::setIntrinsicSize):
1999         (WebCore::DisplayCaptureSourceCocoa::emitFrame): Remove resizing logic, just use a transfer
2000         session to create an image from the capture source native output format.
2001         (WebCore::DisplayCaptureSourceCocoa::sampleBufferFromPixelBuffer): Deleted.
2002         (WebCore::roundUpToMacroblockMultiple): Deleted.
2003         (WebCore::DisplayCaptureSourceCocoa::pixelBufferFromIOSurface): Deleted.
2004         * platform/mediastream/mac/DisplayCaptureSourceCocoa.h:
2005
2006         * platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
2007         * platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
2008         (WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer): Use image transfer session.
2009         (WebCore::MockRealtimeVideoSourceMac::CMSampleBufferFromPixelBuffer): Deleted.
2010         (WebCore::MockRealtimeVideoSourceMac::pixelBufferFromCGImage const): Deleted.
2011         (WebCore::MockRealtimeVideoSourceMac::setSizeAndFrameRateWithPreset): Deleted.
2012
2013         * platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:
2014         * platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
2015         (WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream):
2016         (WebCore::ScreenDisplayCaptureSourceMac::generateFrame): Return the IOSurface directly.
2017
2018         * platform/mediastream/mac/WindowDisplayCaptureSourceMac.h:
2019         * platform/mediastream/mac/WindowDisplayCaptureSourceMac.mm:
2020         (WebCore::WindowDisplayCaptureSourceMac::generateFrame): Return the CGImage directly.
2021         (WebCore::WindowDisplayCaptureSourceMac::pixelBufferFromCGImage): Deleted.
2022
2023         * platform/mock/MockRealtimeVideoSource.cpp:
2024         (WebCore::MockRealtimeVideoSource::capabilities): Only the camera supports device ID.
2025         (WebCore::MockRealtimeVideoSource::settings): Ditto.
2026
2027 2018-10-17  Eric Carlson  <eric.carlson@apple.com>
2028
2029         [MediaStream] Clean up capture source factory management
2030         https://bugs.webkit.org/show_bug.cgi?id=190502
2031         <rdar://problem/45212447>
2032
2033         Reviewed by Youenn Fablet.
2034
2035         No new tests, no functional change.
2036
2037         * platform/mediastream/RealtimeMediaSourceCenter.cpp:
2038         (WebCore::RealtimeMediaSourceCenter::setAudioFactory):
2039         (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory):
2040         (WebCore::RealtimeMediaSourceCenter::audioFactory):
2041         (WebCore::RealtimeMediaSourceCenter::setVideoFactory):
2042         (WebCore::RealtimeMediaSourceCenter::unsetVideoFactory):
2043         (WebCore::RealtimeMediaSourceCenter::videoFactory):
2044         (WebCore::RealtimeMediaSourceCenter::setDisplayCaptureFactory):
2045         (WebCore::RealtimeMediaSourceCenter::unsetDisplayCaptureFactory):
2046         (WebCore::RealtimeMediaSourceCenter::displayCaptureFactory):
2047         * platform/mediastream/RealtimeMediaSourceCenter.h:
2048         (WebCore::RealtimeMediaSourceCenter::setAudioFactory): Deleted.
2049         (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory): Deleted.
2050         (): Deleted.
2051         * platform/mediastream/gstreamer/RealtimeMediaSourceCenterLibWebRTC.cpp:
2052         (WebCore::RealtimeMediaSourceCenterLibWebRTC::audioFactoryPrivate):
2053         (WebCore::RealtimeMediaSourceCenterLibWebRTC::videoFactoryPrivate):
2054         (WebCore::RealtimeMediaSourceCenterLibWebRTC::displayCaptureFactoryPrivate):
2055         (WebCore::RealtimeMediaSourceCenterLibWebRTC::audioCaptureSourceFactory): Deleted.
2056         (WebCore::RealtimeMediaSourceCenterLibWebRTC::audioFactory): Deleted.
2057         (WebCore::RealtimeMediaSourceCenterLibWebRTC::videoFactory): Deleted.
2058         (WebCore::RealtimeMediaSourceCenterLibWebRTC::displayCaptureFactory): Deleted.
2059         * platform/mediastream/gstreamer/RealtimeMediaSourceCenterLibWebRTC.h:
2060         * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
2061         (WebCore::RealtimeMediaSourceCenterMac::audioFactoryPrivate):
2062         (WebCore::RealtimeMediaSourceCenterMac::videoFactoryPrivate):
2063         (WebCore::RealtimeMediaSourceCenterMac::displayCaptureFactoryPrivate):
2064         (WebCore::RealtimeMediaSourceCenterMac::videoCaptureSourceFactory): Deleted.
2065         (WebCore::RealtimeMediaSourceCenterMac::displayCaptureSourceFactory): Deleted.
2066         (WebCore::RealtimeMediaSourceCenterMac::audioCaptureSourceFactory): Deleted.
2067         (WebCore::RealtimeMediaSourceCenterMac::audioFactory): Deleted.
2068         (WebCore::RealtimeMediaSourceCenterMac::videoFactory): Deleted.
2069         (WebCore::RealtimeMediaSourceCenterMac::displayCaptureFactory): Deleted.
2070         * platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
2071         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
2072         (WebCore::MockRealtimeMediaSourceCenter::audioFactoryPrivate):
2073         (WebCore::MockRealtimeMediaSourceCenter::videoFactoryPrivate):
2074         (WebCore::MockRealtimeMediaSourceCenter::displayCaptureFactoryPrivate):
2075         (WebCore::MockRealtimeMediaSourceCenter::audioFactory): Deleted.
2076         (WebCore::MockRealtimeMediaSourceCenter::videoFactory): Deleted.
2077         (WebCore::MockRealtimeMediaSourceCenter::displayCaptureFactory): Deleted.
2078         * platform/mock/MockRealtimeMediaSourceCenter.h:
2079
2080 2018-10-17  Alex Christensen  <achristensen@webkit.org>
2081
2082         BackForwardClient needs to be able to support UIProcess-only back/forward lists
2083         https://bugs.webkit.org/show_bug.cgi?id=190675
2084
2085         Reviewed by Chris Dumez.
2086
2087         Return a RefPtr<HistoryItem> instead of a HistoryItem so that we will be able to return a
2088         HistoryItem that has been created instead of a pointer to a HistoryItem that is owned by something else.
2089         Also use unsigned for the back and forward list counts because they can never be negative.
2090
2091         * history/BackForwardClient.h:
2092         * history/BackForwardController.cpp:
2093         (WebCore::BackForwardController::backItem):
2094         (WebCore::BackForwardController::currentItem):
2095         (WebCore::BackForwardController::forwardItem):
2096         (WebCore::BackForwardController::canGoBackOrForward const):
2097         (WebCore::BackForwardController::goBackOrForward):
2098         (WebCore::BackForwardController::goBack):
2099         (WebCore::BackForwardController::goForward):
2100         (WebCore::BackForwardController::count const):
2101         (WebCore::BackForwardController::backCount const):
2102         (WebCore::BackForwardController::forwardCount const):
2103         (WebCore::BackForwardController::itemAtIndex):
2104         * history/BackForwardController.h:
2105         (WebCore::BackForwardController::backItem): Deleted.
2106         (WebCore::BackForwardController::currentItem): Deleted.
2107         (WebCore::BackForwardController::forwardItem): Deleted.
2108         * loader/EmptyClients.cpp:
2109         * loader/NavigationScheduler.cpp:
2110         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
2111
2112 2018-10-17  Antoine Quint  <graouts@apple.com>
2113
2114         [Web Animations] Do not create a DocumentTimeline to suspend or resume animations
2115         https://bugs.webkit.org/show_bug.cgi?id=190660
2116
2117         Reviewed by Dean Jackson.
2118
2119         We check that there is an existing timeline before trying to suspend or resume its animations, otherwise
2120         we're creating a DocumentTimeline when nothing requires for it to exist. We also have to check that we
2121         suspend animations when a DocumentTimeline is created while the page is not visible.
2122
2123         No new tests as there is no change in behavior here.
2124
2125         * animation/DocumentTimeline.cpp:
2126         (WebCore::DocumentTimeline::DocumentTimeline):
2127         * dom/Document.cpp:
2128         (WebCore::Document::didBecomeCurrentDocumentInFrame):
2129         (WebCore::Document::resume):
2130         * page/Frame.cpp:
2131         (WebCore::Frame::clearTimers):
2132         * page/Page.cpp:
2133         (WebCore::Page::setIsVisibleInternal):
2134         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
2135
2136 2018-10-17  Antti Koivisto  <antti@apple.com>
2137
2138         Tiling CSS gradients is slow
2139         https://bugs.webkit.org/show_bug.cgi?id=190615
2140
2141         Reviewed by Tim Horton.
2142
2143         Painting blocks the main thread on CG rendering queue to make a copy of the backing store.
2144
2145         * platform/graphics/BitmapImage.cpp:
2146         (WebCore::BitmapImage::drawPattern):
2147
2148         Also use sinkIntoImage for bitmap image pattern drawing.
2149
2150         * platform/graphics/GradientImage.cpp:
2151         (WebCore::GradientImage::drawPattern):
2152
2153         Sink the gradient into an Image after generating it. Unlike ImageBuffer, painting it doesn't involve inefficient copies.
2154         Previous isCompatibleWithContext test is replaced with an equivalent scale factor test.
2155
2156         * platform/graphics/GradientImage.h:
2157
2158 2018-10-17  Chris Dumez  <cdumez@apple.com>
2159
2160         Update more DOMWindow getters to return references instead of raw pointers
2161         https://bugs.webkit.org/show_bug.cgi?id=190654
2162
2163         Reviewed by Youenn Fablet.
2164
2165         Update more DOMWindow getters to return references instead of raw pointers, since they
2166         can no longer return null after recent refactoring.
2167
2168         * Modules/gamepad/GamepadManager.cpp:
2169         (WebCore::navigatorGamepadFromDOMWindow):
2170         * bindings/js/JSDOMWindowCustom.cpp:
2171         (WebCore::JSDOMWindow::heapSnapshot):
2172         * dom/Document.cpp:
2173         (WebCore::Document::location const):
2174         (WebCore::Document::dispatchPopstateEvent):
2175         * dom/Event.cpp:
2176         (WebCore::Event::timeStampForBindings const):
2177         * loader/DocumentThreadableLoader.cpp:
2178         (WebCore::DocumentThreadableLoader::loadRequest):
2179         * loader/ResourceTimingInformation.cpp:
2180         (WebCore::ResourceTimingInformation::addResourceTiming):
2181         * page/DOMWindow.cpp:
2182         (WebCore::DOMWindow::screen):
2183         (WebCore::DOMWindow::history):
2184         (WebCore::DOMWindow::crypto const):
2185         (WebCore::DOMWindow::locationbar):
2186         (WebCore::DOMWindow::menubar):
2187         (WebCore::DOMWindow::personalbar):
2188         (WebCore::DOMWindow::scrollbars):
2189         (WebCore::DOMWindow::statusbar):
2190         (WebCore::DOMWindow::toolbar):
2191         (WebCore::DOMWindow::applicationCache):
2192         (WebCore::DOMWindow::navigator):
2193         (WebCore::DOMWindow::performance const):
2194         (WebCore::DOMWindow::nowTimestamp const):
2195         (WebCore::DOMWindow::location):
2196         (WebCore::DOMWindow::visualViewport):
2197         (WebCore::DOMWindow::styleMedia):
2198         * page/DOMWindow.h:
2199         * page/FrameView.cpp:
2200         (WebCore::FrameView::updateLayoutViewport):
2201         * page/History.cpp:
2202         (WebCore::History::stateObjectAdded):
2203         * page/IntersectionObserver.cpp:
2204         (WebCore::IntersectionObserver::createTimestamp const):
2205         * page/PerformanceObserver.cpp:
2206         (WebCore::PerformanceObserver::PerformanceObserver):
2207         * platform/cocoa/VideoFullscreenModelVideoElement.mm:
2208         (WebCore::VideoFullscreenModelVideoElement::requestFullscreenMode):
2209
2210 2018-10-17  Chris Fleizach  <cfleizach@apple.com>
2211
2212         AX: Certain tags should identify their context to iOS API
2213         https://bugs.webkit.org/show_bug.cgi?id=190622
2214         <rdar://problem/45308194>
2215
2216         Reviewed by Zalan Bujtas.
2217
2218         Convey the semantic meaning of <code> tag to the iOS API so VoiceOver can make use of it.
2219
2220         Tests: accessibility/ios-simulator/text-context-attributes.html
2221
2222         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2223         (-[WebAccessibilityObjectWrapper accessibilityTextualContext]):
2224         (AXAttributeStringSetStyle):
2225
2226 2018-10-17  Youenn Fablet  <youenn@apple.com>
2227
2228         Remove unused code from RealtimeOutgoingVideoSourceCocoa
2229         https://bugs.webkit.org/show_bug.cgi?id=190666
2230
2231         Reviewed by Eric Carlson.
2232
2233         No change of behavior, removed no longer used code.
2234
2235         * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
2236         (): Deleted.
2237
2238 2018-10-17  Ali Juma  <ajuma@chromium.org>
2239
2240         Flaky IntersectionObserver web platform tests involving style updates
2241         https://bugs.webkit.org/show_bug.cgi?id=189091
2242
2243         Reviewed by Simon Fraser.
2244
2245         Update intersection observations when flushing layers from the WebProcess
2246         to the UIProcess to make the timing of these updates more predictable, and
2247         more consistent with the IntersectionObserver spec, since the spec expects
2248         these updates to happen as part of the "Update the rendering" step in the
2249         HTML EventLoop.
2250
2251         Getting a similar approach to work with WK1 seems to add more complexity than it's
2252         worth, since flushes don't happen for scrolls handled by platform widgets, and
2253         flushes for other invalidations only happen when in compositing mode.
2254
2255         The only remaining timer-driven intersection observation update is for handling
2256         the initial observation on a newly added target, which needs to happen even if
2257         there are no changes triggering a flush.
2258
2259         Tested by the following tests no longer being flaky:
2260             imported/w3c/web-platform-tests/intersection-observer/bounding-box.html
2261             imported/w3c/web-platform-tests/intersection-observer/display-none.html
2262             imported/w3c/web-platform-tests/intersection-observer/containing-block.html
2263
2264         * dom/Document.cpp:
2265         (WebCore::Document::resolveStyle):
2266         (WebCore::Document::updateIntersectionObservations):
2267         (WebCore::Document::scheduleForcedIntersectionObservationUpdate):
2268         (WebCore::Document::scheduleIntersectionObservationUpdate): Deleted.
2269         * dom/Document.h:
2270         * page/FrameView.cpp:
2271         (WebCore::FrameView::flushCompositingStateForThisFrame):
2272         (WebCore::FrameView::viewportContentsChanged):
2273         * page/IntersectionObserver.cpp:
2274         (WebCore::IntersectionObserver::observe):
2275         * page/Page.cpp:
2276         (WebCore::Page::Page):
2277         (WebCore::Page::willDisplayPage):
2278         (WebCore::Page::addDocumentNeedingIntersectionObservationUpdate):
2279         (WebCore::Page::updateIntersectionObservations):
2280         (WebCore::Page::scheduleForcedIntersectionObservationUpdate):
2281         * page/Page.h:
2282
2283 2018-10-17  Charlie Turner  <cturner@igalia.com>
2284
2285         [EME] Sanity check key ID length in the keyids init data format
2286         https://bugs.webkit.org/show_bug.cgi?id=190629
2287
2288         Reviewed by Xabier Rodriguez-Calvar.
2289
2290         Covered by web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.https.html
2291
2292         * Modules/encryptedmedia/InitDataRegistry.cpp:
2293         (WebCore::extractKeyIDsKeyids): Ensure the decoded key id length
2294         is at least 1 byte and no more than 512 bytes.
2295
2296 2018-10-16  Chris Dumez  <cdumez@apple.com>
2297
2298         Regression(r236795) Check boxes are sometimes checked when they should not be
2299         https://bugs.webkit.org/show_bug.cgi?id=190651
2300         <rdar://problem/45319934>
2301
2302         Reviewed by Ryosuke Niwa.
2303
2304         r236795 mistakenly dropped the statement resetting m_reflectsCheckedAttribute to true
2305         in HTMLInputElement::parseAttribute() because it looked like a no-op given that we
2306         made sure it was true a couple of line above. However, I overlooked that calling
2307         HTMLInputElement::setChecked() sets m_reflectsCheckedAttribute to false.
2308
2309         This patch thus re-introduces the statement. It also renames m_reflectsCheckedAttribute
2310         to m_dirtyCheckednessFlag and reverses its value in order to match the specification
2311         more closely:
2312         - https://html.spec.whatwg.org/#concept-input-checked-dirty-flag
2313
2314         Test: fast/dom/HTMLInputElement/checkbox-dirty-checkedness-flag.html
2315
2316         * html/HTMLInputElement.cpp:
2317         (WebCore::HTMLInputElement::HTMLInputElement):
2318         (WebCore::HTMLInputElement::parseAttribute):
2319         (WebCore::HTMLInputElement::finishParsingChildren):
2320         (WebCore::HTMLInputElement::reset):
2321         (WebCore::HTMLInputElement::setChecked):
2322         (WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
2323         * html/HTMLInputElement.h:
2324
2325 2018-10-16  Sihui Liu  <sihui_liu@apple.com>
2326
2327         Add a switch for Web SQL
2328         https://bugs.webkit.org/show_bug.cgi?id=190271
2329
2330         Reviewed by Ryosuke Niwa.
2331
2332         Web SQL is still enabled by default.
2333
2334         * Modules/webdatabase/DOMWindowWebDatabase.idl:
2335         * Modules/webdatabase/Database.idl:
2336         * Modules/webdatabase/SQLError.idl:
2337         * Modules/webdatabase/SQLResultSet.idl:
2338         * Modules/webdatabase/SQLResultSetRowList.idl:
2339         * bindings/js/WebCoreBuiltinNames.h:
2340         * page/RuntimeEnabledFeatures.h:
2341         (WebCore::RuntimeEnabledFeatures::setWebSQLDisabled):
2342         (WebCore::RuntimeEnabledFeatures::webSQLEnabled const):
2343
2344 2018-10-16  Chris Dumez  <cdumez@apple.com>
2345
2346         window.performance should not become null after the window loses its browsing context
2347         https://bugs.webkit.org/show_bug.cgi?id=190636
2348
2349         Reviewed by Ryosuke Niwa.
2350
2351         window.performance should not become null after the window loses its browsing context. This
2352         WebKit behavior does not match the HTML specification nor the behavior of other browsers.
2353
2354         Also note that the attribute is not nullable in the specification:
2355         - https://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute
2356
2357         No new tests, updated existing test.
2358
2359         * page/DOMWindow.cpp:
2360         (WebCore::DOMWindow::performance const):
2361         * page/Performance.cpp:
2362         (WebCore::Performance::Performance):
2363         * page/Performance.h:
2364         * platform/GenericTaskQueue.h:
2365         (WebCore::TaskDispatcher::TaskDispatcher):
2366         (WebCore::TaskDispatcher::postTask):
2367         (WebCore::GenericTaskQueue::GenericTaskQueue):
2368         (WebCore::GenericTaskQueue::isClosed const):
2369         * workers/WorkerGlobalScope.cpp:
2370         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
2371
2372 2018-10-16  Jer Noble  <jer.noble@apple.com>
2373
2374         Refactoring: Convert HTMLMediaElement::scheduleDelayedAction() to individually schedulable & cancelable tasks
2375         https://bugs.webkit.org/show_bug.cgi?id=188208
2376
2377         Reviewed by Eric Carlson.
2378
2379         Rather than have a single, monolithic, zero-duration-timer based dispatch for
2380         a bunch of methods to be performed in a future run-loop, convert them all to
2381         use a DeferrableTask, which in turn is a kind of GenericTaskQueue which can
2382         enqueue only a single task at a time. Convert some other zero-duration-timer
2383         and GenericTaskQueue dispatches to this new DeferrableTask.
2384
2385         * WebCore.xcodeproj/project.pbxproj:
2386         * html/HTMLMediaElement.cpp:
2387         (WebCore::HTMLMediaElement::HTMLMediaElement):
2388         (WebCore::HTMLMediaElement::finishParsingChildren):
2389         (WebCore::HTMLMediaElement::scheduleCheckPlaybackTargetCompatability):
2390         (WebCore::HTMLMediaElement::checkPlaybackTargetCompatablity):
2391         (WebCore::HTMLMediaElement::prepareForLoad):
2392         (WebCore::HTMLMediaElement::setReadyState):
2393         (WebCore::HTMLMediaElement::seekWithTolerance):
2394         (WebCore::HTMLMediaElement::setMuted):
2395         (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack):
2396         (WebCore::HTMLMediaElement::didAddTextTrack):
2397         (WebCore::HTMLMediaElement::scheduleConfigureTextTracks):
2398         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2399         (WebCore::HTMLMediaElement::scheduleMediaEngineWasUpdated):
2400         (WebCore::HTMLMediaElement::mediaEngineWasUpdated):
2401         (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
2402         (WebCore::HTMLMediaElement::scheduleUpdatePlayState):
2403         (WebCore::HTMLMediaElement::updatePlayState):
2404         (WebCore::HTMLMediaElement::setPlaying):
2405         (WebCore::HTMLMediaElement::setPausedInternal):
2406         (WebCore::HTMLMediaElement::cancelPendingTasks):
2407         (WebCore::HTMLMediaElement::userCancelledLoad):
2408         (WebCore::HTMLMediaElement::clearMediaPlayer):
2409         (WebCore::HTMLMediaElement::contextDestroyed):
2410         (WebCore::HTMLMediaElement::stop):
2411         (WebCore::HTMLMediaElement::suspend):
2412         (WebCore::HTMLMediaElement::resume):
2413         (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
2414         (WebCore::HTMLMediaElement::dispatchEvent):
2415         (WebCore::HTMLMediaElement::removeEventListener):
2416         (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):
2417         (WebCore::HTMLMediaElement::didBecomeFullscreenElement):
2418         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured):
2419         (WebCore::HTMLMediaElement::scheduleUpdateMediaState):
2420         (WebCore::HTMLMediaElement::updateMediaState):
2421         (WebCore::HTMLMediaElement::playbackControlsManagerBehaviorRestrictionsTimerFired):
2422         (WebCore::setFlags): Deleted.
2423         (WebCore::clearFlags): Deleted.
2424         (WebCore::actionName): Deleted.
2425         (WebCore::HTMLMediaElement::scheduleDelayedAction): Deleted.
2426         (WebCore::HTMLMediaElement::pendingActionTimerFired): Deleted.
2427         * html/HTMLMediaElement.h:
2428         * html/HTMLMediaElementEnums.h:
2429         * platform/DeferrableTask.h: Added.
2430         (WebCore::DeferrableTask::DeferrableTask):
2431         (WebCore::DeferrableTask::scheduleTask):
2432         (WebCore::DeferrableTask::close):
2433         (WebCore::DeferrableTask::cancelTask):
2434         (WebCore::DeferrableTask::hasPendingTask const):
2435
2436 2018-10-16  Timothy Hatcher  <timothy@apple.com>
2437
2438         Add <meta name="supported-color-schemes"> to control what color schemes the page supports
2439         https://bugs.webkit.org/show_bug.cgi?id=190526
2440         rdar://problem/45230140
2441
2442         Reviewed by Dean Jackson.
2443
2444         Test: css-dark-mode/supported-color-schemes.html
2445
2446         * dom/Document.cpp:
2447         (WebCore::isColorSchemeSeparator): Added.
2448         (WebCore::processColorSchemes): Added.
2449         (WebCore::Document::processSupportedColorSchemes): Added.
2450         (WebCore::Document::useDarkAppearance const): Take system appearance and document's
2451         suppoerted color shcemes into account.
2452         * dom/Document.h:
2453         * editing/cocoa/WebContentReaderCocoa.mm:
2454         (WebCore::createFragment): Update use of LocalDefaultSystemAppearance.
2455         * html/HTMLMetaElement.cpp:
2456         (WebCore::HTMLMetaElement::process): Added supported-color-schemes behind runtime feature check.
2457         * inspector/InspectorOverlay.cpp:
2458         (WebCore::InspectorOverlay::paint): Update use of LocalDefaultSystemAppearance.
2459         * platform/mac/DragImageMac.mm:
2460         (WebCore::createDragImageForLink): Update use of LocalDefaultSystemAppearance.
2461         * platform/mac/LocalDefaultSystemAppearance.h:
2462         * platform/mac/LocalDefaultSystemAppearance.mm:
2463         (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
2464         Drop the need for useSystemAppearance. This is accounted for in Document::useDarkAppearance.
2465         * platform/mac/ThemeMac.mm:
2466         (WebCore::ThemeMac::paint): Update use of LocalDefaultSystemAppearance.
2467         * rendering/RenderLayerBacking.cpp:
2468         (WebCore::RenderLayerBacking::paintContents): Update use of LocalDefaultSystemAppearance.
2469         * rendering/RenderLayerCompositor.cpp:
2470         (WebCore::RenderLayerCompositor::paintContents): Update use of LocalDefaultSystemAppearance.
2471         * rendering/RenderTheme.cpp:
2472         (WebCore::RenderTheme::paint): Use document instead of page.
2473         * rendering/RenderThemeCocoa.mm:
2474         (WebCore::RenderThemeCocoa::drawLineForDocumentMarker): Update use of LocalDefaultSystemAppearance.
2475         * rendering/RenderThemeMac.mm:
2476         (WebCore::RenderThemeMac::documentViewFor const): Update use of LocalDefaultSystemAppearance.
2477         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor const): Ditto.
2478         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const): Ditto.
2479         (WebCore::RenderThemeMac::transformSelectionBackgroundColor const): Ditto.
2480         (WebCore::RenderThemeMac::supportsSelectionForegroundColors const): Ditto.
2481         (WebCore::RenderThemeMac::platformActiveSelectionForegroundColor const): Ditto.
2482         (WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const): Ditto.
2483         (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const): Ditto.
2484         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const): Ditto.
2485         (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor const): Ditto.
2486         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const): Ditto.
2487         (WebCore::RenderThemeMac::platformActiveTextSearchHighlightColor const): Ditto.
2488         (WebCore::RenderThemeMac::colorCache const): Ditto.
2489         (WebCore::RenderThemeMac::systemColor const): Ditto.
2490         (WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary): Ditto.
2491         (WebCore::RenderThemeMac::paintSliderThumb): Ditto.
2492         (WebCore::RenderThemeMac::usingDarkAppearance const): No need to limit to macOS here.
2493         * svg/graphics/SVGImage.cpp:
2494         (WebCore::SVGImage::draw): Update use of LocalDefaultSystemAppearance.
2495
2496 2018-10-16  Rob Buis  <rbuis@igalia.com>
2497
2498         Remove superfluous VIDEO build guard
2499         https://bugs.webkit.org/show_bug.cgi?id=190624
2500
2501         Reviewed by Michael Catanzaro.
2502
2503         Remove some instances where the VIDEO build guard is included within another VIDEO build guard.
2504
2505         No new tests. No change in behavior.
2506
2507         * platform/graphics/MediaPlayer.cpp:
2508         (WebCore::buildMediaEnginesVector):
2509         * platform/graphics/MediaPlayer.h:
2510         * platform/graphics/MediaPlayerPrivate.h:
2511
2512 2018-10-16  Youenn Fablet  <youenn@apple.com>
2513
2514         Support RTCConfiguration.certificates
2515         https://bugs.webkit.org/show_bug.cgi?id=190603
2516
2517         Reviewed by Eric Carlson.
2518
2519         Update RTCConfiguration to have a certificates member.
2520         Add the conversion from RTCCertificate to libwebrtc certificates.
2521         Add check to ensure that certificates are not expired.
2522         Add check to ensure that certificates passed to setConfiguration were
2523         the same as the ones passed to RTCPeerConnection constructor.
2524         Once these checks are done, we reuse the certificates created at
2525         RCPeerConnection creation time when setting the configuration again.
2526
2527         Covered by rebased WPT test.
2528
2529         * Modules/mediastream/RTCConfiguration.h:
2530         * Modules/mediastream/RTCConfiguration.idl:
2531         * Modules/mediastream/RTCPeerConnection.cpp:
2532         (WebCore::certificatesFromConfiguration):
2533         (WebCore::RTCPeerConnection::initializeConfiguration):
2534         (WebCore::RTCPeerConnection::setConfiguration):
2535         * Modules/mediastream/RTCPeerConnection.h:
2536         * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
2537         (WebCore::LibWebRTCMediaEndpoint::setConfiguration):
2538         * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
2539         (WebCore::configurationFromMediaEndpointConfiguration):
2540         * platform/mediastream/MediaEndpointConfiguration.cpp:
2541         (WebCore::MediaEndpointConfiguration::MediaEndpointConfiguration):
2542         * platform/mediastream/MediaEndpointConfiguration.h:
2543
2544 2018-10-16  Ryan Haddad  <ryanhaddad@apple.com>
2545
2546         Unreviewed, rolling out r237163.
2547
2548         Introduced layout test failures on iOS Simulator.
2549
2550         Reverted changeset:
2551
2552         "[CG] Adopt CG SPI for non-even cornered rounded rects"
2553         https://bugs.webkit.org/show_bug.cgi?id=190155
2554         https://trac.webkit.org/changeset/237163
2555
2556 2018-10-16  Devin Rousso  <drousso@apple.com>
2557
2558         Web Inspector: Canvas: capture previously saved states and add them to the recording payload
2559         https://bugs.webkit.org/show_bug.cgi?id=190473
2560
2561         Reviewed by Joseph Pecoraro.
2562
2563         Updated existing tests: inspector/canvas/recording-2d.html
2564                                 inspector/model/recording.html
2565
2566         Instead of sending a single object of the current state of the context, send an array of
2567         objects, one for each restore point.
2568
2569         * html/canvas/CanvasRenderingContext2DBase.h:
2570         * html/canvas/CanvasRenderingContext2DBase.cpp:
2571         (WebCore::CanvasRenderingContext2DBase::stateStack): Added.
2572
2573         * inspector/InspectorCanvas.h:
2574         * inspector/InspectorCanvas.cpp:
2575         (WebCore::InspectorCanvas::stringIndexForKey): Added.
2576         (WebCore::InspectorCanvas::buildInitialState):
2577
2578 2018-10-16  Justin Michaud  <justin_michaud@apple.com>
2579
2580         Implement feature flag and bindings for CSS Painting API
2581         https://bugs.webkit.org/show_bug.cgi?id=190237
2582
2583         Reviewed by Ryosuke Niwa.
2584
2585         Add feature flag and bindings for CSS Painting API. This adds a new property,
2586         CSS.paintWorkletGlobalScope, which will be a temporary way to access the paint
2587         worklet global scope untill CSS.paintWorklet is implemented.
2588
2589         There are a few small changes, mostly adding headers and "using" declarations,
2590         that were required to get this to build. This is probably related to unified sources.
2591
2592         Tests: fast/css-custom-paint/basic.html
2593                fast/css-custom-paint/registerPaintBindings.html
2594
2595         * CMakeLists.txt:
2596         * Configurations/FeatureDefines.xcconfig:
2597         * DerivedSources.make:
2598         * Sources.txt:
2599         * WebCore.xcodeproj/project.pbxproj:
2600         * bindings/js/JSCSSPaintWorkletGlobalScopeCustom.cpp: Added.
2601         (WebCore::throwInvalidModificationError):
2602         (WebCore::JSCSSPaintWorkletGlobalScope::registerPaint):
2603         * bindings/js/JSEventListener.cpp:
2604         * bindings/js/JSRemoteDOMWindowCustom.cpp:
2605         * bindings/js/JSWebMetalRenderPassAttachmentDescriptorCustom.cpp:
2606         * bindings/js/WebCoreBuiltinNames.h:
2607         * css/CSSPaintCallback.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
2608         (WebCore::CSSPaintCallback::~CSSPaintCallback):
2609         * css/CSSPaintCallback.idl: Added.
2610         * css/CSSPaintWorkletGlobalScope.cpp: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
2611         (WebCore::CSSPaintWorkletGlobalScope::create):
2612         (WebCore::CSSPaintWorkletGlobalScope::CSSPaintWorkletGlobalScope):
2613         (WebCore::CSSPaintWorkletGlobalScope::devicePixelRatio):
2614         (WebCore::CSSPaintWorkletGlobalScope::addRegisteredPaint):
2615         * css/CSSPaintWorkletGlobalScope.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
2616         (WebCore::CSSPaintWorkletGlobalScope::paintDefinitionMap):
2617         * css/CSSPaintWorkletGlobalScope.idl: Added.
2618         * css/DOMCSSPaintWorklet.cpp: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
2619         (WebCore::DOMCSSPaintWorklet::ensurePaintWorkletGlobalScope):
2620         (WebCore::DOMCSSPaintWorklet::from):
2621         (WebCore::DOMCSSPaintWorklet::supplementName):
2622         * css/DOMCSSPaintWorklet.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
2623         * css/DOMCSSPaintWorklet.idl: Added.
2624         * css/MediaQueryParserContext.cpp:
2625         * css/StyleBuilder.h:
2626         * dom/Document.cpp:
2627         (WebCore::Document::ensureCSSPaintWorkletGlobalScope):
2628         * dom/Document.h:
2629         * features.json:
2630         * page/RuntimeEnabledFeatures.h:
2631         (WebCore::RuntimeEnabledFeatures::setCSSPaintingAPIEnabled):
2632         (WebCore::RuntimeEnabledFeatures::cssPaintingAPIEnabled const):
2633
2634 2018-10-16  Per Arne Vollan  <pvollan@apple.com>
2635
2636         [WebVTT] Support inline WebVTT styles
2637         https://bugs.webkit.org/show_bug.cgi?id=190369
2638
2639         Reviewed by Eric Carlson.
2640
2641         Add support for inline WebVTT styles, see https://w3c.github.io/webvtt/#styling. The parsed
2642         style strings from the VTT file are added to an optional vector of style strings in the
2643         TextTrack class. These styles are then added as HTMLStyleElement children to the parent of
2644         the cue span element.
2645
2646         Test: media/track/track-cue-css.html
2647
2648         * html/track/InbandGenericTextTrack.cpp:
2649         (WebCore::InbandGenericTextTrack::newStyleSheetsParsed):
2650         * html/track/InbandGenericTextTrack.h:
2651         * html/track/InbandWebVTTTextTrack.cpp:
2652         (WebCore::InbandWebVTTTextTrack::newStyleSheetsParsed):
2653         * html/track/InbandWebVTTTextTrack.h:
2654         * html/track/LoadableTextTrack.cpp:
2655         (WebCore::LoadableTextTrack::newStyleSheetsAvailable):
2656         * html/track/LoadableTextTrack.h:
2657         * html/track/TextTrack.h:
2658         (WebCore::TextTrack::styleSheets const):
2659         * html/track/VTTCue.cpp:
2660         (WebCore::VTTCue::getDisplayTree):
2661         * html/track/WebVTTParser.cpp:
2662         (WebCore::WebVTTParser::getNewCues):
2663         (WebCore::WebVTTParser::getStyleSheets):
2664         (WebCore::WebVTTParser::parse):
2665         (WebCore::WebVTTParser::collectWebVTTBlock):
2666         (WebCore::WebVTTParser::collectStyleSheet):
2667         (WebCore::WebVTTParser::checkStyleSheet):
2668         (WebCore::WebVTTParser::checkAndStoreStyleSheet):
2669         * html/track/WebVTTParser.h:
2670         * loader/TextTrackLoader.cpp:
2671         (WebCore::TextTrackLoader::newStyleSheetsParsed):
2672         (WebCore::TextTrackLoader::getNewStyleSheets):
2673         * loader/TextTrackLoader.h:
2674
2675 2018-10-16  Chris Dumez  <cdumez@apple.com>
2676
2677         window.navigator should not become null after the window loses its browsing context
2678         https://bugs.webkit.org/show_bug.cgi?id=190595
2679
2680         Reviewed by Ryosuke Niwa.
2681
2682         window.navigator should not become null after the window loses its browsing context.
2683         This does not match the HTML specification or the behavior of other browsers.
2684
2685         No new tests, updated existing tests.
2686
2687         * Modules/geolocation/NavigatorGeolocation.cpp:
2688         (WebCore::NavigatorGeolocation::geolocation const):
2689         * page/DOMWindow.cpp:
2690         (WebCore::DOMWindow::navigator):
2691         * page/Navigator.cpp:
2692         (WebCore::Navigator::Navigator):
2693         * page/Navigator.h:
2694         * page/NavigatorBase.cpp:
2695         (WebCore::NavigatorBase::NavigatorBase):
2696         * page/NavigatorBase.h:
2697         * page/WorkerNavigator.cpp:
2698         (WebCore::WorkerNavigator::WorkerNavigator):
2699         * workers/service/ServiceWorkerContainer.cpp:
2700         (WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
2701         * workers/service/ServiceWorkerContainer.h:
2702
2703 2018-10-16  Alex Christensen  <achristensen@webkit.org>
2704
2705         Replace HistoryItem* with HistoryItem& where possible
2706         https://bugs.webkit.org/show_bug.cgi?id=190617
2707
2708         Reviewed by Chris Dumez.
2709
2710         * history/BackForwardClient.h:
2711         * history/BackForwardController.cpp:
2712         (WebCore::BackForwardController::setCurrentItem):
2713         * history/BackForwardController.h:
2714         * history/HistoryItem.cpp:
2715         (WebCore::defaultNotifyHistoryItemChanged):
2716         (WebCore::HistoryItem::setAlternateTitle):
2717         (WebCore::HistoryItem::setURLString):
2718         (WebCore::HistoryItem::setOriginalURLString):
2719         (WebCore::HistoryItem::setReferrer):
2720         (WebCore::HistoryItem::setTitle):
2721         (WebCore::HistoryItem::setTarget):
2722         (WebCore::HistoryItem::setShouldRestoreScrollPosition):
2723         (WebCore::HistoryItem::setStateObject):
2724         (WebCore::HistoryItem::notifyChanged):
2725         * history/HistoryItem.h:
2726         * loader/EmptyClients.cpp:
2727         * loader/FrameLoader.cpp:
2728         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2729         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2730         (WebCore::FrameLoader::loadSameDocumentItem):
2731         * loader/HistoryController.cpp:
2732         (WebCore::HistoryController::goToItem):
2733         (WebCore::HistoryController::updateForCommit):
2734         (WebCore::HistoryController::recursiveUpdateForCommit):
2735         (WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
2736         (WebCore::HistoryController::setCurrentItem):
2737         (WebCore::HistoryController::createItem):
2738         (WebCore::HistoryController::itemsAreClones const):
2739         (WebCore::HistoryController::currentFramesMatchItem const):
2740         * loader/HistoryController.h:
2741
2742 2018-10-16  Alex Christensen  <achristensen@webkit.org>
2743
2744         Remove unused WebHistoryItem._transientPropertyForKey
2745         https://bugs.webkit.org/show_bug.cgi?id=190606
2746
2747         Reviewed by Chris Dumez.
2748
2749         This is unnecessary complexity in HistoryItem.
2750
2751         * history/HistoryItem.h:
2752         * history/mac/HistoryItemMac.mm:
2753         (WebCore::HistoryItem::getTransientProperty const): Deleted.
2754         (WebCore::HistoryItem::setTransientProperty): Deleted.
2755
2756 2018-10-16  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2757
2758         [Curl] Separate SSL Class for platform dependent way of setup.
2759         https://bugs.webkit.org/show_bug.cgi?id=190597
2760
2761         Reviewed by Alex Christensen.
2762
2763         SSL setup is very platform dependent. This patch separate the class to allow
2764         platform-dependent setup at the SSL handle instantiation.
2765
2766         No new tests because there's no behaviro changes.
2767
2768         * PlatformWinCairo.cmake:
2769         * platform/network/curl/CurlSSLHandle.cpp:
2770         (WebCore::CurlSSLHandle::CurlSSLHandle):
2771         (WebCore::CurlSSLHandle::getCACertPathEnv): Moved.
2772         * platform/network/curl/CurlSSLHandle.h:
2773         * platform/network/win/CurlSSLHandleWin.cpp:
2774         (WebCore::getCACertPathEnv):
2775         (WebCore::CurlSSLHandle::platformInitialize):
2776
2777 2018-10-15  Keith Miller  <keith_miller@apple.com>
2778
2779         Support arm64 CPUs with a 32-bit address space
2780         https://bugs.webkit.org/show_bug.cgi?id=190273
2781
2782         Reviewed by Michael Saboff.
2783
2784         Fix missing namespace annotation.
2785
2786         * cssjit/SelectorCompiler.cpp:
2787         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):
2788
2789 2018-10-15  Justin Fan  <justin_fan@apple.com>
2790
2791         Add WebGPU 2018 feature flag and experimental feature flag
2792         https://bugs.webkit.org/show_bug.cgi?id=190509
2793
2794         Reviewed by Dean Jackson.
2795
2796         Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
2797         for the 2018 WebGPU prototype.
2798
2799         * Configurations/FeatureDefines.xcconfig:
2800         * page/RuntimeEnabledFeatures.h:
2801         (WebCore::RuntimeEnabledFeatures::setWebGPUEnabled):
2802         (WebCore::RuntimeEnabledFeatures::webGPUEnabled const):
2803
2804 2018-10-15  Commit Queue  <commit-queue@webkit.org>
2805
2806         Unreviewed, rolling out r237162.
2807         https://bugs.webkit.org/show_bug.cgi?id=190612
2808
2809         Broke Windows build (Requested by dolmstead on #webkit).
2810
2811         Reverted changeset:
2812
2813         "Add stub implementation for accessibility objects"
2814         https://bugs.webkit.org/show_bug.cgi?id=190608
2815         https://trac.webkit.org/changeset/237162
2816
2817 2018-10-15  Said Abou-Hallawa  <sabouhallawa@apple.com>
2818
2819         [CG] Adopt CG SPI for non-even cornered rounded rects
2820         https://bugs.webkit.org/show_bug.cgi?id=190155
2821
2822         Reviewed by Simon Fraser.
2823
2824         Instead of creating bezier curves for the non-even corners of the rounded
2825         rects, we should use the optimized SPI provided by CG.
2826
2827         * platform/graphics/cg/PathCG.cpp:
2828         (WebCore::Path::platformAddPathForRoundedRect):
2829
2830 2018-10-15  Don Olmstead  <don.olmstead@sony.com>
2831
2832         Add stub implementation for accessibility objects
2833         https://bugs.webkit.org/show_bug.cgi?id=190608
2834
2835         Reviewed by Michael Catanzaro.
2836
2837         No new tests. No change in behavior.
2838
2839         Add default implementation to associated cpp file. Removes the WPE
2840         specific stubs.
2841
2842         * SourcesWPE.txt:
2843         * accessibility/AXObjectCache.cpp:
2844         (WebCore::AXObjectCache::detachWrapper):
2845         (WebCore::AXObjectCache::attachWrapper):
2846         (WebCore::AXObjectCache::postPlatformNotification):
2847         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
2848         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
2849         (WebCore::AXObjectCache::platformHandleFocusedUIElementChanged):
2850         (WebCore::AXObjectCache::handleScrolledToAnchor):
2851         * accessibility/AccessibilityObject.cpp:
2852         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment const):
2853         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):
2854         * accessibility/AccessibilityObject.h:
2855         * accessibility/wpe/AXObjectCacheWPE.cpp: Removed.
2856         * accessibility/wpe/AccessibilityObjectWPE.cpp: Removed.
2857
2858 2018-10-15  Alex Christensen  <achristensen@webkit.org>
2859
2860         Modernize BackForwardClient.h
2861         https://bugs.webkit.org/show_bug.cgi?id=190610
2862
2863         Reviewed by Chris Dumez.
2864
2865         * editing/markup.cpp:
2866         (WebCore::createPageForSanitizingWebContent):
2867         * history/BackForwardClient.h:
2868         * history/BackForwardController.h:
2869         (WebCore::BackForwardController::client):
2870         (WebCore::BackForwardController::client const):
2871         * inspector/InspectorOverlay.cpp:
2872         (WebCore::InspectorOverlay::overlayPage):
2873         * loader/EmptyClients.cpp:
2874         (WebCore::pageConfigurationWithEmptyClients):
2875         (WebCore::createEmptyFrameNetworkingContext): Deleted.
2876         (WebCore::fillWithEmptyClients): Deleted.
2877         (WebCore::createEmptyEditorClient): Deleted.
2878         * loader/EmptyClients.h:
2879         * page/Page.cpp:
2880         (WebCore::Page::Page):
2881         * page/PageConfiguration.cpp:
2882         (WebCore::PageConfiguration::PageConfiguration):
2883         * page/PageConfiguration.h:
2884         * svg/graphics/SVGImage.cpp:
2885         (WebCore::SVGImage::dataChanged):
2886
2887 2018-10-15  Timothy Hatcher  <timothy@apple.com>
2888
2889         Add support for prefers-color-scheme media query
2890         https://bugs.webkit.org/show_bug.cgi?id=190499
2891         rdar://problem/45212025
2892
2893         Reviewed by Dean Jackson.
2894
2895         Test: css-dark-mode/prefers-color-scheme.html
2896
2897         * Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
2898         * css/CSSValueKeywords.in: Added light and dark.
2899         * css/MediaFeatureNames.h: Added prefers-color-scheme.
2900         * css/MediaQueryEvaluator.cpp:
2901         (WebCore::prefersColorSchemeEvaluate): Added.
2902         * css/MediaQueryExpression.cpp:
2903         (WebCore::featureWithValidIdent): Added prefers-color-scheme.
2904         * page/RuntimeEnabledFeatures.h:
2905         (WebCore::RuntimeEnabledFeatures::setDarkModeCSSEnabled): Added.
2906         (WebCore::RuntimeEnabledFeatures::darkModeCSSEnabled const): Added.
2907         * testing/InternalSettings.cpp:
2908         (WebCore::InternalSettings::resetToConsistentState): Reset setUseDarkAppearance.
2909         (WebCore::InternalSettings::setUseDarkAppearance): Added.
2910         * testing/InternalSettings.h: Added setUseDarkAppearance.
2911         * testing/InternalSettings.idl: Ditto.
2912
2913 2018-10-15  Alex Christensen  <achristensen@webkit.org>
2914
2915         Remove unused WebView._globalHistoryItem
2916         https://bugs.webkit.org/show_bug.cgi?id=190601
2917
2918         Reviewed by Chris Dumez.
2919
2920         This was a hack to give the client a more reliable current back/forward item, but it hasn't been used for years
2921         and it's adding unnecessary complexity to the history code.
2922
2923         * loader/EmptyFrameLoaderClient.h:
2924         * loader/FrameLoader.cpp:
2925         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2926         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2927         * loader/FrameLoaderClient.h:
2928         * loader/HistoryController.cpp:
2929         (WebCore::HistoryController::goToItem):
2930         (WebCore::HistoryController::updateForStandardLoad):
2931         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
2932
2933 2018-10-15  Chris Dumez  <cdumez@apple.com>
2934
2935         Experiment: target=_blank on anchors should imply rel=noopener
2936         https://bugs.webkit.org/show_bug.cgi?id=190481
2937
2938         Reviewed by Alex Christensen.
2939
2940         As an experiment, try and make it so that target=_blank on anchors implies `rel=noopener` for improved security.
2941         WebContent can then request an opener relationship by using `rel=opener` instead.
2942
2943         This change was discussed at:
2944         - https://github.com/whatwg/html/issues/4078
2945
2946         We want to attempt this change is STP to see if it is Web-compatible. Preliminary testing seems to indicate
2947         that OAuth workflows still work.
2948
2949         * html/HTMLAnchorElement.cpp:
2950         (WebCore::HTMLAnchorElement::parseAttribute):
2951         (WebCore::HTMLAnchorElement::handleClick):
2952         (WebCore::HTMLAnchorElement::effectiveTarget const):
2953         * html/HTMLAnchorElement.h:
2954         * page/RuntimeEnabledFeatures.h:
2955         (WebCore::RuntimeEnabledFeatures::setBlankAnchorTargetImpliesNoOpenerEnabled):
2956         (WebCore::RuntimeEnabledFeatures::blankAnchorTargetImpliesNoOpenerEnabled const):
2957
2958 2018-10-15  Andy Estes  <aestes@apple.com>
2959
2960         [Apple Pay] New shipping methods are ignored when updating after the shippingaddresschange event
2961         https://bugs.webkit.org/show_bug.cgi?id=190560
2962         <rdar://problem/44559075>
2963
2964         Reviewed by Youenn Fablet.
2965
2966         When a PaymentDetailsUpdate with shipping options was specified to updateWith() after the
2967         shippingaddresschange event fires, ApplePayPaymentHandler needs to convert the shipping
2968         options to ShippingMethods and add them to the ShippingContactUpdate so that the Apple Pay
2969         UI renders the new options.
2970
2971         Added test cases to http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrors.https.html.
2972
2973         * Modules/applepay/ApplePayShippingMethod.idl:
2974         * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
2975         (WebCore::ApplePayPaymentHandler::computeShippingMethods):
2976         (WebCore::ApplePayPaymentHandler::shippingAddressUpdated):
2977         * Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
2978         * testing/MockPaymentCoordinator.cpp:
2979         (WebCore::convert):
2980         (WebCore::MockPaymentCoordinator::showPaymentUI):
2981         (WebCore::MockPaymentCoordinator::completeShippingContactSelection):
2982         * testing/MockPaymentCoordinator.h:
2983         * testing/MockPaymentCoordinator.idl:
2984
2985 2018-10-15  Youenn Fablet  <youenn@apple.com>
2986
2987         RTCPeerConnection.generateCertificate is not a function
2988         https://bugs.webkit.org/show_bug.cgi?id=173541
2989         <rdar://problem/32638029>
2990
2991         Reviewed by Eric Carlson.
2992
2993         Add support for RTCCertificate generation through libwebrtc certificate generator.
2994         Make generation in the webrtc network thread.
2995         Support is as per spec (ECDSA and RSASSA_PKCS).
2996
2997         Partially covered by WPT tests.
2998
2999         * css/StyleBuilder.h: Fixing build.
3000         * CMakeLists.txt:
3001         * DerivedSources.make:
3002         * Modules/webauthn/PublicKeyCredential.cpp: Fixing build.
3003         * Modules/mediastream/PeerConnectionBackend.cpp:
3004         (WebCore::PeerConnectionBackend::generateCertificate):
3005         * Modules/mediastream/PeerConnectionBackend.h:
3006         (WebCore::PeerConnectionBackend::CertificateInformation::RSASSA_PKCS1_v1_5):
3007         (WebCore::PeerConnectionBackend::CertificateInformation::ECDSA_P256):
3008         (WebCore::PeerConnectionBackend::CertificateInformation::CertificateInformation):
3009         * Modules/mediastream/RTCCertificate.cpp: Added.
3010         (WebCore::RTCCertificate::create):
3011         (WebCore::RTCCertificate::RTCCertificate):
3012         * Modules/mediastream/RTCCertificate.h: Added.
3013         (WebCore::RTCCertificate::expires const):
3014         (WebCore::RTCCertificate::getFingerprints const):
3015         * Modules/mediastream/RTCCertificate.idl: Added.
3016         * Modules/mediastream/RTCPeerConnection.cpp:
3017         (WebCore::certificateTypeFromAlgorithmIdentifier):
3018         (WebCore::RTCPeerConnection::generateCertificate):
3019         * Modules/mediastream/RTCPeerConnection.h:
3020         * Modules/mediastream/RTCPeerConnection.idl:
3021         * Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.cpp: Added.
3022         (WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback::RTCCertificateGeneratorCallback):
3023         (WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback::~RTCCertificateGeneratorCallback):
3024         (WebCore::LibWebRTCCertificateGenerator::keyParamsFromCertificateType):
3025         (WebCore::LibWebRTCCertificateGenerator::generateCertificate):
3026         * Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.h: Added.
3027         * Sources.txt:
3028         * WebCore.xcodeproj/project.pbxproj:
3029         * bindings/js/WebCoreBuiltinNames.h:
3030         * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
3031         (WebCore::LibWebRTCProvider::certificateGenerator):
3032         * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
3033
3034 2018-10-15  Simon Fraser  <simon.fraser@apple.com>
3035
3036         Add compact logging for the paint-order RenderLayer tree
3037         https://bugs.webkit.org/show_bug.cgi?id=190592
3038
3039         Reviewed by Zalan Bujtas.
3040
3041         Add a way to dump the RenderLayer tree in paint order, which will be extended in future
3042         to show more dirty bit state.
3043
3044         * rendering/RenderLayer.cpp:
3045         (WebCore::outputPaintOrderTreeLegend):
3046         (WebCore::outputIdent):
3047         (WebCore::outputPaintOrderTreeRecursive):
3048         (WebCore::showPaintOrderTree):
3049         * rendering/RenderLayer.h:
3050
3051 2018-10-15  Alex Christensen  <achristensen@webkit.org>
3052
3053         Remove unused parameters from FrameLoaderClient::createFrame
3054         https://bugs.webkit.org/show_bug.cgi?id=190587
3055
3056         Reviewed by Chris Dumez.
3057
3058         * loader/EmptyClients.cpp:
3059         (WebCore::EmptyFrameLoaderClient::createFrame):
3060         * loader/EmptyFrameLoaderClient.h:
3061         * loader/FrameLoaderClient.h:
3062         * loader/SubframeLoader.cpp:
3063         (WebCore::SubframeLoader::loadSubframe):
3064
3065 2018-10-15  Andy Estes  <aestes@apple.com>
3066
3067         [Apple Pay] Payment authorization results with ApplePayErrors should never be considered final
3068         https://bugs.webkit.org/show_bug.cgi?id=190559
3069         <rdar://problem/37250908>
3070
3071         Reviewed by Anders Carlsson.
3072
3073         When PaymentCoordinator thinks a payment authorization result is final it releases the
3074         active ApplePaySession. The Apple Pay UI is dismissed after a receiving a final result.
3075
3076         However, WebCore::isFinalStateResult had the wrong idea about what was a final state,
3077         in some cases causing PaymentCoordinator to release the active session even when the UI is
3078         still presented. If the user authorizes payment again, the website will not receive another
3079         paymentauthorized event, and the Apple Pay UI will eventually time out waiting for a result.
3080
3081         Specifically, isFinalStateResult thought that:
3082
3083         (1) results with STATUS_SUCCESS were always final, even if they had errors
3084         (2) errors with code "unknown" were final
3085
3086         Both of these assumptions are wrong. PassKit considers any result with errors to be
3087         non-final, even if an error has code "unknown."
3088
3089         Fixed WebCore::isFinalStateResult to agree with what PassKit considers to be final results.
3090
3091         Test: http/tests/ssl/applepay/ApplePaySessionFinalState.https.html
3092
3093         * Modules/applepay/ApplePaySessionPaymentRequest.cpp:
3094         (WebCore::isFinalStateResult):
3095         * testing/MockPaymentCoordinator.cpp:
3096         (WebCore::MockPaymentCoordinator::completePaymentSession):
3097
3098 2018-10-15  Andy Estes  <aestes@apple.com>
3099
3100         [Payment Request] PaymentResponse should be a ContextDestructionObserver
3101         https://bugs.webkit.org/show_bug.cgi?id=190558
3102
3103         Reviewed by Alex Christensen.
3104
3105         Make PaymentResponse a ContextDestructionObserver so it has a ScriptExecutionContext to
3106         return for its override of EventTarget::scriptExecutionContext(). Do this instead of
3107         downcasting m_request to an ActiveDOMObject to ask for its context.
3108
3109         * Modules/paymentrequest/PaymentRequest.cpp:
3110         (WebCore::PaymentRequest::accept):
3111         * Modules/paymentrequest/PaymentResponse.cpp:
3112         (WebCore::PaymentResponse::PaymentResponse):
3113         (WebCore::PaymentResponse::scriptExecutionContext const): Deleted.
3114         * Modules/paymentrequest/PaymentResponse.h:
3115
3116 2018-10-15  Andy Estes  <aestes@apple.com>
3117
3118         [Payment Request] Use a PendingActivity token rather than calling (un)setPendingActivity
3119         https://bugs.webkit.org/show_bug.cgi?id=190557
3120
3121         Reviewed by Alex Christensen.
3122
3123         PaymentRequest has pending activity whenever there is an active payment handler, since
3124         user-initiated events can occur whenever the payment UI is displayed.
3125
3126         Rather than manually track the pending activity with setPendingActivity() and
3127         unsetPendingActivity(), use a PendingActivity token tied to the lifetime of the active
3128         payment handler. Also, rewrite canSuspendForDocumentSuspension() in terms of
3129         hasPendingActivity().
3130
3131         * Modules/paymentrequest/PaymentRequest.cpp:
3132         (WebCore::PaymentRequest::show):
3133         (WebCore::PaymentRequest::abortWithException):
3134         (WebCore::PaymentRequest::canSuspendForDocumentSuspension const):
3135         (WebCore::PaymentRequest::paymentMethodChanged):
3136         (WebCore::PaymentRequest::completeMerchantValidation):
3137         (WebCore::PaymentRequest::settleDetailsPromise):
3138         (WebCore::PaymentRequest::complete):
3139         (WebCore::PaymentRequest::cancel):
3140         * Modules/paymentrequest/PaymentRequest.h:
3141
3142 2018-10-15  Wenson Hsieh  <wenson_hsieh@apple.com>
3143
3144         Changing view scale should zoom to initial scale if the page is already at initial scale
3145         https://bugs.webkit.org/show_bug.cgi?id=190570
3146         <rdar://problem/45261877>
3147
3148         Reviewed by Tim Horton.
3149
3150         Add a getter for ViewportConfiguration's layout size scale factor.
3151         See Source/WebKit/ChangeLog for more details.
3152
3153         * page/ViewportConfiguration.h:
3154         (WebCore::ViewportConfiguration::layoutSizeScaleFactor const):
3155
3156 2018-10-15  Charlie Turner  <cturner@igalia.com>
3157
3158         Fix build error with !LOG_DISABLED in Release mode
3159         https://bugs.webkit.org/show_bug.cgi?id=190465
3160
3161         Reviewed by Michael Catanzaro.
3162
3163         No tests due to no new functionality.
3164
3165         * workers/service/ServiceWorkerRegistrationKey.cpp:
3166         * workers/service/ServiceWorkerRegistrationKey.h:
3167
3168 2018-10-15  Simon Fraser  <simon.fraser@apple.com>
3169
3170         LayerListMutationDetector should take a reference
3171         https://bugs.webkit.org/show_bug.cgi?id=190586
3172
3173         Reviewed by Zalan Bujtas.
3174         
3175         Change LayerListMutationDetector to take a RenderLayer&.
3176
3177         * rendering/RenderLayer.cpp:
3178         (WebCore::RenderLayer::paintList):
3179         (WebCore::RenderLayer::hitTestLayer):
3180         (WebCore::RenderLayer::calculateClipRects const):
3181         * rendering/RenderLayer.h:
3182         (WebCore::LayerListMutationDetector::LayerListMutationDetector):
3183         (WebCore::LayerListMutationDetector::~LayerListMutationDetector):
3184         * rendering/RenderLayerBacking.cpp:
3185         (WebCore::traverseVisibleNonCompositedDescendantLayers):
3186         * rendering/RenderLayerCompositor.cpp:
3187         (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
3188         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3189         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3190         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
3191         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
3192         (WebCore::RenderLayerCompositor::recursiveRepaintLayer):
3193         (WebCore::RenderLayerCompositor::layerHas3DContent const):
3194
3195 2018-10-15  Simon Fraser  <simon.fraser@apple.com>
3196
3197         Share some code to dirty z-order and normal flow lists when child layers are added or removed
3198         https://bugs.webkit.org/show_bug.cgi?id=190585
3199
3200         Reviewed by Zalan Bujtas.
3201
3202         Factor code which dirties the normal flow list and child stacking context z-order lists
3203         when a layer is added or removed.
3204
3205         * rendering/RenderLayer.cpp:
3206         (WebCore::RenderLayer::addChild):
3207         (WebCore::RenderLayer::removeChild):
3208         (WebCore::RenderLayer::dirtyPaintOrderListsOnChildChange):
3209         * rendering/RenderLayer.h:
3210
3211 2018-10-15  Simon Fraser  <simon.fraser@apple.com>
3212
3213         Make a helper function to check for reflection layers
3214         https://bugs.webkit.org/show_bug.cgi?id=190584
3215
3216         Reviewed by Zalan Bujtas.
3217
3218         Add RenderLayer::isReflectionLayer() which returns true if the passed layer
3219         is the layer of this layer's reflection. It's used in z-order list building.
3220
3221         * rendering/RenderLayer.cpp:
3222         (WebCore::RenderLayer::updateNormalFlowList):
3223         (WebCore::RenderLayer::rebuildZOrderLists):
3224         (WebCore::RenderLayer::collectLayers):
3225         (WebCore::expandClipRectForDescendantsAndReflection):
3226         (WebCore::RenderLayer::calculateClipRects const):
3227         * rendering/RenderLayer.h:
3228
3229 2018-10-15  Simon Fraser  <simon.fraser@apple.com>
3230
3231         RenderLayer::addChild() and removeChild() should take references
3232         https://bugs.webkit.org/show_bug.cgi?id=190582
3233
3234         Reviewed by Zalan Bujtas.
3235
3236         Pass the layer to be added or removed as a reference; it's never null.
3237
3238         * rendering/RenderElement.cpp:
3239         (WebCore::addLayers):
3240         (WebCore::RenderElement::removeLayers):
3241         (WebCore::RenderElement::moveLayers):
3242         * rendering/RenderLayer.cpp:
3243         (WebCore::RenderLayer::addChild):
3244         (WebCore::RenderLayer::removeChild):
3245         (WebCore::RenderLayer::insertOnlyThisLayer):
3246         (WebCore::RenderLayer::removeOnlyThisLayer):
3247         * rendering/RenderLayer.h:
3248
3249 2018-10-15  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
3250
3251         [Cairo] Incorrect rendering for 135-deg skews
3252         https://bugs.webkit.org/show_bug.cgi?id=190513
3253
3254         Compensation value to zero the the translation components
3255         of the transformation matrix is incorrect if the matrix
3256         has a shear factor.
3257
3258         Reviewed by Žan Doberšek.
3259
3260         Tests: fast/transforms/skew-x-135deg-with-gradient.html
3261                fast/transforms/skew-y-135deg-with-gradient.html
3262
3263         * platform/graphics/cairo/CairoUtilities.cpp:
3264         (WebCore::drawPatternToCairoContext):
3265
3266 2018-10-15  Christopher Reid  <chris.reid@sony.com>
3267
3268         [Curl][WinCairo] Add Public Suffix support to WinCairo
3269         https://bugs.webkit.org/show_bug.cgi?id=183060
3270
3271         Reviewed by Alex Christensen.
3272
3273         Add Public Suffix support to WinCairo using LibPSL.
3274         LibPSL has been added to WinCairoRequirements in v2018.10.09.
3275
3276         * platform/Curl.cmake:
3277         * platform/network/curl/CookieJarDB.cpp:
3278         (WebCore::CookieJarDB::searchCookies): Search for cookies using the topPrivatelyControlledDomain
3279         (WebCore::CookieJarDB::setCookie): Prevent cookies from being added under TLDs
3280         * platform/network/curl/PublicSuffixCurl.cpp: Added.
3281         (WebCore::isPublicSuffix):
3282         (WebCore::topPrivatelyControlledDomainInternal):
3283         (WebCore::topPrivatelyControlledDomain):
3284
3285 2018-10-15  Simon Fraser  <simon.fraser@apple.com>
3286
3287         RenderLayer tree-related cleanup
3288         https://bugs.webkit.org/show_bug.cgi?id=190572
3289
3290         Reviewed by Zalan Bujtas.
3291
3292         Move code around so that functions related to parent/child and z-order tree structure
3293         are near the top of RenderLayer.cpp, since this is one of the primary functions of layers.
3294         
3295         Attempts to use inheritance or composition to separate out tree structure resulted in
3296         unwieldy code and/or performance regressions.
3297         
3298         The only behavior change is to store a bit for m_isStackingContext so that we don't have
3299         to consult the old style to know if it changed.
3300
3301         * rendering/RenderLayer.cpp:
3302         (WebCore::RenderLayer::RenderLayer):
3303         (WebCore::RenderLayer::addChild):
3304         (WebCore::RenderLayer::removeChild):
3305         (WebCore::RenderLayer::insertOnlyThisLayer):
3306         (WebCore::RenderLayer::removeOnlyThisLayer):
3307         (WebCore::canCreateStackingContext):
3308         (WebCore::RenderLayer::shouldBeNormalFlowOnly const):
3309         (WebCore::RenderLayer::shouldBeStackingContext const):
3310         (WebCore::RenderLayer::setIsNormalFlowOnly):
3311         (WebCore::RenderLayer::setIsStackingContext):
3312         (WebCore::RenderLayer::setParent):
3313         (WebCore::RenderLayer::dirtyZOrderLists):
3314         (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
3315         (WebCore::RenderLayer::dirtyNormalFlowList):
3316         (WebCore::RenderLayer::updateNormalFlowList):
3317         (WebCore::RenderLayer::rebuildZOrderLists):
3318         (WebCore::RenderLayer::collectLayers):
3319         (WebCore::RenderLayer::updateLayerListsIfNeeded):
3320         (WebCore::RenderLayer::beginTransparencyLayers):
3321         (WebCore::RenderLayer::willBeDestroyed):
3322         (WebCore::RenderLayer::isDescendantOf const):
3323         (WebCore::RenderLayer::calculateClipRects const):
3324         (WebCore::compareZIndex): Deleted.
3325         * rendering/RenderLayer.h:
3326
3327 2018-10-15  Antti Koivisto  <antti@apple.com>
3328
3329         [PSON] Prewarm system fallback fonts
3330         https://bugs.webkit.org/show_bug.cgi?id=190517
3331
3332         Reviewed by Ryosuke Niwa.
3333
3334         This seems to be ~2% progression in PSON PLT4 with large (40ms+) improvements on some pages
3335         after process swaps.
3336
3337         * page/PrewarmInformation.h:
3338         (WebCore::PrewarmInformation::encode const):
3339         (WebCore::PrewarmInformation::decode):
3340         * page/ProcessWarming.cpp:
3341         (WebCore::ProcessWarming::collectPrewarmInformation):
3342         (WebCore::ProcessWarming::prewarmWithInformation):
3343         * platform/graphics/FontCache.cpp:
3344         (WebCore::FontCache::collectPrewarmInformation const):
3345         (WebCore::FontCache::prewarm):
3346         * platform/graphics/FontCache.h:
3347         (WebCore::FontCache::PrewarmInformation::isolatedCopy const):
3348         (WebCore::FontCache::PrewarmInformation::encode const):
3349         (WebCore::FontCache::PrewarmInformation::decode):
3350
3351         Make font cache prewarm information a struct with encode/decode support and move it into FontCache scope.
3352
3353         * platform/graphics/cocoa/FontCacheCoreText.cpp:
3354         (WebCore::FontDatabase::collectionForFamily):
3355         (WebCore::FontCache::systemFallbackForCharacters):
3356
3357         Collect the names of fonts that end up needing character specific system fallbacks.
3358
3359         (WebCore::FontCache::collectPrewarmInformation const):
3360
3361         Include them into prewarm information.
3362
3363         (WebCore::FontCache::prewarm):
3364
3365         Invoking CTFontCreateForCharactersWithLanguage for the correct named font seems sufficient to fully
3366         prewarm it for fallbacks (independent of size, locale or other characteristics).
3367         Any future calls to systemFallbackForCharacters are fast.
3368
3369 2018-10-15  Chris Dumez  <cdumez@apple.com>
3370
3371         Restrict browsing context lookup by name to frames that are related to one another
3372         https://bugs.webkit.org/show_bug.cgi?id=190475
3373
3374         Reviewed by Alex Christensen.
3375
3376         Update our frame lookup by name logic to take in the active / requesting frame and
3377         only a return a frame that is related to it. By related to it, I mean:
3378         - Ancestor <-> Descendant relationship
3379         - Opener <-> Openee relationship
3380
3381         Being able to look up unrelated frames makes process swapping difficult so we need
3382         to be stricter.
3383
3384         This change is being discussed at:
3385         - https://github.com/whatwg/html/issues/313
3386
3387         Tests: http/tests/dom/new-window-can-target-opener.html
3388                http/tests/dom/noopener-window-cannot-target-opener.html
3389                http/tests/dom/noopener-window-not-targetable.html
3390                http/tests/dom/noopener-window-not-targetable2.html
3391                http/tests/dom/noreferrer-window-not-targetable.html
3392                http/tests/dom/opened-window-not-targetable-after-disowning-opener.html
3393
3394         * loader/FrameLoader.cpp:
3395         (WebCore::FrameLoader::findFrameForNavigation):
3396         * page/FrameTree.cpp:
3397         (WebCore::isFrameFamiliarWith):
3398         (WebCore::FrameTree::find const):
3399         * page/FrameTree.h:
3400         * rendering/HitTestResult.cpp:
3401         (WebCore::HitTestResult::targetFrame const):
3402
3403 2018-10-15  Alex Christensen  <achristensen@webkit.org>
3404
3405         Shrink more enum classes
3406         https://bugs.webkit.org/show_bug.cgi?id=190540
3407
3408         Reviewed by Chris Dumez.
3409
3410         * Modules/notifications/NotificationDirection.h:
3411         * dom/Document.h:
3412         * loader/FrameLoader.h:
3413         * loader/FrameLoaderClient.h:
3414         * loader/HistoryController.h:
3415         * loader/ShouldSkipSafeBrowsingCheck.h:
3416         * loader/ShouldTreatAsContinuingLoad.h:
3417         * page/AutoplayEvent.h:
3418         * page/ChromeClient.h:
3419         * page/DiagnosticLoggingClient.h:
3420         * page/Page.h:
3421         * platform/CookiesStrategy.h:
3422         * platform/audio/AudioSession.h:
3423         * platform/network/NetworkStorageSession.h:
3424         * platform/network/StoredCredentialsPolicy.h:
3425         * workers/service/SWClientConnection.h:
3426         * workers/service/ServiceWorkerContainer.h:
3427         * workers/service/ServiceWorkerRegistrationData.h:
3428         * workers/service/ServiceWorkerRegistrationOptions.h:
3429         * workers/service/ServiceWorkerTypes.h:
3430         * workers/service/ServiceWorkerUpdateViaCache.h:
3431         * workers/service/server/SWServer.h:
3432         * workers/service/server/SWServerRegistration.h:
3433
3434 2018-10-15  Patrick Griffis  <pgriffis@igalia.com>
3435
3436         [GTK][WPE] Implement subprocess sandboxing
3437         https://bugs.webkit.org/show_bug.cgi?id=188568
3438
3439         Reviewed by Michael Catanzaro.
3440
3441         Link against libseccomp.
3442
3443         * PlatformGTK.cmake:
3444
3445 2018-10-15  YUHAN WU  <yuhan_wu@apple.com>
3446
3447         Implement error handler of MediaRecorder
3448         https://bugs.webkit.org/show_bug.cgi?id=190438
3449
3450         Reviewed by Youenn Fablet.
3451
3452         Test: imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-error.html
3453
3454         Implement error event handler (onerror) for MediaRecorder and basic architecture of start() function.
3455
3456         * CMakeLists.txt:
3457         * DerivedSources.make:
3458         * Modules/mediarecorder/MediaRecorder.cpp:
3459         (WebCore::MediaRecorder::MediaRecorder):
3460         (WebCore::MediaRecorder::~MediaRecorder):
3461         (WebCore::MediaRecorder::stop):
3462         (WebCore::MediaRecorder::start):
3463         (WebCore::MediaRecorder::setNewRecordingState):
3464         (WebCore::MediaRecorder::scheduleDeferredTask):
3465         (WebCore::MediaRecorder::didAddOrRemoveTrack):
3466         * Modules/mediarecorder/MediaRecorder.h:
3467         * Modules/mediarecorder/MediaRecorder.idl:
3468         * Modules/mediarecorder/MediaRecorderErrorEvent.cpp: Added.
3469         (WebCore::MediaRecorderErrorEvent::create):
3470         (WebCore::MediaRecorderErrorEvent::MediaRecorderErrorEvent):
3471         (WebCore::MediaRecorderErrorEvent::eventInterface const):
3472         * Modules/mediarecorder/MediaRecorderErrorEvent.h: Added.
3473         * Modules/mediarecorder/MediaRecorderErrorEvent.idl: Added.
3474         * Sources.txt:
3475         * WebCore.xcodeproj/project.pbxproj:
3476         * bindings/js/WebCoreBuiltinNames.h:
3477         * dom/EventNames.in:
3478         * dom/EventTargetFactory.in:
3479
3480 2018-10-15  Chris Dumez  <cdumez@apple.com>
3481
3482         Window's properties such as 'location' should not become null when it loses its browsing context
3483         https://bugs.webkit.org/show_bug.cgi?id=190539
3484
3485         Reviewed by Alex Christensen.
3486
3487         Window's properties such as 'location' should not become null when it loses its browsing context.
3488         This Webkit behavior is not standard and does not match other browsers so this patch makes it so
3489         that those properties persist.
3490
3491         Tests: http/tests/dom/cross-origin-detached-window-properties.html
3492                http/tests/dom/same-origin-detached-window-properties.html
3493
3494         * bindings/js/JSDOMBindingSecurity.cpp:
3495         (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
3496         * bindings/js/JSDOMBindingSecurity.h:
3497         * bindings/js/JSDOMWindowProperties.cpp:
3498         (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):
3499         (WebCore::JSDOMWindowProperties::getOwnPropertySlot):
3500         * bindings/js/JSLocationCustom.cpp:
3501         (WebCore::getOwnPropertySlotCommon):
3502         (WebCore::putCommon):
3503         (WebCore::JSLocation::deleteProperty):
3504         (WebCore::JSLocation::deletePropertyByIndex):
3505         (WebCore::JSLocation::getOwnPropertyNames):
3506         (WebCore::JSLocation::defineOwnProperty):
3507         (WebCore::JSLocation::getPrototype):
3508         (WebCore::JSLocation::toStringName):
3509         * bindings/scripts/CodeGeneratorJS.pm:
3510         (GenerateAttributeGetterBodyDefinition):
3511         (GenerateAttributeSetterBodyDefinition):
3512         (GenerateOperationBodyDefinition):
3513         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3514         (WebCore::jsTestActiveDOMObjectExcitingAttrGetter):
3515         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody):
3516         * crypto/SubtleCrypto.cpp:
3517         (WebCore::SubtleCrypto::SubtleCrypto):
3518         * crypto/SubtleCrypto.h:
3519         (WebCore::SubtleCrypto::create):
3520         * dom/Document.cpp:
3521         (WebCore::Document::~Document):
3522         * page/Crypto.cpp:
3523         (WebCore::Crypto::Crypto):
3524         * page/Crypto.h:
3525         (WebCore::Crypto::create):
3526         * page/DOMWindow.cpp:
3527         (WebCore::DOMWindow::~DOMWindow):
3528         (WebCore::DOMWindow::frameDestroyed):
3529         (WebCore::DOMWindow::screen):
3530         (WebCore::DOMWindow::history):
3531         (WebCore::DOMWindow::crypto):
3532         (WebCore::DOMWindow::locationbar):
3533         (WebCore::DOMWindow::menubar):
3534         (WebCore::DOMWindow::personalbar):
3535         (WebCore::DOMWindow::scrollbars):
3536         (WebCore::DOMWindow::statusbar):
3537         (WebCore::DOMWindow::toolbar):
3538         (WebCore::DOMWindow::console const):
3539         (WebCore::DOMWindow::applicationCache):
3540         (WebCore::DOMWindow::navigator):
3541         (WebCore::DOMWindow::performance const):
3542         (WebCore::DOMWindow::location):
3543         (WebCore::DOMWindow::visualViewport):
3544         (WebCore::DOMWindow::styleMedia):
3545         * page/DOMWindow.h:
3546         * page/DOMWindow.idl:
3547         * workers/WorkerGlobalScope.cpp:
3548         (WebCore::WorkerGlobalScope::crypto):
3549
3550 2018-10-15  Alex Christensen  <achristensen@webkit.org>
3551
3552         Include EnumTraits.h less
3553         https://bugs.webkit.org/show_bug.cgi?id=190535
3554
3555         Reviewed by Chris Dumez.
3556
3557         * Modules/applepay/ApplePaySessionPaymentRequest.h:
3558         * Modules/applepay/PaymentAuthorizationStatus.h:
3559         * Modules/applicationmanifest/ApplicationManifest.h:
3560         * Modules/fetch/FetchHeaders.h:
3561         * Modules/webauthn/AuthenticatorTransport.h:
3562         * Modules/webauthn/PublicKeyCredentialType.h:
3563         * loader/ShouldSkipSafeBrowsingCheck.h:
3564         * loader/ShouldTreatAsContinuingLoad.h:
3565         * platform/Cookie.h:
3566         * platform/audio/AudioSession.h:
3567         * platform/mediastream/CaptureDevice.h:
3568         * platform/mediastream/MediaStreamRequest.h:
3569         * platform/mediastream/RealtimeMediaSourceSettings.h:
3570         * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
3571         * platform/network/NetworkLoadInformation.h:
3572         * workers/service/ServiceWorkerClientType.h:
3573         * workers/service/ServiceWorkerTypes.h:
3574         * workers/service/ServiceWorkerUpdateViaCache.h:
3575
3576 2018-10-15  Alex Christensen  <achristensen@webkit.org>
3577
3578         Remove InjectedBundle processing of back/forward lists
3579         https://bugs.webkit.org/show_bug.cgi?id=190459
3580
3581         Reviewed by Chris Dumez.
3582
3583         The uses of these functions are dead code I removed in rdar://problem/45180545
3584         Removing these functions is a step towards fixing the PSON history bugs.
3585
3586         * loader/EmptyFrameLoaderClient.h:
3587         * loader/FrameLoaderClient.h:
3588         * loader/HistoryController.cpp:
3589         (WebCore::HistoryController::goToItem):
3590
3591 2018-10-14  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
3592
3593         [JSC] Remove Option::useAsyncIterator
3594         https://bugs.webkit.org/show_bug.cgi?id=190567
3595
3596         Reviewed by Saam Barati.
3597
3598         * Configurations/FeatureDefines.xcconfig:
3599
3600 2018-10-15  Philippe Normand  <pnormand@igalia.com>
3601
3602         [GStreamer] Fix EME build for GStreamer 1.14.x
3603         https://bugs.webkit.org/show_bug.cgi?id=190471
3604
3605         Reviewed by Xabier Rodriguez-Calvar.
3606
3607         * platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
3608         (webkitMediaCommonEncryptionDecryptTransformCaps): The
3609         GST_PROTECTION_UNSPECIFIED_SYSTEM_ID #define won't be shipped
3610         until the GStreamer 1.16.0 release, so its use needs to be wrapped
3611         between a version check.
3612         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3613         (WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered): Ditto.
3614
3615 2018-10-12  Wenson Hsieh  <wenson_hsieh@apple.com>
3616
3617         [iOS] Allow SPI clients to lay out at arbitrarily scaled sizes and scale to fit the view
3618         https://bugs.webkit.org/show_bug.cgi?id=190504
3619         <rdar://problem/45117760>
3620
3621         Reviewed by Tim Horton.
3622
3623         Add support in ViewportConfiguration for applying a layout size scale factor to the viewport. See below for
3624         more details.
3625
3626         Tests: fast/viewport/ios/constant-width-viewport-after-changing-view-scale.html
3627                fast/viewport/ios/device-width-viewport-after-changing-view-scale.html
3628
3629         * page/ViewportConfiguration.cpp:
3630         (WebCore::ViewportConfiguration::setViewLayoutSize):
3631
3632         The viewport's layout size may now be changed alongside the layout size scale factor. If either of these two
3633         variables change, we recompute our minimum layout size and viewport configuration parameters.
3634
3635         (WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints const):
3636         (WebCore::ViewportConfiguration::nativeWebpageParameters):
3637         (WebCore::ViewportConfiguration::testingParameters):
3638         (WebCore::ViewportConfiguration::updateConfiguration):
3639
3640         Multiply the minimum scale, initial scale, and maximum scale by the layout size scale factor. This allows us to
3641         keep the document well-proportioned within the viewport, while still laying out at a different layout size.
3642
3643         (WebCore::ViewportConfiguration::updateMinimumLayoutSize):
3644
3645         Compute the minimum layout size by scaling the default layout size derived from our view's size.
3646
3647         (WebCore::ViewportConfiguration::layoutWidth const):
3648         (WebCore::ViewportConfiguration::layoutHeight const):
3649         * page/ViewportConfiguration.h:
3650
3651         Maintain the original initial scale, unaffected by the layout size scale factor. This is used when computing
3652         layout width and height to prevent scaling by the layout size scale factor twice when computing layout sizes.
3653
3654         (WebCore::ViewportConfiguration::description const):
3655
3656         Include the layout size scale factor in ViewportConfiguration's description string.
3657
3658         (WebCore::ViewportConfiguration::Parameters::operator== const):
3659         (WebCore::operator<<):
3660
3661 2018-10-12  Youenn Fablet  <youenn@apple.com>
3662
3663         Use downcast for use of RealtimeMediaSource in LibWebRTCMediaEndpoint
3664         https://bugs.webkit.org/show_bug.cgi?id=190533
3665
3666         Reviewed by Chris Dumez.
3667
3668         Clean-up work.
3669         No change of behavior.
3670
3671         * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
3672         (WebCore::setExistingReceiverSourceTrack):
3673         * platform/mediastream/RealtimeIncomingAudioSource.h:
3674         (isType):
3675         * platform/mediastream/RealtimeIncomingVideoSource.h:
3676         (isType):
3677         * platform/mediastream/RealtimeMediaSource.h:
3678
3679 2018-10-12  Jer Noble  <jer.noble@apple.com>
3680
3681         WebAVSampleBufferErrorListener's parent should be a WeakPtr.
3682         https://bugs.webkit.org/show_bug.cgi?id=190524
3683         <rdar://problem/44359307>
3684
3685         Reviewed by Eric Carlson.
3686
3687         Once WebAVSampleBufferErrorListener's parent is a WeakPtr, we no longer need to pass
3688         protectedSelf into the callOnMainThread lambdas; we can pass in the parent itself.
3689
3690         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3691         (-[WebAVSampleBufferErrorListener initWithParent:]):
3692         (-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):
3693         (-[WebAVSampleBufferErrorListener layerFailedToDecode:]):
3694         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
3695         (WebCore::SourceBufferPrivateAVFObjC::destroyRenderers):
3696
3697 2018-10-12  Ryosuke Niwa  <rniwa@webkit.org>
3698
3699         Address the review comment which was meant to be addressed in r237025.
3700
3701         * editing/MarkupAccumulator.cpp:
3702         (WebCore::elementCannotHaveEndTag):
3703
3704 2018-10-12  Youenn Fablet  <youenn@apple.com> and Alejandro G. Castro  <alex@igalia.com>
3705
3706         Refresh libwebrtc up to 343f4144be
3707         https://bugs.webkit.org/show_bug.cgi?id=190361
3708
3709         Reviewed by Chris Dumez.
3710
3711         This refresh should not change behavior but will allow us to implement better
3712         mdns candidate support and simulcast activation surfacing through addTransceiver.
3713         Covered by existing tests.
3714
3715         * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
3716         (WebCore::LibWebRTCMediaEndpoint::doCreateAnswer):
3717         * testing/MockLibWebRTCPeerConnection.cpp:
3718         (WebCore::MockLibWebRTCPeerConnection::CreateAnswer):
3719         * testing/MockLibWebRTCPeerConnection.h:
3720         (WebCore::MockRtpSender::GetParameters): Deleted.
3721         (WebCore::MockRtpSender::SetParameters): Deleted.
3722         (WebCore::MockRtpSender::GetDtmfSender const): Deleted.
3723
3724 2018-10-12  Alex Christensen  <achristensen@webkit.org>
3725
3726         Allow encoding of small enum classes
3727         https://bugs.webkit.org/show_bug.cgi?id=190531
3728
3729         Reviewed by Tim Horton.
3730
3731         * Modules/webauthn/PublicKeyCredentialCreationOptions.h:
3732         * dom/Document.h:
3733         * editing/FontAttributeChanges.h:
3734         * history/CachedFrame.h:
3735         * loader/FrameLoaderTypes.h:
3736         * platform/CookiesStrategy.h:
3737         * platform/PasteboardItemInfo.h:
3738         * platform/ReferrerPolicy.h:
3739
3740 2018-10-12  Rob Buis  <rbuis@igalia.com>
3741
3742         Solve the confusion around blankURL() and isBlankURL() in URL
3743         https://bugs.webkit.org/show_bug.cgi?id=158988
3744
3745         Reviewed by Alex Christensen.
3746
3747         The name isBlankURL is not accurate as the function tests the
3748         protocol, not the full URL. Choose protocolIsAbout to align with
3749         exisiting protocolIsData, protocolIsBlob etc.
3750
3751         No tests as no change in functionality.
3752
3753         * WebCore.order:
3754         * loader/DocumentLoader.cpp:
3755         (WebCore::DocumentLoader::loadApplicationManifest):
3756         (WebCore::DocumentLoader::startIconLoading):
3757         * loader/NavigationAction.cpp:
3758         (WebCore::shouldTreatAsSameOriginNavigation):
3759         * loader/PolicyChecker.cpp:
3760         (WebCore::PolicyChecker::checkNavigationPolicy):
3761         * loader/ResourceLoadObserver.cpp:
3762         (WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
3763         * page/PageSerializer.cpp:
3764         (WebCore::PageSerializer::SerializerMarkupAccumulator::appendCustomAttributes):
3765         (WebCore::PageSerializer::serializeFrame):
3766         * page/csp/ContentSecurityPolicyDirectiveList.cpp:
3767         (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFrame const):
3768         (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForObjectSource const):
3769         * platform/URL.cpp:
3770         (WebCore::URL::protocolIsAbout const):
3771         (WebCore::URL::isBlankURL const): Deleted.
3772         * platform/URL.h:
3773         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3774         (WebCore::MediaPlayerPrivateGStreamer::loadFull):
3775
3776 2018-10-12  Youenn Fablet  <youenn@apple.com>
3777
3778         DOMCache should dereference itself as soon as stopped
3779         https://bugs.webkit.org/show_bug.cgi?id=190441
3780
3781         Reviewed by Chris Dumez.
3782
3783         Dereference the DOMCache as soon as its context is stopped instead of waiting for garbage collection.
3784         This allows freeing resources sooner in the network process.
3785         No observable change of behavior since the DOMCache becomes no-op when its context is stopped.
3786
3787         * Modules/cache/DOMCache.cpp:
3788         (WebCore::DOMCache::~DOMCache):
3789         (WebCore::DOMCache::stop):
3790
3791 2018-10-12  Jer Noble  <jer.noble@apple.com>
3792
3793         CRASH in WebCore::MediaPlayerPrivateAVFoundation::setPreload
3794         https://bugs.webkit.org/show_bug.cgi?id=190485
3795         <rdar://problem/34613350>
3796
3797         Reviewed by Eric Carlson.
3798
3799         Crash analytics show that a pure-virtual function is called by MediaPlayerPrivateAVFoundation::setPreload(), and
3800         the likely cause of that pure-virtual function call is that the MediaPlayerPrivateAVFoundation object itself has
3801         been destroyed, likely as a side effect of calling MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL().
3802         The usual suspect for this kind of crash is due to calling into JS (e.g., from a callback passed up to
3803         HTMLMediaElement). Code inspection hasn't yielded any good hints about why this might be occurring, so we will
3804         add a ScriptDisallowedScope assertion inside HTMLMediaElement::prepareToPlay(), to generate a good crashlog
3805         showing exactly what callback is resulting in a JS call. But just in case the deallocation is not due to JS,
3806         also add an explicit strong-ref inside MediaPlayer::prepareToPlay.
3807
3808         * html/HTMLMediaElement.cpp:
3809         (WebCore::HTMLMediaElement::prepareToPlay):
3810         * platform/graphics/MediaPlayer.cpp:
3811         (WebCore::MediaPlayer::prepareToPlay):
3812
3813 2018-10-12  Jer Noble  <jer.noble@apple.com>
3814
3815         Null-dereference in SourceBufferPrivateAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged
3816         https://bugs.webkit.org/show_bug.cgi?id=190490
3817         <rdar://problem/42213807>
3818
3819         Reviewed by Eric Carlson.
3820
3821         Crash analytics show a null dereference occurring, likely because m_mediaSource is null.
3822
3823         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3824         (WebCore::SourceBufferPrivateAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
3825
3826 2018-10-11  Don Olmstead  <don.olmstead@sony.com>
3827
3828         Add Houdini specs to features.json
3829         https://bugs.webkit.org/show_bug.cgi?id=190494
3830         <rdar://problem/45211879>
3831
3832         Unreviewed fix.
3833
3834         Specifications should not reference other specifications. Also
3835         move Worklet into the specifications section.
3836
3837         * features.json:
3838
3839 2018-10-11  Youenn Fablet  <youenn@apple.com>
3840
3841         IOS 12 - Service worker cache not shared when added to homescreen
3842         https://bugs.webkit.org/show_bug.cgi?id=190269
3843         <rdar://problem/45009961>
3844
3845         Reviewed by Alex Christensen.
3846
3847         Expose Cache Storage API when Service Worker API is exposed.
3848         This is used for API tests.
3849
3850         * dom/ScriptExecutionContext.h: Make hasServiceWorkerScheme
3851         available outside SERVICE_WORKER compilation flag since used by DOMWindowCaches.
3852         * dom/ScriptExecutionContext.cpp: Ditto.
3853         * Modules/cache/DOMWindowCaches.idl:
3854
3855 2018-10-10  Simon Fraser  <simon.fraser@apple.com>
3856
3857         Hide RenderLayer z-order and normal flow lists behind iterators
3858         https://bugs.webkit.org/show_bug.cgi?id=190457
3859
3860         Reviewed by Zalan Bujtas.
3861
3862         Expose the positive z-order, negative z-order and normal flow lists
3863         from RenderLayer as iterators rather than vectors of raw pointers.
3864         
3865         This hides the fact that the vectors can be null, and allows for easier casting in future.
3866
3867         * rendering/RenderLayer.cpp:
3868         (WebCore::RenderLayer::update3DTransformedDescendantStatus):
3869         (WebCore::RenderLayer::paintLayerContents):
3870         (WebCore::RenderLayer::paintList):
3871         (WebCore::RenderLayer::hitTestLayer):
3872         (WebCore::RenderLayer::hitTestList):
3873         (WebCore::RenderLayer::calculateClipRects const):
3874         * rendering/RenderLayer.h:
3875         * rendering/RenderLayerBacking.cpp:
3876         (WebCore::traverseVisibleNonCompositedDescendantLayers):
3877         * rendering/RenderLayerCompositor.cpp:
3878         (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
3879         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3880         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3881         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
3882         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
3883         (WebCore::RenderLayerCompositor::recursiveRepaintLayer):
3884         (WebCore::RenderLayerCompositor::needsContentsCompositingLayer const):
3885         (WebCore::RenderLayerCompositor::layerHas3DContent const):
3886         * rendering/RenderTreeAsText.cpp:
3887         (WebCore::writeLayers):
3888
3889 2018-10-11  Don Olmstead  <don.olmstead@sony.com>
3890
3891         Add Houdini specs to features.json
3892         https://bugs.webkit.org/show_bug.cgi?id=190494
3893
3894         Reviewed by Simon Fraser.
3895
3896         Add CSS Typed OM Level 1, CSS Layout API Level 1, CSS Animation
3897         Worklet, and group them under a Houdini feature set.
3898
3899         * features.json:
3900
3901 2018-10-11  Ross Kirsling  <ross.kirsling@sony.com>
3902
3903         [WTF] Semaphore.h conflicts with POSIX header
3904         https://bugs.webkit.org/show_bug.cgi?id=190486
3905
3906         Reviewed by Yusuke Suzuki.
3907
3908         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3909
3910 2018-10-11  Thibault Saunier  <tsaunier@igalia.com>
3911
3912         [GStreamer] Support arbitrary video resolution in getUserMedia API
3913         https://bugs.webkit.org/show_bug.cgi?id=189734
3914
3915         Reviewed by Xabier Rodriguez-Calvar.
3916
3917         Implement arbitrary video resolution for the getUserMedia API in GStreamer.
3918
3919         Fix the MockRealtimeMediaSource device list to make devices properties match
3920         test expectations.
3921
3922         Reactivate tests that were failling because of that.
3923
3924         * platform/mediastream/RealtimeVideoSource.cpp:
3925         (WebCore::RealtimeVideoSource::standardVideoSizes):
3926         (WebCore::standardVideoSizes): Deleted.
3927         * platform/mediastream/RealtimeVideoSource.h:
3928         * platform/mediastream/VideoPreset.h:
3929         * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
3930         (WebCore::GStreamerVideoPreset::create):
3931         (WebCore::GStreamerVideoPreset::GStreamerVideoPreset):
3932         (WebCore::GStreamerVideoCaptureSource::GStreamerVideoCaptureSource):
3933         (WebCore::GStreamerVideoCaptureSource::capabilities):
3934         (WebCore::GStreamerVideoCaptureSource::generatePresets):
3935         * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
3936         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
3937         (WebCore::defaultDevices):
3938
3939 2018-10-11  Keith Rollin  <krollin@apple.com>
3940
3941         CURRENT_ARCH should not be used in Run Script phase.
3942         https://bugs.webkit.org/show_bug.cgi?id=190407
3943         <rdar://problem/45133556>
3944
3945         Reviewed by Alexey Proskuryakov.
3946
3947         CURRENT_ARCH is used in a number of Xcode Run Script phases. However,
3948         CURRENT_ARCH is not well-defined during this phase (and may even have
3949         the value "undefined") since this phase is run just once per build
3950         rather than once per supported architecture. Migrate away from
3951         CURRENT_ARCH in favor of ARCHS, either by iterating over ARCHS and
3952         performing an operation for each value, or by picking the first entry
3953         in ARCHS and using that as a representative value.
3954
3955         No new tests -- no functional changes.
3956
3957         * DerivedSources.make: When forming TARGET_TRIPLE_FLAGS, grab the
3958         first entry in ARCHS rather than use CURRENT_ARCH.
3959
3960 2018-10-11  Daniel Bates  <dabates@apple.com>
3961
3962         Support building WebKit for macOS Mojave using a newer SDK
3963         https://bugs.webkit.org/show_bug.cgi?id=190431
3964
3965         Reviewed by Andy Estes.
3966
3967         * platform/network/cocoa/CookieCocoa.mm:
3968         (WebCore::coreSameSitePolicy):
3969         (WebCore::nsSameSitePolicy):
3970
3971 2018-10-11  Daniel Bates  <dabates@apple.com>
3972
3973         [iOS] Add typedef for WebEvent keyboard flags
3974         https://bugs.webkit.org/show_bug.cgi?id=190435
3975
3976         Reviewed by Wenson Hsieh.
3977
3978         Currently WebEvent and UIKit SPI are intertwined when it comes to keyboard flags. It seems sufficient
3979         to have WebEvent defined its own keyboard flags so that callers do not need to be aware of UIKit SPI.
3980
3981         No functionality changed. So, no new tests.
3982
3983         * platform/ios/WebEvent.h:
3984         * platform/ios/WebEvent.mm:
3985         (-[WebEvent keyboardFlags]):
3986
3987 2018-10-11  Antti Koivisto  <antti@apple.com>
3988
3989         Use finer grained locking in FontDatabase
3990         https://bugs.webkit.org/show_bug.cgi?id=190467
3991
3992         Reviewed by Alex Christensen.
3993
3994         * platform/graphics/FontCache.h:
3995
3996         Also use ListHashSet for prewarming info so we can prewarm in the same order the fonts were
3997         seen last time.
3998
3999         * platform/graphics/cocoa/FontCacheCoreText.cpp:
4000         (WebCore::FontDatabase::collectionForFamily):
4001
4002         Only hold the lock when accessing the hashmap. There is no need to hold it during font construction
4003         which can take a long time.
4004
4005         (WebCore::FontDatabase::fontForPostScriptName):
4006
4007         This is currently not prewarmed from a thread so no need for locking.
4008
4009         (WebCore::FontDatabase::clear):
4010
4011 2018-10-11  Thibault Saunier  <tsaunier@igalia.com>
4012
4013         [GStreamer] Fix race condition in GStreamerVideoDecoder
4014         https://bugs.webkit.org/show_bug.cgi?id=190470
4015
4016         The GStreamerVideoDecoder.m_dtsPtsMap filed is accessed from
4017         the main thread and some GStreamer streaming thread, make sure
4018         to protect its access.