47bc5d6863d0fe20d8ff4c650eb4cc0df1d2b381
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2018-10-24  Brent Fulgham  <bfulgham@apple.com>
2
3         Cure Windows Direct2D Backend of a nasty case of bitrot
4         https://bugs.webkit.org/show_bug.cgi?id=190875
5         <rdar://problem/45523268>
6         
7         Reviewed by Zalan Bujtas.
8
9         The Direct2D backend has drifted out of date with the rest of WebKit.
10         This patch updates things so we can get a runnable build.
11         
12         * platform/graphics/FontPlatformData.h:
13         * platform/graphics/ImageBuffer.cpp:
14         (WebCore::ImageBuffer::create):
15         * platform/graphics/ImageBuffer.h:
16         * platform/graphics/ImageDecoder.h:
17         * platform/graphics/ImageSource.cpp:
18         (WebCore::ImageSource::setTargetContext):
19         * platform/graphics/opentype/OpenTypeMathData.cpp:
20         (WebCore::OpenTypeMathData::OpenTypeMathData): Need non-default constructor to make Visual
21         Studio happy.
22         * platform/graphics/win/GradientDirect2D.cpp:
23         (WebCore::Gradient::generateGradient):
24         * platform/graphics/win/GraphicsContextDirect2D.cpp: Update for new display list implementation.
25         (WebCore::GraphicsContextPlatformPrivate::setAlpha):
26         (WebCore::GraphicsContext::savePlatformState):
27         (WebCore::GraphicsContext::restorePlatformState):
28         (WebCore::GraphicsContext::drawNativeImage):
29         (WebCore::GraphicsContext::drawPattern):
30         (WebCore::GraphicsContext::drawRect):
31         (WebCore::GraphicsContext::drawLine):
32         (WebCore::GraphicsContext::drawEllipse):
33         (WebCore::GraphicsContext::drawPath):
34         (WebCore::GraphicsContext::fillPath):
35         (WebCore::GraphicsContext::strokePath):
36         (WebCore::GraphicsContext::fillRect):
37         (WebCore::GraphicsContext::platformFillRoundedRect):
38         (WebCore::GraphicsContext::fillRectWithRoundedHole):
39         (WebCore::GraphicsContext::clip):
40         (WebCore::GraphicsContext::clipOut):
41         (WebCore::GraphicsContext::clipPath):
42         (WebCore::GraphicsContext::clipBounds const):
43         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
44         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
45         (WebCore::GraphicsContext::setMiterLimit):
46         (WebCore::GraphicsContext::clearRect):
47         (WebCore::GraphicsContext::strokeRect):
48         (WebCore::GraphicsContext::setLineCap):
49         (WebCore::GraphicsContext::setLineDash):
50         (WebCore::GraphicsContext::setLineJoin):
51         (WebCore::GraphicsContext::scale):
52         (WebCore::GraphicsContext::rotate):
53         (WebCore::GraphicsContext::translate):
54         (WebCore::GraphicsContext::concatCTM):
55         (WebCore::GraphicsContext::setCTM):
56         (WebCore::GraphicsContext::getCTM const):
57         (WebCore::GraphicsContext::roundToDevicePixels):
58         (WebCore::GraphicsContext::drawLinesForText):
59         (WebCore::GraphicsContext::setURLForRect):
60         (WebCore::GraphicsContext::setIsCALayerContext):
61         (WebCore::GraphicsContext::isCALayerContext const):
62         (WebCore::GraphicsContext::setIsAcceleratedContext):
63         (WebCore::GraphicsContext::isAcceleratedContext const):
64         (WebCore::GraphicsContext::setPlatformShouldAntialias):
65         (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
66         (WebCore::GraphicsContext::setPlatformCompositeOperation):
67         (WebCore::GraphicsContext::platformFillEllipse):
68         (WebCore::GraphicsContext::platformStrokeEllipse):
69         * platform/graphics/win/GraphicsLayerDirect2D.cpp:
70         (WebCore::GraphicsLayer::create):
71         (): Deleted.
72         * platform/graphics/win/ImageBufferDataDirect2D.cpp:
73         (WebCore::ImageBufferData::putData):
74         * platform/graphics/win/ImageBufferDataDirect2D.h:
75         * platform/graphics/win/ImageBufferDirect2D.cpp:
76         (WebCore::ImageBuffer::createCompatibleBuffer):
77         (WebCore::ImageBuffer::ImageBuffer):
78         * platform/graphics/win/ImageDecoderDirect2D.cpp:
79         (WebCore::ImageDecoderDirect2D::bytesDecodedToDetermineProperties const):
80         (WebCore::ImageDecoderDirect2D::encodedDataStatus const):
81         (WebCore::ImageDecoderDirect2D::repetitionCount const):
82         (WebCore::ImageDecoderDirect2D::frameOrientationAtIndex const):
83         (WebCore::ImageDecoderDirect2D::frameDurationAtIndex const):
84         (WebCore::ImageDecoderDirect2D::frameAllowSubsamplingAtIndex const):
85         (WebCore::ImageDecoderDirect2D::frameHasAlphaAtIndex const):
86         (WebCore::ImageDecoderDirect2D::createFrameImageAtIndex):
87         (WebCore::ImageDecoderDirect2D::setData):
88         (WebCore::ImageDecoderDirect2D::bytesDecodedToDetermineProperties): Deleted.
89         (WebCore::ImageDecoderDirect2D::createFrameImageAtIndex const): Deleted.
90         * platform/graphics/win/ImageDecoderDirect2D.h:
91         * platform/graphics/win/ImageDirect2D.cpp:
92         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
93         * platform/graphics/win/PatternDirect2D.cpp:
94         (WebCore::Pattern::createPlatformPattern const):
95
96 2018-10-24  Said Abou-Hallawa  <sabouhallawa@apple.com>
97
98         Cleanup: MIMETypeRegistry functions
99         https://bugs.webkit.org/show_bug.cgi?id=190838
100
101         Reviewed by Simon Fraser.
102
103         Modernize the initialization of the lists in MIMETypeRegistry. Make the
104         functions that return these list be self-contained. Use NeverDestroy<> to
105         allocate the local static variable. Use std::initializer_list() and
106         makeNeverDestroyed() to initialize NeverDestroy<> variables only once.
107
108         supportedImageResourceMIMETypes will be deleted and all the calls to it 
109         will be replaced by supportedImageMIMETypes because they are identical.
110
111         * loader/archive/ArchiveFactory.cpp:
112         (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): This function
113         is called while initializing the supportedNonImageMIMETypes(). So it
114         should not have a direct call to it. Instead, supportedNonImageMIMETypes
115         is passed to it.
116         * loader/archive/ArchiveFactory.h:
117         * platform/MIMETypeRegistry.cpp:
118         (WebCore::MIMETypeRegistry::supportedImageMIMETypes):
119         (WebCore::supportedImageMIMETypesForEncoding):
120         (WebCore::supportedJavaScriptMIMETypes):
121         (WebCore::MIMETypeRegistry::supportedNonImageMIMETypes):
122         (WebCore::MIMETypeRegistry::supportedMediaMIMETypes):
123         (WebCore::pdfMIMETypes):
124         (WebCore::MIMETypeRegistry::unsupportedTextMIMETypes):
125         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
126         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
127         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
128         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
129         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
130         (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType):
131         (WebCore::MIMETypeRegistry::isPDFMIMEType):
132         (WebCore::MIMETypeRegistry::systemPreviewMIMETypes):
133         (WebCore::MIMETypeRegistry::isSystemPreviewMIMEType):
134         (WebCore::initializeSupportedImageMIMETypes): Deleted.
135         (WebCore::initializeSupportedImageMIMETypesForEncoding): Deleted.
136         (WebCore::initializeSupportedJavaScriptMIMETypes): Deleted.
137         (WebCore::initializePDFMIMETypes): Deleted.
138         (WebCore::initializeSupportedNonImageMimeTypes): Deleted.
139         (WebCore::initializeSupportedMediaMIMETypes): Deleted.
140         (WebCore::initializeUnsupportedTextMIMETypes): Deleted.
141         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): Deleted.
142         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Deleted.
143         (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Deleted.
144         (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Deleted.
145         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): Deleted.
146         (WebCore::MIMETypeRegistry::getPDFMIMETypes): Deleted.
147         (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes): Deleted.
148         (WebCore::MIMETypeRegistry::getSystemPreviewMIMETypes): Deleted.
149         * platform/MIMETypeRegistry.h:
150         * platform/graphics/Image.cpp:
151         (WebCore::Image::supportsType):
152         * platform/graphics/cg/ImageDecoderCG.cpp:
153         (WebCore::ImageDecoderCG::encodedDataStatus const):
154         * platform/graphics/cg/UTIRegistry.cpp:
155         (WebCore::supportedDefaultImageSourceTypes):
156         (WebCore::isSupportImageSourceType):
157         (WebCore::allowedImageUTIs): Deleted.
158         (WebCore::isAllowedImageUTI): Deleted.
159         * platform/graphics/cg/UTIRegistry.h:
160         * platform/mac/PasteboardMac.mm:
161         (WebCore::Pasteboard::write):
162
163 2018-10-24  Chris Dumez  <cdumez@apple.com>
164
165         [PSON] When navigating back and forth, 'about:blank' shows up in the back/forward list
166         https://bugs.webkit.org/show_bug.cgi?id=190846
167         <rdar://problem/45058938>
168
169         Reviewed by Antti Koivisto.
170
171         When a page gets suspended after a process-swap, we navigate it to about:blank from inside the navigation
172         policy handler, by overriding the request URL. This normally works fine because we usually process-swap
173         on standard navigation. However, when we would process-swap on a back/forward navigation, we would end
174         up using the back/forward navigation load type to do the about:blank load. This would have repercussions
175         because history navigations update the current history item with the new URL (in this case 'about:blank').
176         To avoid the issue, switch to a standard load type whenever the client asks us to suspend and we load
177         'about:blank' as a result.
178
179         * loader/FrameLoader.cpp:
180         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
181
182 2018-10-24  Andy Estes  <aestes@apple.com>
183
184         [macOS Debug WK2] Layout Test http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrorsV3.https.html is a flaky failure
185         https://bugs.webkit.org/show_bug.cgi?id=190650
186         <rdar://problem/45341914>
187
188         Reviewed by Alex Christensen.
189
190         In computeErrors, we intend to ignore errors when computing paymentMethodErrors. But we
191         weren't clearing exceptions generated from calling convert(), so they would end up being
192         logged as unhandled promise rejections.
193
194         Changed ApplePayPaymentHandler::computeErrors() to use a CatchScope to clear exceptions when
195         decoding paymentMethodErrors.
196
197         Also changed ApplePayShippingAddressChangeEventErrorsV3.https.html to catch promise
198         rejections from calling PaymentRequest.abort().
199
200         Covered by existing test.
201
202         * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
203         (WebCore::ApplePayPaymentHandler::computeErrors const):
204
205 2018-10-22  Antti Koivisto  <antti@apple.com>
206
207         topPrivatelyControlledDomain is slow
208         https://bugs.webkit.org/show_bug.cgi?id=190792
209
210         Reviewed by Alex Christensen and Chris Dumez.
211
212         It calls into some slowish CFNetwork code and ends up showing up in profiles.
213
214         * platform/mac/PublicSuffixMac.mm:
215         (WebCore::topPrivatelyControlledDomain):
216
217         Add a cache that avoids calls into frameworks.
218
219 2018-10-22  Jer Noble  <jer.noble@apple.com>
220
221         Use WeakPtr and GenericTaskQueue within ObjC classes used by MediaPlayerPrivateAVFoundationObjC
222         https://bugs.webkit.org/show_bug.cgi?id=190790
223
224         Reviewed by Alex Christensen.
225
226         Move towards using WeakPtr callbacks instead of raw pointers within the utility objects used by
227         MediaPlayerPrivateAVFoundationObjC. Additionally, accessing WeakPtr off the thread which created
228         the pointer is not allowed, so use a GenericTaskQueue to schedule callbacks instead. Make 
229         GenericTaskQueue<Timer> thread-safe by locking around access to m_pendingTasks, and by making 
230         incrementing the pending task count atomic.
231
232         * platform/GenericTaskQueue.cpp:
233         (WebCore::TaskDispatcher<Timer>::postTask):
234         (WebCore::TaskDispatcher<Timer>::sharedLock):
235         (WebCore::TaskDispatcher<Timer>::sharedTimerFired):
236         (WebCore::TaskDispatcher<Timer>::dispatchOneTask):
237         (WebCore::TaskDispatcher<Timer>::pendingDispatchers):
238         * platform/GenericTaskQueue.h:
239         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
240         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
241         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
242         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
243         (-[WebCoreAVFMovieObserver initWithPlayer:]):
244         (-[WebCoreAVFMovieObserver disconnect]):
245         (-[WebCoreAVFMovieObserver metadataLoaded]):
246         (-[WebCoreAVFMovieObserver didEnd:]):
247         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
248         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
249         (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
250         (-[WebCoreAVFLoaderDelegate initWithPlayer:]):
251         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
252         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
253         (-[WebCoreAVFPullDelegate initWithPlayer:]):
254         (-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
255         (-[WebCoreAVFMovieObserver initWithCallback:]): Deleted.
256         (-[WebCoreAVFLoaderDelegate initWithCallback:]): Deleted.
257         (-[WebCoreAVFLoaderDelegate setCallback:]): Deleted.
258         (-[WebCoreAVFPullDelegate initWithCallback:]): Deleted.
259         (-[WebCoreAVFPullDelegate setCallback:]): Deleted.
260
261 2018-10-23  Jer Noble  <jer.noble@apple.com>
262
263         TextTrack cues should be updated more often than every 250ms.
264         https://bugs.webkit.org/show_bug.cgi?id=190827
265
266         Reviewed by Eric Carlson.
267
268         Test: media/track/track-cue-timing.html
269
270         TextTracks cues are recalculated on the playback timer, which fires at least every 250ms.
271         In addition to this timer, add a method to MediaPlayer to provide a task which will be
272         performed at a particular media time, and use this new method to request cues be updated
273         at the next interesting media time. The next interesting time would be either when the
274         soonest current cue will end, or when the next non-current cue will start, whichever is
275         earlier.
276
277         (Determining the "next non-current cue" requires new API on PODIntervalTree, as that class
278         does not have iterators per-se.)
279
280         * html/HTMLMediaElement.cpp:
281         (WebCore::compareCueIntervalEndTime):
282         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
283         * platform/PODIntervalTree.h:
284         * platform/graphics/MediaPlayer.cpp:
285         (WebCore::MediaPlayer::performTaskAtMediaTime):
286         * platform/graphics/MediaPlayer.h:
287         * platform/graphics/MediaPlayerPrivate.h:
288         (WebCore::MediaPlayerPrivateInterface::performTaskAtMediaTime):
289         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
290         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
291         (WebCore::MediaPlayerPrivateAVFoundationObjC::performTaskAtMediaTime):
292         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
293         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
294         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::performTaskAtMediaTime):
295
296 2018-10-23  Fujii Hironori  <Hironori.Fujii@sony.com>
297
298         [Win] Assertion fails while destructing local static AtomicString of FontCache::lastResortFallbackFont
299         https://bugs.webkit.org/show_bug.cgi?id=190748
300
301         Reviewed by Myles C. Maxfield.
302
303         FontCache::lastResortFallbackFont had local static AtomicString
304         variables which are not capsuled by NeverDestroyed. Hence, those
305         variables are destructed on IPC thread when WebProcess exits.
306
307         Changed those AtomicString to NeverDestroyed<AtomicString> not to
308         be destructed on exit.
309
310         This change can't be tested automatically because WebKitTestRunner
311         doesn't support Windows port yet.
312
313         * platform/graphics/win/FontCacheWin.cpp:
314         (WebCore::FontCache::lastResortFallbackFont): Changed
315         fallbackFonts's type from AtomicString array to
316         NeverDestroyed<AtomicString> array.
317
318 2018-10-23  Justin Fan  <justin_fan@apple.com>
319
320         [WebGPU] Rename old GPU* implementation files to GPULegacy* for WebMetal
321         https://bugs.webkit.org/show_bug.cgi?id=190817
322
323         Reviewed by Dean Jackson.
324
325         No new tests. No change in behavior.
326
327         * [Large list of refactored classes and renamed files]: GPU* is now GPULegacy*
328
329 2018-10-23  Ryan Haddad  <ryanhaddad@apple.com>
330
331         Unreviewed, rolling out r237261.
332
333         The layout test for this change crashes under GuardMalloc.
334
335         Reverted changeset:
336
337         "Handle MDNS resolution of candidates through libwebrtc
338         directly"
339         https://bugs.webkit.org/show_bug.cgi?id=190681
340         https://trac.webkit.org/changeset/237261
341
342 2018-10-23  Truitt Savell  <tsavell@apple.com>
343
344         Unreviewed, rolling out r237357.
345
346         API test is now failing on all platforms.
347
348         Reverted changeset:
349
350         "topPrivatelyControlledDomain is slow"
351         https://bugs.webkit.org/show_bug.cgi?id=190792
352         https://trac.webkit.org/changeset/237357
353
354 2018-10-23  Truitt Savell  <tsavell@apple.com>
355
356         Unreviewed, rolling out r237350.
357
358         Caused several Crashes cross multiple tests and platforms.
359
360         Reverted changeset:
361
362         "Use WeakPtr and GenericTaskQueue within ObjC classes used by
363         MediaPlayerPrivateAVFoundationObjC"
364         https://bugs.webkit.org/show_bug.cgi?id=190790
365         https://trac.webkit.org/changeset/237350
366
367 2018-10-23  Ryan Haddad  <ryanhaddad@apple.com>
368
369         Unreviewed, rolling out r237280.
370
371         Causes fast/box-shadow/box-shadow-with-zero-radius.html to
372         fail on iOS Simulator.
373
374         Reverted changeset:
375
376         "[CG] Adopt CG SPI for non-even cornered rounded rects"
377         https://bugs.webkit.org/show_bug.cgi?id=190155
378         https://trac.webkit.org/changeset/237280
379
380 2018-10-23  Antti Koivisto  <antti@apple.com>
381
382         topPrivatelyControlledDomain is slow
383         https://bugs.webkit.org/show_bug.cgi?id=190792
384
385         Reviewed by Alex Christensen.
386
387         It calls into some slowish CFNetwork code and ends up showing up in profiles.
388
389         * platform/mac/PublicSuffixMac.mm:
390         (WebCore::topPrivatelyControlledDomain):
391
392         Add a cache that avoids calls into frameworks.
393
394 2018-10-23  Chris Dumez  <cdumez@apple.com>
395
396         [PSON] Add support for cross-site client-side redirects
397         https://bugs.webkit.org/show_bug.cgi?id=190806
398         <rdar://problem/45047344>
399
400         Reviewed by Geoffrey Garen.
401
402         Add support for cross-site client-side redirects so that it swaps process and so that the back
403         forward list looks as expected. To support this, the following changes had to be done:
404         - The NavigationAction now provides additional information so that the WebProcess can communicate
405           things about the client-side redirect to the UIProcess: lockHistory / lockBackForwardList and
406           clientRedirectSourceForHistory.
407         - If the UIProcess decides to process-swap on a client-side redirect, we pass the client-side
408           redirect information to the new WebContent process via LoadRequest struct. WebCore then takes
409           care of setting things up using this information so that it recognizes that it is continuing
410           a load that is a client side redirect.
411         - We also need to pass the current BackForwardListItem / HistoryItem to the new WebContent
412           process so that the new process can truly lock history and keep updating the *current*
413           HistoryItem, instead of creating a new HistoryItem.
414         - After a process swap, when we re-construct the WebFrameProxy for the main frame in the new
415           process, we now set the frame's URL in the UIProcess to the URL it had before we swapped.
416           Clients such as Safari, rely on the main frame's URL being the expected value (the last
417           committed load URL) until the next load is committed when receiving didPerformRedirect
418           calls. Because we are destroying the main frame on process-swapping, we were losing the
419           last committed URL and Safari would hit assertions.
420
421         With this model, the willPerformClientRedirect IPC is still sent from the previous WebProcess
422         and the didPerformClientRedirect IPC is now sent by the new WebProcess. No change should be
423         observable from the client's point of view.
424
425         * loader/FrameLoadRequest.h:
426         (WebCore::FrameLoadRequest::setLockHistory):
427         (WebCore::FrameLoadRequest::setlockBackForwardList):
428         (WebCore::FrameLoadRequest::clientRedirectSourceForHistory const):
429         (WebCore::FrameLoadRequest::setClientRedirectSourceForHistory):
430         * loader/FrameLoader.cpp:
431         (WebCore::FrameLoader::loadURL):
432         (WebCore::FrameLoader::load):
433         * loader/HistoryController.cpp:
434         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
435         * loader/HistoryController.h:
436         * loader/NavigationAction.h:
437         (WebCore::NavigationAction::lockHistory const):
438         (WebCore::NavigationAction::setLockHistory):
439         (WebCore::NavigationAction::lockBackForwardList const):
440         (WebCore::NavigationAction::setLockBackForwardList):
441
442 2018-10-23  Jer Noble  <jer.noble@apple.com>
443
444         Use WeakPtr and GenericTaskQueue within ObjC classes used by MediaPlayerPrivateAVFoundationObjC
445         https://bugs.webkit.org/show_bug.cgi?id=190790
446
447         Reviewed by Alex Christensen.
448
449         Move towards using WeakPtr callbacks instead of raw pointers within the utility objects used by
450         MediaPlayerPrivateAVFoundationObjC. Additionally, accessing WeakPtr off the thread which created
451         the pointer is not allowed, so use a GenericTaskQueue to schedule callbacks instead. Make 
452         GenericTaskQueue<Timer> thread-safe by locking around access to m_pendingTasks, and by making 
453         incrementing the pending task count atomic.
454
455         * platform/GenericTaskQueue.cpp:
456         (WebCore::TaskDispatcher<Timer>::postTask):
457         (WebCore::TaskDispatcher<Timer>::sharedLock):
458         (WebCore::TaskDispatcher<Timer>::sharedTimerFired):
459         (WebCore::TaskDispatcher<Timer>::dispatchOneTask):
460         (WebCore::TaskDispatcher<Timer>::pendingDispatchers):
461         * platform/GenericTaskQueue.h:
462         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
463         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
464         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
465         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
466         (-[WebCoreAVFMovieObserver initWithPlayer:]):
467         (-[WebCoreAVFMovieObserver disconnect]):
468         (-[WebCoreAVFMovieObserver metadataLoaded]):
469         (-[WebCoreAVFMovieObserver didEnd:]):
470         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
471         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
472         (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
473         (-[WebCoreAVFLoaderDelegate initWithPlayer:]):
474         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
475         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
476         (-[WebCoreAVFPullDelegate initWithPlayer:]):
477         (-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
478         (-[WebCoreAVFMovieObserver initWithCallback:]): Deleted.
479         (-[WebCoreAVFLoaderDelegate initWithCallback:]): Deleted.
480         (-[WebCoreAVFLoaderDelegate setCallback:]): Deleted.
481         (-[WebCoreAVFPullDelegate initWithCallback:]): Deleted.
482         (-[WebCoreAVFPullDelegate setCallback:]): Deleted.
483
484 2018-10-22  Justin Michaud  <justin_michaud@apple.com>
485
486         Registered custom properties should support syntax parameter for <length> and *
487         https://bugs.webkit.org/show_bug.cgi?id=190039
488
489         Reviewed by Antti Koivisto.
490
491         Refactor code so that:
492         - All properties applied in StyleResolver::applyMatchedProperties are only applied once. 
493         - Custom properties are only resolved once, in StyleResolver, when they are applied to the RenderStyle. They were previously resolved
494           every time they were referenced, and again in RenderStyle.
495         - The font-size property is applied after its variable references, but before custom properties that depend on it.
496         - Cycles are detected at the same time as resolution.
497         - MutableStyleProperties' custom properties cannot be set from Javascript or WebKitLegacy if they do not parse for the property's type.
498           If they contain var(--...) references, however, then they can be set because we cannot check if the references are valid from setProperty.
499           This behaviour matches chrome, but is not documented in the spec. 
500         - Custom property values have more explicit resolved/unresolved state.
501         - RenderStyle only ever holds resolved custom properties, and StyleResolver::CascadedProperties only holds unresolved properties.
502
503         Tests: css-custom-properties-api/crash.html
504                css-custom-properties-api/cycles.html
505                css-custom-properties-api/inline.html
506
507         * css/CSSComputedStyleDeclaration.cpp:
508         (WebCore::ComputedStyleExtractor::customPropertyValue):
509         * css/CSSCustomPropertyValue.cpp:
510         (WebCore::CSSCustomPropertyValue::equals const):
511         (WebCore::CSSCustomPropertyValue::customCSSText const):
512         (WebCore::CSSCustomPropertyValue::tokens const):
513         (WebCore::CSSCustomPropertyValue::checkVariablesForCycles const): Deleted.
514         (WebCore::CSSCustomPropertyValue::resolveVariableReferences const): Deleted.
515         (WebCore::CSSCustomPropertyValue::setResolvedTypedValue): Deleted.
516         * css/CSSCustomPropertyValue.h:
517         * css/CSSRegisteredCustomProperty.cpp:
518         (WebCore::CSSRegisteredCustomProperty::CSSRegisteredCustomProperty):
519         * css/CSSRegisteredCustomProperty.h:
520         * css/CSSStyleSheet.h:
521         * css/CSSVariableData.cpp:
522         (WebCore::CSSVariableData::CSSVariableData):
523         (WebCore::CSSVariableData::consumeAndUpdateTokens): Deleted.
524         (WebCore::CSSVariableData::checkVariablesForCycles const): Deleted.
525         (WebCore::CSSVariableData::checkVariablesForCyclesWithRange const): Deleted.
526         (WebCore::CSSVariableData::resolveVariableFallback const): Deleted.
527         (WebCore::CSSVariableData::resolveVariableReference const): Deleted.
528         (WebCore::CSSVariableData::resolveVariableReferences const): Deleted.
529         (WebCore::CSSVariableData::resolveTokenRange const): Deleted.
530         * css/CSSVariableData.h:
531         (WebCore::CSSVariableData::create):
532         (WebCore::CSSVariableData::createResolved): Deleted.
533         (WebCore::CSSVariableData::needsVariableResolution const): Deleted.
534         (WebCore::CSSVariableData::CSSVariableData): Deleted.
535         * css/CSSVariableReferenceValue.cpp:
536         (WebCore::resolveVariableFallback):
537         (WebCore::resolveVariableReference):
538         (WebCore::resolveTokenRange):
539         (WebCore::CSSVariableReferenceValue::resolveVariableReferences const):
540         (WebCore::CSSVariableReferenceValue::checkVariablesForCycles const): Deleted.
541         * css/CSSVariableReferenceValue.h:
542         (WebCore::CSSVariableReferenceValue::create):
543         (WebCore::CSSVariableReferenceValue::equals const):
544         (WebCore::CSSVariableReferenceValue::variableDataValue const): Deleted.
545         * css/DOMCSSRegisterCustomProperty.cpp:
546         (WebCore::DOMCSSRegisterCustomProperty::registerProperty):
547         * css/PropertySetCSSStyleDeclaration.cpp:
548         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
549         * css/StyleBuilderCustom.h:
550         (WebCore::StyleBuilderCustom::applyInitialCustomProperty):
551         (WebCore::StyleBuilderCustom::applyValueCustomProperty):
552         * css/StyleProperties.cpp:
553         (WebCore::MutableStyleProperties::setCustomProperty):
554         * css/StyleProperties.h:
555         * css/StyleResolver.cpp:
556         (WebCore::StyleResolver::State::setStyle):
557         (WebCore::StyleResolver::styleForKeyframe):
558         (WebCore::StyleResolver::styleForPage):
559         (WebCore::StyleResolver::applyMatchedProperties):
560         (WebCore::StyleResolver::applyPropertyToCurrentStyle):
561         (WebCore::StyleResolver::applyProperty):
562         (WebCore::StyleResolver::resolvedVariableValue const):
563         (WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):
564         (WebCore::StyleResolver::CascadedProperties::Property::apply):
565         (WebCore::StyleResolver::applyCascadedCustomProperty):
566         (WebCore::StyleResolver::applyCascadedProperties):
567         * css/StyleResolver.h:
568         * css/parser/CSSParser.cpp:
569         (WebCore::CSSParser::parseValueWithVariableReferences):
570         * css/parser/CSSParser.h:
571         * css/parser/CSSPropertyParser.cpp:
572         (WebCore::CSSPropertyParser::CSSPropertyParser):
573         (WebCore::CSSPropertyParser::canParseTypedCustomPropertyValue):
574         (WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):
575         (WebCore::CSSPropertyParser::collectParsedCustomPropertyValueDependencies):
576         (WebCore::CSSPropertyParser::parseValueStart):
577         (WebCore::CSSPropertyParser::parseSingleValue):
578         * css/parser/CSSPropertyParser.h:
579         * css/parser/CSSVariableParser.cpp:
580         (WebCore::CSSVariableParser::parseDeclarationValue):
581         * dom/ConstantPropertyMap.cpp:
582         (WebCore::ConstantPropertyMap::setValueForProperty):
583         (WebCore::variableDataForPositivePixelLength):
584         (WebCore::variableDataForPositiveDuration):
585         * rendering/style/RenderStyle.cpp:
586         (WebCore::RenderStyle::checkVariablesInCustomProperties): Deleted.
587         * rendering/style/RenderStyle.h:
588         (WebCore::RenderStyle::setInheritedCustomPropertyValue):
589         (WebCore::RenderStyle::setNonInheritedCustomPropertyValue):
590         * rendering/style/StyleCustomPropertyData.h:
591         (WebCore::StyleCustomPropertyData::operator== const):
592         (WebCore::StyleCustomPropertyData::setCustomPropertyValue):
593         (WebCore::StyleCustomPropertyData::StyleCustomPropertyData):
594         (): Deleted.
595
596 2018-10-22  Justin Michaud  <justin_michaud@apple.com>
597
598         CSS Paint API should give a 2d rendering context
599         https://bugs.webkit.org/show_bug.cgi?id=190762
600
601         Reviewed by Dean Jackson.
602
603         Add a new type of canvas and 2d rendering context to support the CSS Painting API.
604         Make many of the methods from HTMLCanvasElement virtual functions on CanvasBase, and
605         remove many of the downcasts in CanvasRenderingContext2DBase as a result.
606
607         * CMakeLists.txt:
608         * DerivedSources.make:
609         * Sources.txt:
610         * WebCore.xcodeproj/project.pbxproj:
611         * bindings/js/JSPaintRenderingContext2DCustom.cpp: Copied from Source/WebCore/css/CSSPaintCallback.h.
612         (WebCore::root):
613         (WebCore::JSPaintRenderingContext2DOwner::isReachableFromOpaqueRoots):
614         (WebCore::JSPaintRenderingContext2D::visitAdditionalChildren):
615         * bindings/js/WebCoreBuiltinNames.h:
616         * css/CSSPaintCallback.h:
617         * css/CSSPaintCallback.idl:
618         * html/CanvasBase.cpp:
619         (WebCore::CanvasBase::~CanvasBase):
620         * html/CanvasBase.h:
621         (WebCore::CanvasBase::isCustomPaintCanvas const):
622         * html/CustomPaintCanvas.cpp: Added.
623         (WebCore::CustomPaintCanvas::create):
624         (WebCore::CustomPaintCanvas::CustomPaintCanvas):
625         (WebCore::CustomPaintCanvas::~CustomPaintCanvas):
626         (WebCore::CustomPaintCanvas::width const):
627         (WebCore::CustomPaintCanvas::setWidth):
628         (WebCore::CustomPaintCanvas::height const):
629         (WebCore::CustomPaintCanvas::setHeight):
630         (WebCore::CustomPaintCanvas::size const):
631         (WebCore::CustomPaintCanvas::setSize):
632         (WebCore::CustomPaintCanvas::getContext):
633         (WebCore::CustomPaintCanvas::copiedImage const):
634         (WebCore::CustomPaintCanvas::drawingContext const):
635         (WebCore::CustomPaintCanvas::existingDrawingContext const):
636         (WebCore::CustomPaintCanvas::makeRenderingResultsAvailable):
637         * html/CustomPaintCanvas.h: Copied from Source/WebCore/html/OffscreenCanvas.h.
638         * html/HTMLCanvasElement.h:
639         * html/OffscreenCanvas.h:
640         * html/canvas/CanvasRenderingContext.cpp:
641         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
642         * html/canvas/CanvasRenderingContext.h:
643         (WebCore::CanvasRenderingContext::isPaint const):
644         * html/canvas/CanvasRenderingContext2DBase.cpp:
645         (WebCore::DisplayListDrawingContext::DisplayListDrawingContext):
646         (WebCore::CanvasRenderingContext2DBase::unwindStateStack):
647         (WebCore::CanvasRenderingContext2DBase::isAccelerated const):
648         (WebCore::CanvasRenderingContext2DBase::setStrokeStyle):
649         (WebCore::CanvasRenderingContext2DBase::setFillStyle):
650         (WebCore::CanvasRenderingContext2DBase::resetTransform):
651         (WebCore::CanvasRenderingContext2DBase::clearCanvas):
652         (WebCore::CanvasRenderingContext2DBase::transformAreaToDevice const):
653         (WebCore::CanvasRenderingContext2DBase::rectContainsCanvas const):
654         (WebCore::CanvasRenderingContext2DBase::calculateCompositingBufferRect):
655         (WebCore::CanvasRenderingContext2DBase::compositeBuffer):
656         (WebCore::CanvasRenderingContext2DBase::createPattern):
657         (WebCore::CanvasRenderingContext2DBase::didDrawEntireCanvas):
658         (WebCore::CanvasRenderingContext2DBase::didDraw):
659         (WebCore::CanvasRenderingContext2DBase::paintRenderingResultsToCanvas):
660         (WebCore::CanvasRenderingContext2DBase::drawingContext const):
661         * html/canvas/CanvasRenderingContext2DBase.h:
662         * html/canvas/PaintRenderingContext2D.cpp: Copied from Source/WebCore/css/CSSPaintCallback.h.
663         (WebCore::PaintRenderingContext2D::create):
664         (WebCore::PaintRenderingContext2D::PaintRenderingContext2D):
665         * html/canvas/PaintRenderingContext2D.h: Copied from Source/WebCore/css/CSSPaintCallback.h.
666         * html/canvas/PaintRenderingContext2D.idl: Copied from Source/WebCore/css/CSSPaintCallback.idl.
667         * html/canvas/WebMetalRenderPassAttachmentDescriptor.h:
668         * platform/graphics/CustomPaintImage.cpp:
669         (WebCore::CustomPaintImage::doCustomPaint):
670
671 2018-10-22  Keith Rollin  <krollin@apple.com>
672
673         Use Location = "Relative to Build Products" rather than "Relative to Group"
674         https://bugs.webkit.org/show_bug.cgi?id=190781
675
676         Reviewed by Alexey Proskuryakov.
677
678         Almost all Derived Files are included in Xcode projects with the
679         Location attribute set to "Relative to Group". While this currently
680         works, the Derived Files can no longer be found when enabling XCBuild
681         (which has stricter requirements). Fix this by setting the Location
682         attribute to "Relative to Build Products".
683
684         No new tests -- no changed functionality.
685
686         * WebCore.xcodeproj/project.pbxproj:
687
688 2018-10-22  Zalan Bujtas  <zalan@apple.com>
689
690         [LFC][IFC] Add justify text-align support.
691         https://bugs.webkit.org/show_bug.cgi?id=190779
692
693         Reviewed by Antti Koivisto.
694
695         Collect expansion opportunities and adjust runs accordingly.
696
697         * layout/inlineformatting/InlineFormattingContext.cpp:
698         (WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
699         * layout/inlineformatting/InlineFormattingContext.h:
700         * layout/inlineformatting/InlineRun.h:
701         (WebCore::Layout::InlineRun::expansionOpportunity):
702         (WebCore::Layout::InlineRun::TextContext::setStart):
703         (WebCore::Layout::InlineRun::TextContext::setLength):
704         (WebCore::Layout::InlineRun::setTextContext):
705         (WebCore::Layout::InlineRun::createRun): Deleted.
706         (WebCore::Layout::InlineRun::createTextRun): Deleted.
707         * layout/inlineformatting/Line.cpp:
708         (WebCore::Layout::InlineFormattingContext::Line::Line):
709         (WebCore::Layout::InlineFormattingContext::Line::init):
710         (WebCore::Layout::InlineFormattingContext::Line::computeExpansionOpportunities):
711         (WebCore::Layout::InlineFormattingContext::Line::appendContent):
712         (WebCore::Layout::InlineFormattingContext::Line::justifyRuns):
713         (WebCore::Layout::InlineFormattingContext::Line::close):
714         (WebCore::Layout::isNonCollapsedText): Deleted.
715
716 2018-10-22  Zalan Bujtas  <zalan@apple.com>
717
718         [LFC][IFC] Add (right, center)text-align support.
719         https://bugs.webkit.org/show_bug.cgi?id=190745
720
721         Reviewed by Antti Koivisto.
722
723         Adjust the logical left of each run while closing the line.
724
725         * layout/Verification.cpp:
726         (WebCore::Layout::outputMismatchingSimpleLineInformationIfNeeded):
727         (WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
728         * layout/inlineformatting/InlineFormattingContext.cpp:
729         (WebCore::Layout::trimLeadingRun):
730         (WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
731         * layout/inlineformatting/InlineFormattingContext.h:
732         (WebCore::Layout::InlineFormattingContext::Line::hasContent const):
733         (WebCore::Layout::InlineFormattingContext::Line::contentLogicalLeft const): Deleted.
734         * layout/inlineformatting/InlineLineBreaker.cpp:
735         (WebCore::Layout::InlineLineBreaker::nextRun):
736         (WebCore::Layout::InlineLineBreaker::splitRun):
737         * layout/inlineformatting/InlineLineBreaker.h:
738         * layout/inlineformatting/InlineRun.h:
739         (WebCore::Layout::InlineRun::setLogicalLeft):
740         (WebCore::Layout::InlineRun::TextContext::start const):
741         (WebCore::Layout::InlineRun::createRun):
742         (WebCore::Layout::InlineRun::createTextRun):
743         (WebCore::Layout::InlineRun::InlineRun):
744         (WebCore::Layout::InlineRun::TextContext::TextContext):
745         (WebCore::Layout::InlineRun::TextContext::position const): Deleted.
746         * layout/inlineformatting/Line.cpp:
747         (WebCore::Layout::InlineFormattingContext::Line::Line):
748         (WebCore::Layout::InlineFormattingContext::Line::init):
749         (WebCore::Layout::adjustedLineLogicalLeft):
750         (WebCore::Layout::InlineFormattingContext::Line::contentLogicalRight):
751         (WebCore::Layout::InlineFormattingContext::Line::appendContent):
752         (WebCore::Layout::InlineFormattingContext::Line::close):
753         (WebCore::Layout::InlineFormattingContext::Line::setConstraints): Deleted.
754         * layout/layouttree/LayoutTreeBuilder.cpp:
755         (WebCore::Layout::outputInlineRuns):
756
757 2018-10-22  Zalan Bujtas  <zalan@apple.com>
758
759         [LFC][IFC] Implement Replaced helper class.
760         https://bugs.webkit.org/show_bug.cgi?id=190719
761
762         Reviewed by Antti Koivisto.
763
764         * layout/layouttree/LayoutBox.cpp:
765         (WebCore::Layout::Box::Box):
766         * layout/layouttree/LayoutBox.h:
767         (WebCore::Layout::Box::replaced const):
768         * layout/layouttree/LayoutReplaced.cpp:
769         (WebCore::Layout::Replaced::Replaced):
770         (WebCore::Layout::Replaced::hasIntrinsicWidth const):
771         (WebCore::Layout::Replaced::hasIntrinsicHeight const):
772         (WebCore::Layout::Replaced::hasIntrinsicRatio const):
773         (WebCore::Layout::Replaced::intrinsicWidth const):
774         (WebCore::Layout::Replaced::intrinsicHeight const):
775         (WebCore::Layout::Replaced::intrinsicRatio const):
776         * layout/layouttree/LayoutReplaced.h:
777         (WebCore::Layout::Replaced::hasIntrinsicWidth const): Deleted.
778         (WebCore::Layout::Replaced::hasIntrinsicHeight const): Deleted.
779         (WebCore::Layout::Replaced::hasIntrinsicRatio const): Deleted.
780         (WebCore::Layout::Replaced::intrinsicWidth const): Deleted.
781         (WebCore::Layout::Replaced::intrinsicHeight const): Deleted.
782         (WebCore::Layout::Replaced::intrinsicRatio const): Deleted.
783         * layout/layouttree/LayoutTreeBuilder.cpp:
784         (WebCore::Layout::TreeBuilder::createSubTree):
785
786 2018-10-22  Zalan Bujtas  <zalan@apple.com>
787
788         [LFC][IFC] Block formatting context roots avoid floats.
789         https://bugs.webkit.org/show_bug.cgi?id=190723
790
791         Reviewed by Antti Koivisto.
792
793         Inline formatting context roots don't avoid floats (unless they also establish block formatting context).
794
795         * layout/blockformatting/BlockFormattingContext.cpp:
796         (WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
797
798 2018-10-20  YUHAN WU  <yuhan_wu@apple.com>
799
800         MediaRecorder should fire a stop event when all tracks are ended
801         https://bugs.webkit.org/show_bug.cgi?id=190642
802
803         Reviewed by Youenn Fablet.
804
805         This patch only implements to fire the stop event when all tracks are ended.
806         We will need to fire a dataavailable event when all tracks are ended.
807
808         Test: imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
809
810         * Modules/mediarecorder/MediaRecorder.cpp:
811         (WebCore::MediaRecorder::MediaRecorder):
812         (WebCore::MediaRecorder::~MediaRecorder):
813         (WebCore::MediaRecorder::trackEnded):
814         * Modules/mediarecorder/MediaRecorder.h:
815         * Modules/mediarecorder/MediaRecorder.idl:
816         * WebCore.xcodeproj/project.pbxproj:
817         * dom/EventNames.h:
818
819 2018-10-19  Stephan Szabo  <stephan.szabo@sony.com>
820
821         [WinCairo] Search terms are not saved for <input type="search">
822         https://bugs.webkit.org/show_bug.cgi?id=188174
823
824         Reviewed by Fujii Hironori.
825
826         No new tests, should be covered by existing tests of search 
827         inputs.
828
829         Add support for saving the search terms for <input
830         type="search"> to a SQLite database, replacing the
831         CF-based implementation for Windows and adding support
832         for non-legacy WebKit.
833
834         * PlatformWin.cmake:
835         * platform/win/SearchPopupMenuDB.cpp: Added.
836         (WebCore::SearchPopupMenuDB::singleton):
837         (WebCore::SearchPopupMenuDB::SearchPopupMenuDB):
838         (WebCore::SearchPopupMenuDB::~SearchPopupMenuDB):
839         (WebCore::SearchPopupMenuDB::saveRecentSearches):
840         (WebCore::SearchPopupMenuDB::loadRecentSearches):
841         (WebCore::SearchPopupMenuDB::checkDatabaseValidity): Use
842         quick_check pragma to test database status.
843         (WebCore::SearchPopupMenuDB::deleteAllDatabaseFiles):
844         (WebCore::SearchPopupMenuDB::openDatabase):
845         (WebCore::SearchPopupMenuDB::closeDatabase):
846         (WebCore::SearchPopupMenuDB::verifySchemaVersion): Check
847         schema version and update for schema changes.
848         (WebCore::SearchPopupMenuDB::checkSQLiteReturnCode): Check
849         for error codes that indicate database errors and remove and
850         recreate the database.
851         (WebCore::SearchPopupMenuDB::executeSimpleSql):
852         (WebCore::SearchPopupMenuDB::createPreparedStatement):
853         * platform/win/SearchPopupMenuDB.h: Added.
854         * platform/win/SearchPopupMenuWin.cpp:
855         (WebCore::SearchPopupMenuWin::enabled): Always enable support
856         for search term popup
857         (WebCore::SearchPopupMenuWin::saveRecentSearches): Switch from
858         CF implementation to SQLite database implementation
859         (WebCore::SearchPopupMenuWin::loadRecentSearches): Switch from
860         CF implementation to SQLite database implementation
861         (WebCore::autosaveKey): Deleted.
862
863 2018-10-19  Justin Fan  <justin_fan@apple.com>
864
865         [WebGPU] Add stubs for WebGPUSwapChain and WebGPURenderingContext
866         https://bugs.webkit.org/show_bug.cgi?id=190742
867
868         Reviewed by Dean Jackson.
869
870         Test: updated webgpu-enabled.html to check for WebGPURenderingContext.
871
872         Implement support for creating a "webgpu" context from an HTML canvas.
873
874         * CMakeLists.txt:
875         * DerivedSources.make:
876         * Modules/webgpu/WebGPURenderingContext.cpp: Added.
877         (WebCore::WebGPURenderingContext::create):
878         (WebCore::WebGPURenderingContext::WebGPURenderingContext):
879         * Modules/webgpu/WebGPURenderingContext.h: Added.
880         * Modules/webgpu/WebGPURenderingContext.idl: Added.
881         * Modules/webgpu/WebGPUSwapChain.cpp: Added.
882         (WebCore::WebGPUSwapChain::configure):
883         (WebCore::WebGPUSwapChain::present):
884         (WebCore::WebGPUSwapChain::reshape):
885         (WebCore::WebGPUSwapChain::markLayerComposited):
886         * Modules/webgpu/WebGPUSwapChain.h: Added.
887         (WebCore::WebGPUSwapChain::WebGPUSwapChain):
888         * Modules/webgpu/WebGPUSwapChain.idl: Added.
889         * Modules/webgpu/WebGPUSwapChainDescriptor.h: Added.
890         * Modules/webgpu/WebGPUSwapChainDescriptor.idl: Added.
891         * Sources.txt:
892         * WebCore.xcodeproj/project.pbxproj:
893         * bindings/js/WebCoreBuiltinNames.h:
894         * dom/Document.cpp:
895         (WebCore::Document::getCSSCanvasContext):
896         * dom/Document.h:
897         * dom/Document.idl:
898         * html/HTMLCanvasElement.cpp:
899         (WebCore::HTMLCanvasElement::getContext):
900         (WebCore::HTMLCanvasElement::isWebGPUType):
901         (WebCore::HTMLCanvasElement::createContextWebGPU):
902         (WebCore::HTMLCanvasElement::getContextWebGPU):
903         * html/HTMLCanvasElement.h:
904         * html/HTMLCanvasElement.idl:
905         * html/canvas/CanvasRenderingContext.h:
906         (WebCore::CanvasRenderingContext::isWebGPU const):
907
908 2018-10-19  John Wilander  <wilander@apple.com>
909
910         Only cap lifetime of persistent cookies created client-side through document.cookie when resource load statistics is enabled
911         https://bugs.webkit.org/show_bug.cgi?id=190687
912         <rdar://problem/45349024>
913
914         Reviewed by Alex Christensen.
915
916         Test: http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js.html
917
918         NetworkStorageSession::setCookiesFromDOM() now consults the new
919         m_shouldCapLifetimeForClientSideCookies member variable before
920         capping the lifetime of cookies.
921
922         * loader/ResourceLoadStatistics.cpp:
923         (WebCore::ResourceLoadStatistics::toString const):
924         (WebCore::ResourceLoadStatistics::merge):
925             Removal of the isMarkedForCookieBlocking member.
926         * loader/ResourceLoadStatistics.h:
927             Removal of the isMarkedForCookieBlocking member.
928         * platform/network/NetworkStorageSession.h:
929         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
930         (WebCore::NetworkStorageSession::setShouldCapLifetimeForClientSideCookies):
931         (WebCore::NetworkStorageSession::setPrevalentDomainsToBlockCookiesFor):
932             No longer takes the boolean clearFirst parameter and now always clears first.
933         * platform/network/cocoa/NetworkStorageSessionCocoa.mm:
934         (WebCore::filterCookies):
935         (WebCore::NetworkStorageSession::setCookiesFromDOM const):
936
937 2018-10-19  Zalan Bujtas  <zalan@apple.com>
938
939         [LFC][IFC] RenderReplaced renderer should create InlineBox
940         https://bugs.webkit.org/show_bug.cgi?id=190720
941
942         Reviewed by Antti Koivisto.
943
944         * layout/layouttree/LayoutTreeBuilder.cpp:
945         (WebCore::Layout::TreeBuilder::createSubTree):
946
947 2018-10-19  Zalan Bujtas  <zalan@apple.com>
948
949         [LFC][IFC] Inline replaced width should default to 300px only if width is auto.
950         https://bugs.webkit.org/show_bug.cgi?id=190722
951
952         Reviewed by Antti Koivisto.
953
954         See #5
955
956         // 5. Otherwise, if 'width' has a computed value of 'auto', but none of the conditions above are met, then the used value of 'width' becomes 300px.
957
958         * layout/FormattingContextGeometry.cpp:
959         (WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
960
961 2018-10-19  Zalan Bujtas  <zalan@apple.com>
962
963         [LFC][IFC] Add inline runs to showLayoutTree
964         https://bugs.webkit.org/show_bug.cgi?id=190718
965
966         Reviewed by Antti Koivisto.
967
968         * layout/layouttree/LayoutTreeBuilder.cpp:
969         (WebCore::Layout::outputInlineRuns):
970         (WebCore::Layout::outputLayoutBox):
971         (WebCore::Layout::outputLayoutTree):
972
973 2018-10-19  Zalan Bujtas  <zalan@apple.com>
974
975         [LFC][IFC] Remove the previous version of inline content handling.
976         https://bugs.webkit.org/show_bug.cgi?id=190716
977
978         Reviewed by Antti Koivisto.
979
980         * Sources.txt:
981         * WebCore.xcodeproj/project.pbxproj:
982         * layout/Verification.cpp:
983         (WebCore::Layout::areEssentiallyEqual):
984         (WebCore::Layout::outputMismatchingSimpleLineInformationIfNeeded):
985         (WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
986         * layout/inlineformatting/InlineFormattingState.h:
987         (WebCore::Layout::InlineFormattingState::inlineContent):
988         (WebCore::Layout::InlineFormattingState::addLayoutRuns): Deleted.
989         (WebCore::Layout::InlineFormattingState::layoutRuns const): Deleted.
990         * layout/inlineformatting/text/TextUtil.cpp: Renamed from Source/WebCore/layout/inlineformatting/textlayout/TextUtil.cpp.
991         (WebCore::Layout::TextUtil::TextUtil):
992         (WebCore::Layout::TextUtil::width const):
993         (WebCore::Layout::TextUtil::hyphenPositionBefore const):
994         (WebCore::Layout::TextUtil::textWidth const):
995         (WebCore::Layout::TextUtil::fixedPitchWidth const):
996         * layout/inlineformatting/text/TextUtil.h: Renamed from Source/WebCore/layout/inlineformatting/textlayout/TextUtil.h.
997         * layout/inlineformatting/textlayout/Runs.h: Removed.
998         * layout/inlineformatting/textlayout/TextContentProvider.cpp: Removed.
999         * layout/inlineformatting/textlayout/TextContentProvider.h: Removed.
1000         * layout/inlineformatting/textlayout/simple/SimpleLineBreaker.cpp: Removed.
1001         * layout/inlineformatting/textlayout/simple/SimpleLineBreaker.h: Removed.
1002         * layout/inlineformatting/textlayout/simple/SimpleTextRunGenerator.cpp: Removed.
1003         * layout/inlineformatting/textlayout/simple/SimpleTextRunGenerator.h: Removed.
1004
1005 2018-10-19  Zalan Bujtas  <zalan@apple.com>
1006
1007         [LFC][IFC] Add generic inline content handling.
1008         https://bugs.webkit.org/show_bug.cgi?id=190713
1009
1010         Reviewed by Antti Koivisto.
1011
1012         layoutInlineContent turns InlineLineBreaker::Run objects into final inline runs by
1013         resolving heading/trailing whitespace, aligment, expansion opportunities etc.
1014         These inline runs are input to the display tree construction.
1015
1016         * Sources.txt:
1017         * WebCore.xcodeproj/project.pbxproj:
1018         * layout/displaytree/DisplayBox.h:
1019         * layout/inlineformatting/InlineFormattingContext.cpp:
1020         (WebCore::Layout::InlineFormattingContext::layout const):
1021         (WebCore::Layout::trimLeadingRun):
1022         (WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
1023         (WebCore::Layout::InlineFormattingContext::computeWidthAndHeight const):
1024         * layout/inlineformatting/InlineFormattingContext.h:
1025         (WebCore::Layout::InlineFormattingContext::Line::hasContent const):
1026         (WebCore::Layout::InlineFormattingContext::Line::contentLogicalLeft const):
1027         (WebCore::Layout::InlineFormattingContext::Line::availableWidth const):
1028         * layout/inlineformatting/InlineFormattingState.h:
1029         (WebCore::Layout::InlineFormattingState::inlineRuns):
1030         (WebCore::Layout::InlineFormattingState::appendInlineRun):
1031         * layout/inlineformatting/InlineLineBreaker.cpp:
1032         (WebCore::Layout::InlineLineBreaker::nextRun):
1033         (WebCore::Layout::InlineLineBreaker::nextLayoutRun): Deleted.
1034         * layout/inlineformatting/InlineLineBreaker.h:
1035         * layout/inlineformatting/InlineRun.h: Added.
1036         (WebCore::Layout::InlineRun::logicalLeft const):
1037         (WebCore::Layout::InlineRun::logicalRight const):
1038         (WebCore::Layout::InlineRun::width const):
1039         (WebCore::Layout::InlineRun::setWidth):
1040         (WebCore::Layout::InlineRun::setLogicalRight):
1041         (WebCore::Layout::InlineRun::TextContext::position const):
1042         (WebCore::Layout::InlineRun::TextContext::length const):
1043         (WebCore::Layout::InlineRun::TextContext::setLength):
1044         (WebCore::Layout::InlineRun::textContext):
1045         (WebCore::Layout::InlineRun::inlineItem const):
1046         (WebCore::Layout::InlineRun::InlineRun):
1047         (WebCore::Layout::InlineRun::TextContext::TextContext):
1048         * layout/inlineformatting/Line.cpp: Added.
1049         (WebCore::Layout::InlineFormattingContext::Line::Line):
1050         (WebCore::Layout::InlineFormattingContext::Line::setConstraints):
1051         (WebCore::Layout::isNonCollapsedText):
1052         (WebCore::Layout::isTrimmableContent):
1053         (WebCore::Layout::InlineFormattingContext::Line::appendContent):
1054         (WebCore::Layout::InlineFormattingContext::Line::close):
1055
1056 2018-10-19  Zalan Bujtas  <zalan@apple.com>
1057
1058         [LFC][IFC] Add generic inline line breaker
1059         https://bugs.webkit.org/show_bug.cgi?id=190698
1060
1061         Reviewed by Antti Koivisto.
1062
1063         InlineLineBreaker takes the inline runs and applies the appropriate line breaking rules on them.
1064         InlineRunProvider::Run objects ->
1065
1066             <foobar><image box><hello>< ><world>
1067
1068         InlineLineBreaker::Run ->
1069
1070             <foobar><image box><hello world>
1071
1072         InlineLineBreaker::Run also contains information whether the run is at the beginning or at the end of the line.
1073
1074         * Sources.txt:
1075         * WebCore.xcodeproj/project.pbxproj:
1076         * layout/LayoutContext.h:
1077         (WebCore::Layout::LayoutContext::hasDisplayBox const):
1078         * layout/inlineformatting/InlineLineBreaker.cpp: Added.
1079         (WebCore::Layout::InlineLineBreaker::InlineLineBreaker):
1080         (WebCore::Layout::InlineLineBreaker::nextLayoutRun):
1081         (WebCore::Layout::InlineLineBreaker::isAtContentEnd const):
1082         (WebCore::Layout::InlineLineBreaker::lineBreakingBehavior):
1083         (WebCore::Layout::InlineLineBreaker::runWidth const):
1084         (WebCore::Layout::InlineLineBreaker::splitRun):
1085         (WebCore::Layout::InlineLineBreaker::adjustSplitPositionWithHyphenation const):
1086         * layout/inlineformatting/InlineLineBreaker.h: Added.
1087         * layout/inlineformatting/textlayout/TextUtil.cpp: Added.
1088         (WebCore::Layout::TextUtil::TextUtil):
1089         (WebCore::Layout::TextUtil::width const):
1090         (WebCore::Layout::TextUtil::hyphenPositionBefore const):
1091         (WebCore::Layout::TextUtil::textWidth const):
1092         (WebCore::Layout::TextUtil::fixedPitchWidth const):
1093         * layout/inlineformatting/textlayout/TextUtil.h: Added.
1094         * layout/layouttree/LayoutBox.cpp:
1095
1096 2018-10-19  Zalan Bujtas  <zalan@apple.com>
1097
1098         [LFC][IFC] Add generic inline run generator.
1099         https://bugs.webkit.org/show_bug.cgi?id=190696
1100
1101         Reviewed by Antti Koivisto.
1102
1103         InlineRunProvider turns the following inline content ->
1104
1105             <span>foo<span>bar</span></span>
1106             <img src="broken.jpg"><span>hello world</span>
1107
1108         into a set of runs ->
1109
1110             <foobar><image box><hello>< ><world>
1111
1112         Note that a text run can overlap multiple inline elements. InlineRunProvider::Run only stores a reference to
1113         the first inline element (continuous content can be accessed by iterating through the InlineContent ListHashSet).
1114         These runs are the input to the line breaking algoritm.
1115
1116         * Sources.txt:
1117         * WebCore.xcodeproj/project.pbxproj:
1118         * layout/inlineformatting/InlineFormattingContext.cpp:
1119         (WebCore::Layout::InlineFormattingContext::layout const):
1120         * layout/inlineformatting/InlineFormattingState.h:
1121         (WebCore::Layout::InlineFormattingState::inlineContent):
1122         * layout/inlineformatting/InlineItem.h: Added.
1123         (WebCore::Layout::InlineItem::layoutBox const):
1124         (WebCore::Layout::InlineItem::style const):
1125         (WebCore::Layout::InlineItemHashFunctions::hash):
1126         (WebCore::Layout::InlineItemHashFunctions::equal):
1127         (WebCore::Layout::InlineItemHashTranslator::hash):
1128         (WebCore::Layout::InlineItemHashTranslator::equal):
1129         (WebCore::Layout::InlineItem::InlineItem):
1130         (WebCore::Layout::InlineItem::type const):
1131         (WebCore::Layout::InlineItem::textContent const):
1132         * layout/inlineformatting/InlineRunProvider.cpp: Added.
1133         (WebCore::Layout::InlineRunProvider::InlineRunProvider):
1134         (WebCore::Layout::InlineRunProvider::append):
1135         (WebCore::Layout::InlineRunProvider::insertBefore):
1136         (WebCore::Layout::InlineRunProvider::remove):
1137         (WebCore::Layout::isWhitespace):
1138         (WebCore::Layout::isSoftLineBreak):
1139         (WebCore::Layout::InlineRunProvider::isContinousContent):
1140         (WebCore::Layout::InlineRunProvider::processInlineTextItem):
1141         (WebCore::Layout::InlineRunProvider::moveToNextNonWhitespacePosition):
1142         (WebCore::Layout::InlineRunProvider::moveToNextBreakablePosition):
1143         * layout/inlineformatting/InlineRunProvider.h: Added.
1144         (WebCore::Layout::InlineRunProvider::Run::type const):
1145         (WebCore::Layout::InlineRunProvider::Run::isText const):
1146         (WebCore::Layout::InlineRunProvider::Run::isWhitespace const):
1147         (WebCore::Layout::InlineRunProvider::Run::isNonWhitespace const):
1148         (WebCore::Layout::InlineRunProvider::Run::isLineBreak const):
1149         (WebCore::Layout::InlineRunProvider::Run::isBox const):
1150         (WebCore::Layout::InlineRunProvider::Run::isFloat const):
1151         (WebCore::Layout::InlineRunProvider::Run::TextContext::start const):
1152         (WebCore::Layout::InlineRunProvider::Run::TextContext::length const):
1153         (WebCore::Layout::InlineRunProvider::Run::TextContext::isCollapsed const):
1154         (WebCore::Layout::InlineRunProvider::Run::TextContext::setStart):
1155         (WebCore::Layout::InlineRunProvider::Run::TextContext::setLength):
1156         (WebCore::Layout::InlineRunProvider::Run::textContext const):
1157         (WebCore::Layout::InlineRunProvider::Run::style const):
1158         (WebCore::Layout::InlineRunProvider::Run::inlineItem const):
1159         (WebCore::Layout::InlineRunProvider::runs const):
1160         (WebCore::Layout::InlineRunProvider::Run::createBoxRun):
1161         (WebCore::Layout::InlineRunProvider::Run::createFloatRun):
1162         (WebCore::Layout::InlineRunProvider::Run::createSoftLineBreakRun):
1163         (WebCore::Layout::InlineRunProvider::Run::createHardLineBreakRun):
1164         (WebCore::Layout::InlineRunProvider::Run::createWhitespaceRun):
1165         (WebCore::Layout::InlineRunProvider::Run::createNonWhitespaceRun):
1166         (WebCore::Layout::InlineRunProvider::Run::Run):
1167         (WebCore::Layout::InlineRunProvider::Run::TextContext::TextContext):
1168         * layout/layouttree/LayoutBox.h:
1169         (WebCore::Layout::Box::isLineBreakBox const):
1170         * layout/layouttree/LayoutInlineBox.cpp:
1171         (WebCore::Layout::InlineBox::InlineBox):
1172         * layout/layouttree/LayoutInlineBox.h:
1173         (WebCore::Layout::InlineBox::hasTextContent const):
1174         (WebCore::Layout::InlineBox::textContent const):
1175         * layout/layouttree/LayoutLineBreakBox.cpp: Copied from Source/WebCore/layout/layouttree/LayoutInlineBox.cpp.
1176         (WebCore::Layout::LineBreakBox::LineBreakBox):
1177         * layout/layouttree/LayoutLineBreakBox.h: Copied from Source/WebCore/layout/layouttree/LayoutInlineBox.cpp.
1178
1179 2018-10-19  Ali Juma  <ajuma@chromium.org>
1180
1181         [IntersectionObserver] Handle zero-area intersections
1182         https://bugs.webkit.org/show_bug.cgi?id=189624
1183
1184         Reviewed by Simon Fraser.
1185
1186         Use edge-inclusive intersection when applying clips and intersecting with the
1187         root, so that two rects that touch each other are considered intersecting even
1188         if the area of their intersection is 0.
1189
1190         Covered by rebased tests in imported/w3c/web-platform-tests/intersection-observer.
1191
1192         * dom/Document.cpp:
1193         (WebCore::computeIntersectionState):
1194         (WebCore::Document::updateIntersectionObservations):
1195         (WebCore::computeIntersectionRects): Deleted.
1196
1197 2018-10-18  Eric Carlson  <eric.carlson@apple.com>
1198
1199         [MediaStream] Allow ports to optionally do screen capture in the UI process
1200         https://bugs.webkit.org/show_bug.cgi?id=190728
1201         <rdar://problem/45376824>
1202
1203         Reviewed by Jer Noble and Tim Horton.
1204
1205         No new tests, covered by existing tests.
1206
1207         * Sources.txt: Add RemoteVideoSample.cpp.
1208         * WebCore.xcodeproj/project.pbxproj: Ditto.
1209
1210         * platform/MediaSample.h:
1211         (WebCore::MediaSample::videoPixelFormat const):
1212
1213         * platform/graphics/RemoteVideoSample.cpp: Added.
1214         (WebCore::RemoteVideoSample::~RemoteVideoSample):
1215         (WebCore::RemoteVideoSample::create):
1216         (WebCore::RemoteVideoSample::RemoteVideoSample):
1217         (WebCore::RemoteVideoSample::surface):
1218         * platform/graphics/RemoteVideoSample.h: Added.
1219         (WebCore::RemoteVideoSample::time const):
1220         (WebCore::RemoteVideoSample::videoFormat const):
1221         (WebCore::RemoteVideoSample::size const):
1222         (WebCore::RemoteVideoSample::encode const):
1223         (WebCore::RemoteVideoSample::decode):
1224         * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
1225         * platform/graphics/cv/ImageTransferSessionVT.h:
1226
1227         * platform/mediastream/RealtimeMediaSource.cpp:
1228         (WebCore::RealtimeMediaSource::remoteVideoSampleAvailable): Call observers.
1229         * platform/mediastream/RealtimeMediaSource.h:
1230
1231         * platform/mediastream/RealtimeVideoSource.cpp:
1232         (WebCore::RealtimeVideoSource::dispatchMediaSampleToObservers): Dispatch remote samples without
1233         resizing, resize local samples if necessary.
1234         * platform/mediastream/RealtimeVideoSource.h:
1235
1236         * platform/mediastream/mac/AVVideoCaptureSource.mm:
1237         (WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Don't resize
1238         samples, it will be done in the base class if necessary.
1239
1240         * platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
1241         (WebCore::DisplayCaptureSourceCocoa::emitFrame): Don't resize samples when running in the UI
1242         process, it will be done in the web process.
1243
1244         * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp: Remove unneeded include.
1245
1246 2018-10-18  Said Abou-Hallawa  <sabouhallawa@apple.com>
1247
1248         [CG] Adopt CG SPI for non-even cornered rounded rects
1249         https://bugs.webkit.org/show_bug.cgi?id=190155
1250
1251         Reviewed by Simon Fraser.
1252
1253         Instead of creating bezier curves for the non-even corners of the rounded
1254         rects, we should use the optimized SPI provided by CG.
1255
1256         * platform/graphics/cg/PathCG.cpp:
1257         (WebCore::Path::platformAddPathForRoundedRect):
1258
1259 2018-10-18  Justin Michaud  <justin_michaud@apple.com>
1260
1261         Add new image type for CSS painting API
1262         https://bugs.webkit.org/show_bug.cgi?id=190697
1263
1264         Reviewed by Dean Jackson.
1265
1266         Add a new image type for the CSS painting API, and hook it up so it can be drawn.
1267         For now, it uses a WebGL rendering context from OfflineCanvas because that was
1268         easy to hook up. The spec actually calls for a RenderingContext2D, which can be
1269         handled in another patch.
1270
1271         * Sources.txt:
1272         * WebCore.xcodeproj/project.pbxproj:
1273         * css/CSSImageGeneratorValue.cpp:
1274         (WebCore::CSSImageGeneratorValue::image):
1275         (WebCore::CSSImageGeneratorValue::isFixedSize const):
1276         (WebCore::CSSImageGeneratorValue::fixedSize):
1277         (WebCore::CSSImageGeneratorValue::isPending const):
1278         (WebCore::CSSImageGeneratorValue::knownToBeOpaque const):
1279         (WebCore::CSSImageGeneratorValue::loadSubimages):
1280         * css/CSSPaintCallback.h:
1281         * css/CSSPaintCallback.idl:
1282         * css/CSSPaintImageValue.cpp:
1283         (WebCore::CSSPaintImageValue::image):
1284         * css/CSSPaintImageValue.h:
1285         * platform/graphics/CustomPaintImage.cpp: Added.
1286         (WebCore::CustomPaintImage::CustomPaintImage):
1287         (WebCore::CustomPaintImage::doCustomPaint):
1288         (WebCore::CustomPaintImage::draw):
1289         (WebCore::CustomPaintImage::drawPattern):
1290         * platform/graphics/CustomPaintImage.h: Copied from Source/WebCore/css/CSSPaintCallback.h.
1291         * platform/graphics/Image.h:
1292         (WebCore::Image::isCustomPaintImage const):
1293         * platform/graphics/ImageBuffer.h:
1294         * platform/graphics/cairo/CairoOperations.cpp:
1295
1296 2018-10-18  Truitt Savell  <tsavell@apple.com>
1297
1298         Unreviewed, rolling out r237272.
1299
1300         Broke on device iOS builds and Windows builds
1301
1302         Reverted changeset:
1303
1304         "[MediaStream] Allow ports to optionally do screen capture in
1305         the UI process"
1306         https://bugs.webkit.org/show_bug.cgi?id=190728
1307         https://trac.webkit.org/changeset/237272
1308
1309 2018-10-18  Jer Noble  <jer.noble@apple.com>
1310
1311         [MSE] timestampOffset can introduce floating-point rounding errors to incoming samples
1312         https://bugs.webkit.org/show_bug.cgi?id=190590
1313         <rdar://problem/45275626>
1314
1315         Reviewed by Eric Carlson.
1316
1317         Test: media/media-source/media-source-timestampoffset-rounding-error.html
1318
1319         SourceBuffer.timestampOffset is a double property, which, when added to a MediaTime will
1320         result in a double-backed MediaTime as PTS & DTS. This can introduce rounding errors when
1321         these samples are appended as overlapping existing samples. Rather than converting a MediaTime
1322         to double-backed when adding the timestampOffset, convert the offset to a multiple of the
1323         sample's timeBase.
1324
1325         * Modules/mediasource/SourceBuffer.cpp:
1326         (WebCore::SourceBuffer::setTimestampOffset):
1327         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
1328
1329 2018-10-18  Eric Carlson  <eric.carlson@apple.com>
1330
1331         [MediaStream] Allow ports to optionally do screen capture in the UI process
1332         https://bugs.webkit.org/show_bug.cgi?id=190728
1333         <rdar://problem/45376824>
1334
1335         Reviewed by Jer Noble and Tim Horton.
1336
1337         No new tests, covered by existing tests.
1338
1339         * Sources.txt: Add RemoteVideoSample.cpp.
1340         * WebCore.xcodeproj/project.pbxproj: Ditto.
1341
1342         * platform/MediaSample.h:
1343         (WebCore::MediaSample::videoPixelFormat const):
1344
1345         * platform/graphics/RemoteVideoSample.cpp: Added.
1346         (WebCore::RemoteVideoSample::~RemoteVideoSample):
1347         (WebCore::RemoteVideoSample::create):
1348         (WebCore::RemoteVideoSample::RemoteVideoSample):
1349         (WebCore::RemoteVideoSample::surface):
1350         * platform/graphics/RemoteVideoSample.h: Added.
1351         (WebCore::RemoteVideoSample::time const):
1352         (WebCore::RemoteVideoSample::videoFormat const):
1353         (WebCore::RemoteVideoSample::size const):
1354         (WebCore::RemoteVideoSample::encode const):
1355         (WebCore::RemoteVideoSample::decode):
1356         * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
1357         * platform/graphics/cv/ImageTransferSessionVT.h:
1358
1359         * platform/mediastream/RealtimeMediaSource.cpp:
1360         (WebCore::RealtimeMediaSource::remoteVideoSampleAvailable): Call observers.
1361         * platform/mediastream/RealtimeMediaSource.h:
1362
1363         * platform/mediastream/RealtimeVideoSource.cpp:
1364         (WebCore::RealtimeVideoSource::dispatchMediaSampleToObservers): Dispatch remote samples without
1365         resizing, resize local samples if necessary.
1366         * platform/mediastream/RealtimeVideoSource.h:
1367
1368         * platform/mediastream/mac/AVVideoCaptureSource.mm:
1369         (WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Don't resize
1370         samples, it will be done in the base class if necessary.
1371
1372         * platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
1373         (WebCore::DisplayCaptureSourceCocoa::emitFrame): Don't resize samples when running in the UI
1374         process, it will be done in the web process.
1375
1376         * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp: Remove unneeded include.
1377
1378 2018-10-18  Jer Noble  <jer.noble@apple.com>
1379
1380         Safari is not able to adapt between H264 streams with EditList and without EditList
1381         https://bugs.webkit.org/show_bug.cgi?id=190638
1382         <rdar://problem/45342208>
1383
1384         Reviewed by Eric Carlson.
1385
1386         Test: media/media-source/media-source-append-overlapping-dts.html
1387
1388         The MSE frame replacement algorithm does not take decode timestamps into account; this can
1389         lead to situations where the replacement algorithm may leave in place frames where the 
1390         presentationTimestamp is less than the replacement frame, but whose decodeTimestamp is
1391         after the replacement frame. When re-enqueuing these frames, they may cause a decode error
1392         if they break the group-of-pictures sequence of the replaced range.
1393
1394         * Modules/mediasource/SampleMap.cpp:
1395         (WebCore::DecodeOrderSampleMap::findSamplesBetweenDecodeKeys):
1396         * Modules/mediasource/SampleMap.h:
1397         * Modules/mediasource/SourceBuffer.cpp:
1398         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
1399
1400 2018-10-18  Per Arne Vollan  <pvollan@apple.com>
1401
1402         [WebVTT] Region parameter and value should be separated by ':'
1403         https://bugs.webkit.org/show_bug.cgi?id=190735
1404
1405         Reviewed by Eric Carlson.
1406
1407         This is specified in https://w3c.github.io/webvtt/#region-settings.
1408
1409         No new tests. Modified existing tests.
1410
1411         * html/track/VTTRegion.cpp:
1412         (WebCore::VTTRegion::setRegionSettings):
1413
1414 2018-10-18  Jer Noble  <jer.noble@apple.com>
1415
1416         Add support for MediaKeyEncryptionScheme
1417         https://bugs.webkit.org/show_bug.cgi?id=190173
1418
1419         Reviewed by Eric Carlson.
1420
1421         Added sub-tests to: media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html
1422
1423         Add support for the MediaKeyEncryptionScheme extension to EME, as detailed here:
1424         <https://github.com/WICG/encrypted-media-encryption-scheme/blob/master/explainer.md>
1425
1426         As the strings "cenc" and "cbcs" are explicitly lower-case, add support to the bindings generator to keep
1427         those strings as lower-case when converting from IDL.
1428
1429         * CMakeLists.txt:
1430         * DerivedSources.make:
1431         * Modules/encryptedmedia/MediaKeyEncryptionScheme.h:
1432         * Modules/encryptedmedia/MediaKeyEncryptionScheme.idl:
1433         * Modules/encryptedmedia/MediaKeySystemMediaCapability.h:
1434         * Modules/encryptedmedia/MediaKeySystemMediaCapability.idl:
1435         * Sources.txt:
1436         * WebCore.xcodeproj/project.pbxproj:
1437         * bindings/scripts/CodeGenerator.pm:
1438         (WK_ucfirst):
1439         * platform/encryptedmedia/CDMEncryptionScheme.h: Copied from Source/WebCore/testing/MockCDMFactory.idl.
1440         * platform/encryptedmedia/CDMMediaCapability.h:
1441         * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
1442         (WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):
1443         * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
1444         * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
1445         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::supportsMediaCapability):
1446         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::initializeWithConfiguration):
1447         * testing/MockCDMFactory.cpp:
1448         (WebCore::m_supportedEncryptionSchemes):
1449         (WebCore::MockCDM::supportsConfiguration const):
1450         * testing/MockCDMFactory.h:
1451         (WebCore::MockCDMFactory::supportedEncryptionSchemes const):
1452         (WebCore::MockCDMFactory::setSupportedEncryptionSchemes):
1453         * testing/MockCDMFactory.idl:
1454
1455 2018-10-18  Alexey Proskuryakov  <ap@apple.com>
1456
1457         Switch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY)
1458         https://bugs.webkit.org/show_bug.cgi?id=190729
1459
1460         Reviewed by Tim Horton.
1461
1462         * DerivedSources.make:
1463         * Modules/applepay/cocoa/PaymentContactCocoa.mm:
1464         (WebCore::subLocality):
1465         (WebCore::setSubLocality):
1466         (WebCore::subAdministrativeArea):
1467         (WebCore::setSubAdministrativeArea):
1468         * Modules/encryptedmedia/legacy/LegacyCDMPrivateMediaPlayer.cpp:
1469         * Modules/geolocation/Geolocation.cpp:
1470         (WebCore::isRequestFromIBooks):
1471         * Modules/geolocation/GeolocationPosition.h:
1472         * Modules/geolocation/NavigatorGeolocation.cpp:
1473         * Modules/geolocation/NavigatorGeolocation.h:
1474         * Modules/geolocation/ios/GeolocationPositionIOS.mm:
1475         * Modules/mediasession/WebMediaSessionManager.cpp:
1476         * Modules/mediasession/WebMediaSessionManager.h:
1477         * Modules/mediastream/MediaDevicesRequest.cpp:
1478         (WebCore::MediaDevicesRequest::filterDeviceList):
1479         * Modules/plugins/QuickTimePluginReplacement.mm:
1480         (WebCore::JSQuickTimePluginReplacement::timedMetaData const):
1481         (WebCore::JSQuickTimePluginReplacement::accessLog const):
1482         (WebCore::JSQuickTimePluginReplacement::errorLog const):
1483         * Modules/speech/SpeechSynthesis.cpp:
1484         (WebCore::SpeechSynthesis::SpeechSynthesis):
1485         (WebCore::SpeechSynthesis::speak):
1486         * Modules/speech/SpeechSynthesis.h:
1487         * Modules/webaudio/AudioContext.cpp:
1488         * Modules/webaudio/AudioScheduledSourceNode.cpp:
1489         * Modules/webdatabase/Database.cpp:
1490         (WebCore::Database::performOpenAndVerify):
1491         * Modules/webdatabase/DatabaseContext.h:
1492         * Modules/webdatabase/DatabaseManagerClient.h:
1493         * Modules/webdatabase/DatabaseTracker.cpp:
1494         (WebCore::DatabaseTracker::deleteDatabaseFile):
1495         * Modules/webdatabase/DatabaseTracker.h:
1496         * WebCorePrefix.h:
1497         * accessibility/AXObjectCache.cpp:
1498         (WebCore::createFromRenderer):
1499         * accessibility/AccessibilityMediaObject.cpp:
1500         * accessibility/AccessibilityMediaObject.h:
1501         * accessibility/AccessibilityMenuList.cpp:
1502         (WebCore::AccessibilityMenuList::press):
1503         (WebCore::AccessibilityMenuList::isCollapsed const):
1504         * accessibility/AccessibilityObject.cpp:
1505         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
1506         (WebCore::AccessibilityObject::press):
1507         (WebCore::AccessibilityObject::actionVerb const):
1508         * accessibility/AccessibilityObject.h:
1509         * accessibility/AccessibilityRenderObject.cpp:
1510         (WebCore::AccessibilityRenderObject::stringValue const):
1511         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1512         (WebCore::AccessibilityRenderObject::actionVerb const):
1513         * accessibility/AccessibilityTableColumn.cpp:
1514         (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const):
1515         * accessibility/AccessibilityTableHeaderContainer.cpp:
1516         (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const):
1517         * accessibility/ios/AXObjectCacheIOS.mm:
1518         * accessibility/ios/AccessibilityObjectIOS.mm:
1519         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
1520         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1521         * bindings/js/CommonVM.cpp:
1522         (WebCore::commonVMSlow):
1523         * bindings/js/JSCallbackData.h:
1524         (WebCore::JSCallbackData::~JSCallbackData):
1525         * bindings/js/JSDOMWindowBase.cpp:
1526         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
1527         * bindings/js/ScriptController.cpp:
1528         (WebCore::ScriptController::initializeThreading):
1529         * bridge/objc/objc_class.mm:
1530         (JSC::Bindings::ObjcClass::fieldNamed const):
1531         * crypto/CommonCryptoUtilities.h:
1532         * crypto/mac/CryptoKeyRSAMac.cpp:
1533         * crypto/mac/SerializedCryptoKeyWrapMac.mm:
1534         (WebCore::masterKeyAccountNameForCurrentApplication):
1535         (WebCore::createAndStoreMasterKey):
1536         * css/CSSComputedStyleDeclaration.cpp:
1537         (WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
1538         * css/CSSProperties.json:
1539         * css/CSSStyleDeclaration.cpp:
1540         * css/CSSValueKeywords.in:
1541         * css/MediaQueryEvaluator.cpp:
1542         (WebCore::prefersReducedMotionEvaluate):
1543         * css/StyleBuilderConverter.h:
1544         * css/html.css:
1545         (video):
1546         (input, textarea, keygen, select, button):
1547         (#if defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY):
1548         (#if defined(ENABLE_INPUT_TYPE_DATE) && ENABLE_INPUT_TYPE_DATE):
1549         (#endif):
1550         (#if defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT):
1551         (textarea):
1552         (input:matches([type="radio"], [type="checkbox"])):
1553         (input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
1554         (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
1555         (#if !(defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY)):
1556         (input[type="checkbox"]):
1557         (#endif // defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR):
1558         (#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS): Deleted.
1559         (#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)): Deleted.
1560         * css/parser/CSSParserContext.cpp:
1561         (WebCore::CSSParserContext::CSSParserContext):
1562         * css/parser/CSSParserFastPaths.cpp:
1563         (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
1564         (WebCore::CSSParserFastPaths::isKeywordPropertyID):
1565         * css/parser/CSSPropertyParser.cpp:
1566         (WebCore::cssPropertyID):
1567         (WebCore::CSSPropertyParser::parseSingleValue):
1568         * css/parser/CSSPropertyParser.h:
1569         * css/svg.css:
1570         (#if defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY):
1571         (#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS): Deleted.
1572         * dom/DeviceMotionController.cpp:
1573         * dom/DeviceMotionController.h:
1574         * dom/DeviceOrientationController.cpp:
1575         (WebCore::DeviceOrientationController::DeviceOrientationController):
1576         * dom/DeviceOrientationController.h:
1577         * dom/DeviceOrientationData.cpp:
1578         * dom/DeviceOrientationData.h:
1579         * dom/DeviceOrientationEvent.cpp:
1580         * dom/DeviceOrientationEvent.h:
1581         * dom/DeviceOrientationEvent.idl:
1582         * dom/Document.cpp:
1583         (WebCore::Document::~Document):
1584         (WebCore::Document::suspendDeviceMotionAndOrientationUpdates):
1585         (WebCore::Document::resumeDeviceMotionAndOrientationUpdates):
1586         (WebCore::Document::platformSuspendOrStopActiveDOMObjects):
1587         * dom/Document.h:
1588         * dom/DocumentMarker.h:
1589         (WebCore::DocumentMarker::allMarkers):
1590         * dom/DocumentMarkerController.cpp:
1591         (WebCore::shouldInsertAsSeparateMarker):
1592         (WebCore::DocumentMarkerController::shiftMarkers):
1593         * dom/DocumentMarkerController.h:
1594         * dom/Element.cpp:
1595         (WebCore::Element::focus):
1596         * dom/Node.cpp:
1597         (WebCore::Node::~Node):
1598         (WebCore::Node::willBeDeletedFrom):
1599         (WebCore::Node::moveNodeToNewDocument):
1600         (WebCore::tryAddEventListener):
1601         (WebCore::tryRemoveEventListener):
1602         (WebCore::Node::defaultEventHandler):
1603         (WebCore::Node::willRespondToMouseMoveEvents):
1604         (WebCore::Node::willRespondToMouseClickEvents):
1605         * dom/Range.cpp:
1606         * dom/Range.h:
1607         * dom/TreeScope.cpp:
1608         (WebCore::absolutePointIfNotClipped):
1609         * dom/ViewportArguments.cpp:
1610         (WebCore::setViewportFeature):
1611         * dom/ViewportArguments.h:
1612         * editing/CompositeEditCommand.cpp:
1613         (WebCore::EditCommandComposition::unapply):
1614         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1615         (WebCore::CompositeEditCommand::moveParagraphs):
1616         * editing/Editor.cpp:
1617         (WebCore::TemporarySelectionChange::TemporarySelectionChange):
1618         (WebCore::TemporarySelectionChange::~TemporarySelectionChange):
1619         (WebCore::Editor::handleTextEvent):
1620         (WebCore::Editor::Editor):
1621         (WebCore::Editor::clear):
1622         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1623         (WebCore::Editor::setBaseWritingDirection):
1624         (WebCore::Editor::setComposition):
1625         (WebCore::Editor::showSpellingGuessPanel):
1626         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1627         (WebCore::Editor::markMisspellingsOrBadGrammar):
1628         (WebCore::Editor::changeBackToReplacedString):
1629         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
1630         (WebCore::Editor::revealSelectionAfterEditingOperation):
1631         (WebCore::Editor::setIgnoreSelectionChanges):
1632         (WebCore::Editor::changeSelectionAfterCommand):
1633         (WebCore::Editor::shouldChangeSelection const):
1634         (WebCore::Editor::respondToChangedSelection):
1635         (WebCore::Editor::editorUIUpdateTimerFired):
1636         (WebCore::Editor::resolveTextCheckingTypeMask):
1637         * editing/Editor.h:
1638         * editing/FontAttributes.h:
1639         * editing/FrameSelection.cpp:
1640         (WebCore::FrameSelection::FrameSelection):
1641         (WebCore::FrameSelection::updateDataDetectorsForSelection):
1642         (WebCore::FrameSelection::setSelectedRange):
1643         (WebCore::FrameSelection::updateAppearance):
1644         (WebCore::FrameSelection::shouldDeleteSelection const):
1645         (WebCore::FrameSelection::revealSelection):
1646         (WebCore::FrameSelection::setSelectionFromNone):
1647         (WebCore::FrameSelection::shouldChangeSelection const):
1648         * editing/FrameSelection.h:
1649         * editing/InsertIntoTextNodeCommand.cpp:
1650         * editing/InsertIntoTextNodeCommand.h:
1651         * editing/TypingCommand.cpp:
1652         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1653         (WebCore::TypingCommand::deleteKeyPressed):
1654         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1655         * editing/TypingCommand.h:
1656         * editing/cocoa/DataDetection.h:
1657         * editing/cocoa/DataDetection.mm:
1658         * editing/cocoa/FontAttributesCocoa.mm:
1659         * editing/cocoa/FontShadowCocoa.mm:
1660         (WebCore::FontShadow::createShadow const):
1661         * editing/cocoa/HTMLConverter.h:
1662         * editing/cocoa/HTMLConverter.mm:
1663         (_fontForNameAndSize):
1664         (_shadowForShadowStyle):
1665         (HTMLConverter::computedAttributesForElement):
1666         (HTMLConverter::_addAttachmentForElement):
1667         (HTMLConverter::_processMetaElementWithName):
1668         (HTMLConverter::_processElement):
1669         * editing/cocoa/WebContentReaderCocoa.mm:
1670         (WebCore::attributesForAttributedStringConversion):
1671         (WebCore::WebContentReader::readURL):
1672         * editing/ios/DictationCommandIOS.cpp:
1673         * editing/ios/DictationCommandIOS.h:
1674         * editing/ios/EditorIOS.mm:
1675         * editing/mac/FrameSelectionMac.mm:
1676         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1677         * fileapi/FileCocoa.mm:
1678         * history/CachedFrame.cpp:
1679         (WebCore::CachedFrameBase::restore):
1680         (WebCore::CachedFrame::CachedFrame):
1681         * history/CachedPage.cpp:
1682         (WebCore::CachedPage::restore):
1683         * history/HistoryItem.cpp:
1684         (WebCore::HistoryItem::HistoryItem):
1685         * history/HistoryItem.h:
1686         * history/PageCache.cpp:
1687         (WebCore::canCachePage):
1688         * html/BaseDateAndTimeInputType.cpp:
1689         * html/BaseDateAndTimeInputType.h:
1690         * html/ColorInputType.cpp:
1691         (WebCore::ColorInputType::isKeyboardFocusable const):
1692         * html/HTMLAppletElement.cpp:
1693         (WebCore::HTMLAppletElement::updateWidget):
1694         * html/HTMLAttachmentElement.h:
1695         * html/HTMLCanvasElement.cpp:
1696         (WebCore::maxActivePixelMemory):
1697         * html/HTMLElement.cpp:
1698         (WebCore::HTMLElement::collectStyleForPresentationAttribute):
1699         * html/HTMLIFrameElement.h:
1700         * html/HTMLImageElement.cpp:
1701         * html/HTMLImageElement.h:
1702         * html/HTMLInputElement.cpp:
1703         * html/HTMLInputElement.h:
1704         * html/HTMLMediaElement.cpp:
1705         (WebCore::HTMLMediaElement::finishInitialization):
1706         (WebCore::HTMLMediaElement::registerWithDocument):
1707         (WebCore::HTMLMediaElement::unregisterWithDocument):
1708         (WebCore::HTMLMediaElement::setVolume):
1709         (WebCore::HTMLMediaElement::nextScanRate):
1710         (WebCore::HTMLMediaElement::sourceWasAdded):
1711         (WebCore::HTMLMediaElement::mediaEngineWasUpdated):
1712         (WebCore::HTMLMediaElement::updateVolume):
1713         (WebCore::HTMLMediaElement::userCancelledLoad):
1714         (WebCore::HTMLMediaElement::mediaSessionTitle const):
1715         (WebCore::HTMLMediaElement::purgeBufferedDataIfPossible):
1716         * html/HTMLMediaElement.h:
1717         * html/HTMLMetaElement.cpp:
1718         (WebCore::HTMLMetaElement::process):
1719         * html/HTMLObjectElement.cpp:
1720         * html/HTMLPlugInElement.h:
1721         * html/HTMLSelectElement.cpp:
1722         (WebCore::HTMLSelectElement::usesMenuList const):
1723         (WebCore::HTMLSelectElement::createElementRenderer):
1724         (WebCore::HTMLSelectElement::childShouldCreateRenderer const):
1725         (WebCore::HTMLSelectElement::willRespondToMouseClickEvents):
1726         (WebCore::HTMLSelectElement::updateListBoxSelection):
1727         (WebCore::HTMLSelectElement::scrollToSelection):
1728         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
1729         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1730         (WebCore::HTMLSelectElement::defaultEventHandler):
1731         * html/HTMLTextAreaElement.cpp:
1732         (WebCore::HTMLTextAreaElement::createInnerTextStyle):
1733         * html/HTMLTextFormControlElement.cpp:
1734         (WebCore::HTMLTextFormControlElement::select):
1735         (WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
1736         * html/HTMLTextFormControlElement.h:
1737         * html/HTMLVideoElement.cpp:
1738         (WebCore::HTMLVideoElement::parseAttribute):
1739         (WebCore::HTMLVideoElement::supportsFullscreen const):
1740         * html/HTMLVideoElement.h:
1741         * html/ImageDocument.cpp:
1742         (WebCore::ImageDocument::ImageDocument):
1743         (WebCore::ImageDocument::createDocumentStructure):
1744         (WebCore::ImageDocument::imageUpdated):
1745         * html/ImageDocument.h:
1746         * html/InputType.cpp:
1747         * html/InputType.h:
1748         * html/MediaDocument.cpp:
1749         (WebCore::MediaDocumentParser::createDocumentStructure):
1750         * html/MediaElementSession.cpp:
1751         (WebCore::MediaElementSession::clientDataBufferingTimerFired):
1752         (WebCore::MediaElementSession::showPlaybackTargetPicker):
1753         (WebCore::MediaElementSession::wirelessVideoPlaybackDisabled const):
1754         (WebCore::MediaElementSession::setHasPlaybackTargetAvailabilityListeners):
1755         (WebCore::MediaElementSession::isPlayingToWirelessPlaybackTarget const):
1756         (WebCore::MediaElementSession::requiresFullscreenForVideoPlayback const):
1757         * html/MediaElementSession.h:
1758         * html/PluginDocument.cpp:
1759         (WebCore::PluginDocumentParser::createDocumentStructure):
1760         * html/RangeInputType.cpp:
1761         (WebCore::RangeInputType::handleTouchEvent):
1762         * html/RangeInputType.h:
1763         * html/SearchInputType.cpp:
1764         (WebCore::SearchInputType::addSearchResult):
1765         * html/TextFieldInputType.cpp:
1766         (WebCore::TextFieldInputType::isKeyboardFocusable const):
1767         (WebCore::TextFieldInputType::handleFocusEvent):
1768         (WebCore::TextFieldInputType::handleBlurEvent):
1769         (WebCore::TextFieldInputType::didSetValueByUserEdit):
1770         (WebCore::TextFieldInputType::listAttributeTargetChanged):
1771         * html/parser/HTMLParserScheduler.h:
1772         (WebCore::HTMLParserScheduler::shouldYieldBeforeToken):
1773         * html/parser/HTMLTreeBuilder.cpp:
1774         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
1775         * html/parser/HTMLTreeBuilder.h:
1776         * html/shadow/MediaControlElements.cpp:
1777         * html/shadow/MediaControlElements.h:
1778         * html/shadow/MediaControls.h:
1779         * html/shadow/SliderThumbElement.cpp:
1780         (WebCore::SliderThumbElement::dragFrom):
1781         * html/shadow/SliderThumbElement.h:
1782         * html/shadow/TextControlInnerElements.cpp:
1783         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
1784         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
1785         * html/shadow/TextControlInnerElements.h:
1786         * inspector/InspectorController.cpp:
1787         (WebCore::InspectorController::setIndicating):
1788         * inspector/InspectorFrontendHost.cpp:
1789         (WebCore::InspectorFrontendHost::platform):
1790         * inspector/PageScriptDebugServer.cpp:
1791         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
1792         * inspector/agents/InspectorTimelineAgent.cpp:
1793         (WebCore::currentRunLoop):
1794         * loader/DocumentLoader.cpp:
1795         * loader/DocumentLoader.h:
1796         * loader/DocumentThreadableLoader.cpp:
1797         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
1798         * loader/DocumentWriter.cpp:
1799         (WebCore::DocumentWriter::createDocument):
1800         * loader/EmptyClients.cpp:
1801         * loader/EmptyClients.h:
1802         * loader/EmptyFrameLoaderClient.h:
1803         * loader/FrameLoader.cpp:
1804         (WebCore::FrameLoader::checkCompleted):
1805         (WebCore::FrameLoader::willLoadMediaElementURL):
1806         (WebCore::FrameLoader::stopForUserCancel):
1807         (WebCore::FrameLoader::commitProvisionalLoad):
1808         (WebCore::FrameLoader::didFirstLayout):
1809         (WebCore::createWindow):
1810         * loader/FrameLoader.h:
1811         * loader/FrameLoaderClient.h:
1812         * loader/HistoryController.cpp:
1813         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
1814         (WebCore::HistoryController::restoreScrollPositionAndViewState):
1815         * loader/ResourceLoader.cpp:
1816         (WebCore::ResourceLoader::init):
1817         (WebCore::ResourceLoader::willSendRequestInternal):
1818         * loader/ResourceLoader.h:
1819         * loader/SubframeLoader.cpp:
1820         (WebCore::SubframeLoader::loadPlugin):
1821         * loader/SubresourceLoader.cpp:
1822         (WebCore::SubresourceLoader::create):
1823         (WebCore::SubresourceLoader::willCancel):
1824         (WebCore::SubresourceLoader::notifyDone):
1825         (WebCore::SubresourceLoader::releaseResources):
1826         * loader/SubresourceLoader.h:
1827         * loader/cache/CachedImage.cpp:
1828         * page/CaptionUserPreferencesMediaAF.cpp:
1829         (WebCore::userCaptionPreferencesChangedNotificationCallback):
1830         * page/Chrome.cpp:
1831         (WebCore::Chrome::createColorChooser):
1832         (WebCore::Chrome::dispatchViewportPropertiesDidChange const):
1833         (WebCore::Chrome::didReceiveDocType):
1834         * page/Chrome.h:
1835         * page/ChromeClient.h:
1836         * page/DOMTimer.cpp:
1837         (WebCore::DOMTimer::install):
1838         (WebCore::DOMTimer::fired):
1839         * page/DOMWindow.cpp:
1840         (WebCore::DOMWindow::outerHeight const):
1841         (WebCore::DOMWindow::outerWidth const):
1842         (WebCore::DOMWindow::clearTimeout):
1843         (WebCore::DOMWindow::addEventListener):
1844         (WebCore::DOMWindow::resetAllGeolocationPermission):
1845         (WebCore::DOMWindow::removeEventListener):
1846         (WebCore::DOMWindow::removeAllEventListeners):
1847         * page/DOMWindow.h:
1848         * page/DeprecatedGlobalSettings.cpp:
1849         (WebCore::DeprecatedGlobalSettings::globalConstRedeclarationShouldThrow):
1850         * page/DeprecatedGlobalSettings.h:
1851         * page/DragController.cpp:
1852         * page/EditorClient.h:
1853         * page/EventHandler.cpp:
1854         (WebCore::EventHandler::handleMousePressEventSingleClick):
1855         (WebCore::EventHandler::handleMouseReleaseEvent):
1856         (WebCore::EventHandler::startPanScrolling):
1857         (WebCore::EventHandler::handleMouseMoveEvent):
1858         * page/EventHandler.h:
1859         * page/Frame.cpp:
1860         (WebCore::Frame::Frame):
1861         (WebCore::Frame::willDetachPage):
1862         * page/Frame.h:
1863         * page/FrameView.cpp:
1864         (WebCore::FrameView::FrameView):
1865         (WebCore::FrameView::clear):
1866         (WebCore::FrameView::effectiveFrameFlattening const):
1867         (WebCore::FrameView::flushCompositingStateForThisFrame):
1868         (WebCore::FrameView::scrollPositionRespectingCustomFixedPosition const):
1869         (WebCore::FrameView::viewportConstrainedVisibleContentRect const):
1870         (WebCore::FrameView::updateContentsSize):
1871         (WebCore::FrameView::computeScrollability const):
1872         (WebCore::FrameView::adjustTiledBackingCoverage):
1873         (WebCore::FrameView::calculateExtendedBackgroundMode const):
1874         (WebCore::FrameView::performPostLayoutTasks):
1875         (WebCore::FrameView::sizeForResizeEvent const):
1876         (WebCore::FrameView::sendResizeEventIfNeeded):
1877         * page/FrameView.h:
1878         * page/FrameViewLayoutContext.cpp:
1879         (WebCore::FrameViewLayoutContext::layout):
1880         * page/MemoryRelease.cpp:
1881         (WebCore::releaseCriticalMemory):
1882         (WebCore::releaseMemory):
1883         * page/Navigator.cpp:
1884         * page/Navigator.h:
1885         * page/NavigatorBase.cpp:
1886         * page/Page.cpp:
1887         (WebCore::Page::setIsVisibleInternal):
1888         (WebCore::Page::showPlaybackTargetPicker):
1889         * page/Page.h:
1890         * page/PerformanceMonitor.cpp:
1891         (WebCore::PerformanceMonitor::measurePostLoadMemoryUsage):
1892         * page/ResourceUsageOverlay.cpp:
1893         (WebCore::ResourceUsageOverlay::initialize):
1894         * page/SecurityOrigin.cpp:
1895         (WebCore::SecurityOrigin::canDisplay const):
1896         * page/SettingsBase.cpp:
1897         * page/SettingsBase.h:
1898         * page/SettingsDefaultValues.h:
1899         (WebCore::editingBehaviorTypeForPlatform):
1900         * page/TextIndicator.cpp:
1901         (WebCore::TextIndicator::createWithRange):
1902         (WebCore::initializeIndicator):
1903         * page/ViewportConfiguration.cpp:
1904         (WebCore::ViewportConfiguration::textDocumentParameters):
1905         * page/cocoa/MemoryReleaseCocoa.mm:
1906         (WebCore::platformReleaseMemory):
1907         (WebCore::jettisonExpensiveObjectsOnTopLevelNavigation):
1908         * page/cocoa/ResourceUsageOverlayCocoa.mm:
1909         (WebCore::showText):
1910         * page/cocoa/ResourceUsageThreadCocoa.mm:
1911         (WebCore::vmPageSize):
1912         * page/cocoa/SettingsBaseCocoa.mm:
1913         * page/ios/EventHandlerIOS.mm:
1914         * page/ios/FrameIOS.mm:
1915         * page/mac/ChromeMac.mm:
1916         * page/mac/PageMac.mm:
1917         (WebCore::Page::platformInitialize):
1918         * page/mac/WebCoreFrameView.h:
1919         * page/scrolling/AsyncScrollingCoordinator.cpp:
1920         (WebCore::AsyncScrollingCoordinator::reconcileScrollingState):
1921         * page/scrolling/ScrollingTree.h:
1922         * page/scrolling/ScrollingTreeScrollingNode.h:
1923         * page/scrolling/ScrollingTreeScrollingNodeDelegate.cpp:
1924         * page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
1925         * page/scrolling/ios/ScrollingCoordinatorIOS.h:
1926         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
1927         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
1928         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
1929         * page/scrolling/ios/ScrollingTreeIOS.cpp:
1930         * page/scrolling/ios/ScrollingTreeIOS.h:
1931         * platform/ContentFilterUnblockHandler.h:
1932         * platform/Cursor.cpp:
1933         * platform/Cursor.h:
1934         * platform/DragImage.cpp:
1935         * platform/DragImage.h:
1936         * platform/FileChooser.cpp:
1937         * platform/FileChooser.h:
1938         * platform/HostWindow.h:
1939         * platform/LocalizedStrings.cpp:
1940         * platform/LocalizedStrings.h:
1941         * platform/LowPowerModeNotifier.cpp:
1942         * platform/LowPowerModeNotifier.h:
1943         * platform/MIMETypeRegistry.cpp:
1944         (WebCore::initializeSupportedImageMIMETypes):
1945         (WebCore::initializeSupportedNonImageMimeTypes):
1946         (WebCore::initializeUnsupportedTextMIMETypes):
1947         * platform/Pasteboard.h:
1948         * platform/PasteboardStrategy.h:
1949         * platform/PlatformKeyboardEvent.h:
1950         * platform/PlatformPasteboard.h:
1951         * platform/PlatformScreen.h:
1952         * platform/RemoteCommandListener.cpp:
1953         * platform/RuntimeApplicationChecks.h:
1954         * platform/ScrollAnimator.cpp:
1955         * platform/ScrollView.cpp:
1956         (WebCore::ScrollView::contentsScrollPosition const):
1957         (WebCore::ScrollView::setContentsScrollPosition):
1958         (WebCore::ScrollView::visibleContentRectInternal const):
1959         * platform/ScrollView.h:
1960         * platform/ScrollableArea.cpp:
1961         * platform/ScrollableArea.h:
1962         * platform/Scrollbar.cpp:
1963         * platform/Scrollbar.h:
1964         * platform/ThreadTimers.cpp:
1965         * platform/Timer.cpp:
1966         (WebCore::shouldSuppressThreadSafetyCheck):
1967         * platform/Timer.h:
1968         (WebCore::TimerBase::isActive const):
1969         * platform/ValidationBubble.h:
1970         * platform/Widget.h:
1971         * platform/audio/AudioHardwareListener.cpp:
1972         (WebCore::AudioHardwareListener::AudioHardwareListener):
1973         * platform/audio/PlatformMediaSession.h:
1974         * platform/audio/PlatformMediaSessionManager.h:
1975         * platform/audio/ios/AudioDestinationIOS.cpp:
1976         * platform/audio/ios/AudioDestinationIOS.h:
1977         * platform/audio/ios/AudioFileReaderIOS.cpp:
1978         * platform/audio/ios/AudioFileReaderIOS.h:
1979         * platform/audio/ios/AudioSessionIOS.mm:
1980         (WebCore::AudioSession::setCategory):
1981         (WebCore::AudioSession::routingContextUID const):
1982         * platform/audio/ios/MediaSessionManagerIOS.h:
1983         * platform/audio/ios/MediaSessionManagerIOS.mm:
1984         * platform/cf/MainThreadSharedTimerCF.cpp:
1985         (WebCore::setupPowerObserver):
1986         (WebCore::MainThreadSharedTimer::setFireInterval):
1987         * platform/cf/URLCF.cpp:
1988         * platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
1989         (WebCore::ContentFilterUnblockHandler::wrapWithDecisionHandler):
1990         (WebCore::ContentFilterUnblockHandler::needsUIProcess const):
1991         (WebCore::ContentFilterUnblockHandler::encode const):
1992         (WebCore::ContentFilterUnblockHandler::decode):
1993         (WebCore::ContentFilterUnblockHandler::canHandleRequest const):
1994         (WebCore::dispatchToMainThread):
1995         (WebCore::ContentFilterUnblockHandler::requestUnblockAsync const):
1996         * platform/cocoa/DataDetectorsCoreSoftLink.h:
1997         * platform/cocoa/DataDetectorsCoreSoftLink.mm:
1998         * platform/cocoa/KeyEventCocoa.mm:
1999         * platform/cocoa/LocalizedStringsCocoa.mm:
2000         (WebCore::localizedNSString):
2001         * platform/cocoa/NetworkExtensionContentFilter.mm:
2002         (WebCore::NetworkExtensionContentFilter::initialize):
2003         * platform/cocoa/ParentalControlsContentFilter.mm:
2004         (WebCore::ParentalControlsContentFilter::unblockHandler const):
2005         * platform/cocoa/PasteboardCocoa.mm:
2006         (WebCore::Pasteboard::fileContentState):
2007         * platform/cocoa/PlatformView.h:
2008         * platform/cocoa/PlaybackSessionInterface.h:
2009         * platform/cocoa/PlaybackSessionModel.h:
2010         * platform/cocoa/PlaybackSessionModelMediaElement.h:
2011         * platform/cocoa/PlaybackSessionModelMediaElement.mm:
2012         * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
2013         * platform/cocoa/SystemVersion.mm:
2014         (WebCore::createSystemMarketingVersion):
2015         * platform/cocoa/VideoFullscreenChangeObserver.h:
2016         * platform/cocoa/VideoFullscreenModel.h:
2017         * platform/cocoa/VideoFullscreenModelVideoElement.h:
2018         * platform/cocoa/VideoFullscreenModelVideoElement.mm:
2019         * platform/gamepad/cocoa/GameControllerGamepad.h:
2020         * platform/gamepad/cocoa/GameControllerGamepad.mm:
2021         * platform/gamepad/cocoa/GameControllerGamepadProvider.h:
2022         * platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
2023         * platform/graphics/BitmapImage.h:
2024         * platform/graphics/Color.h:
2025         * platform/graphics/ComplexTextController.cpp:
2026         * platform/graphics/DisplayRefreshMonitor.cpp:
2027         (WebCore::DisplayRefreshMonitor::createDefaultDisplayRefreshMonitor):
2028         * platform/graphics/FloatSize.h:
2029         * platform/graphics/Font.cpp:
2030         (WebCore::Font::Font):
2031         (WebCore::createAndFillGlyphPage):
2032         * platform/graphics/Font.h:
2033         * platform/graphics/FontCache.cpp:
2034         (WebCore::FontCache::getCachedFontPlatformData):
2035         (WebCore::FontCache::fontForPlatformData):
2036         (WebCore::FontCache::purgeInactiveFontData):
2037         (WebCore::FontCache::inactiveFontCount):
2038         * platform/graphics/FontCascade.cpp:
2039         (WebCore::FontCascade::FontCascade):
2040         * platform/graphics/FontCascadeFonts.h:
2041         * platform/graphics/FontDescription.h:
2042         * platform/graphics/FontPlatformData.h:
2043         (WebCore::FontPlatformData::isEmoji const):
2044         * platform/graphics/GraphicsContext.cpp:
2045         (WebCore::GraphicsContext::drawImage):
2046         * platform/graphics/GraphicsContext3D.h:
2047         * platform/graphics/GraphicsLayer.h:
2048         * platform/graphics/Icon.h:
2049         * platform/graphics/Image.cpp:
2050         (WebCore::Image::drawTiled):
2051         (WebCore::Image::computeIntrinsicDimensions):
2052         * platform/graphics/Image.h:
2053         * platform/graphics/IntPoint.h:
2054         * platform/graphics/IntRect.h:
2055         * platform/graphics/IntSize.h:
2056         * platform/graphics/MediaPlayer.cpp:
2057         (WebCore::MediaPlayer::isAvailable):
2058         (WebCore::MediaPlayer::volumeChanged):
2059         * platform/graphics/MediaPlayer.h:
2060         * platform/graphics/MediaPlayerPrivate.h:
2061         * platform/graphics/NamedImageGeneratedImage.cpp:
2062         (WebCore::NamedImageGeneratedImage::draw):
2063         * platform/graphics/StringTruncator.cpp:
2064         (WebCore::centerTruncateToBuffer):
2065         (WebCore::rightTruncateToBuffer):
2066         (WebCore::rightClipToWordBuffer):
2067         * platform/graphics/TextTrackRepresentation.cpp:
2068         * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
2069         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2070         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
2071         * platform/graphics/avfoundation/MediaPlaybackTargetMac.mm:
2072         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2073         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen const):
2074         (WebCore::MediaPlayerPrivateAVFoundation::rateChanged):
2075         * platform/graphics/avfoundation/WebMediaSessionManagerMac.cpp:
2076         * platform/graphics/avfoundation/WebMediaSessionManagerMac.h:
2077         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp:
2078         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h:
2079         * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
2080         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::supportsPersistentKeys):
2081         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h:
2082         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
2083         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
2084         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
2085         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2086         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2087         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
2088         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
2089         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
2090         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode):
2091         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVolume):
2092         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime const):
2093         (WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval const):
2094         (WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime const):
2095         (WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck const):
2096         (WebCore::MediaPlayerPrivateAVFoundationObjC::wouldTaintOrigin const):
2097         (WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless const):
2098         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType const):
2099         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName const):
2100         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback):
2101         (WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldDisableSleep):
2102         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2103         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsPictureInPicture const):
2104         * platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
2105         * platform/graphics/ca/GraphicsLayerCA.cpp:
2106         (WebCore::GraphicsLayerCA::flushCompositingState):
2107         (WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect const):
2108         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
2109         * platform/graphics/ca/GraphicsLayerCA.h:
2110         * platform/graphics/ca/PlatformCALayer.h:
2111         * platform/graphics/ca/TileController.cpp:
2112         (WebCore::TileController::~TileController):
2113         (WebCore::TileController::adjustTileCoverageRect const):
2114         * platform/graphics/ca/TileController.h:
2115         * platform/graphics/ca/TileGrid.cpp:
2116         (WebCore::TileGrid::startedNewCohort):
2117         (WebCore::TileGrid::platformCALayerPaintContents):
2118         * platform/graphics/ca/TileGrid.h:
2119         * platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp:
2120         (WebCore::currentRunLoop):
2121         * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
2122         (-[WebAnimationDelegate animationDidStart:]):
2123         (-[WebAnimationDelegate animationDidStop:finished:]):
2124         (WebCore::PlatformCALayerCocoa::setContentsScale):
2125         (WebCore::layerContentsFormat):
2126         (WebCore::PlatformCALayer::drawLayerContents):
2127         (WebCore::PlatformCALayerCocoa::backingStoreBytesPerPixel const):
2128         * platform/graphics/cg/GradientCG.cpp:
2129         (WebCore::Gradient::paint):
2130         * platform/graphics/cg/GraphicsContextCG.cpp:
2131         (WebCore::displayP3ColorSpaceRef):
2132         (WebCore::GraphicsContext::drawNativeImage):
2133         (WebCore::drawPatternCallback):
2134         (WebCore::GraphicsContext::drawPattern):
2135         (WebCore::GraphicsContext::drawLine):
2136         (WebCore::applyShadowOffsetWorkaroundIfNeeded):
2137         (WebCore::GraphicsContext::setURLForRect):
2138         * platform/graphics/cg/ImageBufferCG.cpp:
2139         (WebCore::jpegUTI):
2140         * platform/graphics/cg/ImageBufferDataCG.cpp:
2141         * platform/graphics/cg/ImageDecoderCG.cpp:
2142         (WebCore::ImageDecoderCG::createFrameImageAtIndex):
2143         * platform/graphics/cg/ImageSourceCGMac.mm:
2144         * platform/graphics/cg/PDFDocumentImage.cpp:
2145         * platform/graphics/cocoa/ColorCocoa.h:
2146         * platform/graphics/cocoa/ColorCocoa.mm:
2147         * platform/graphics/cocoa/FontCacheCoreText.cpp:
2148         (WebCore::FontCache::similarFont):
2149         (WebCore::computeNecessarySynthesis):
2150         (WebCore::FontDatabase::fontForPostScriptName):
2151         (WebCore::variationCapabilitiesForFontDescriptor):
2152         (WebCore::lookupFallbackFont):
2153         (WebCore::FontCache::systemFallbackForCharacters):
2154         (WebCore::FontCache::lastResortFallbackFont):
2155         * platform/graphics/cocoa/FontCascadeCocoa.mm:
2156         (WebCore::FontCascade::drawGlyphs):
2157         (WebCore::FontCascade::fontForCombiningCharacterSequence const):
2158         * platform/graphics/cocoa/FontCocoa.mm:
2159         (WebCore::Font::platformInit):
2160         (WebCore::Font::variantCapsSupportsCharacterForSynthesis const):
2161         (WebCore::Font::determinePitch):
2162         * platform/graphics/cocoa/FontDescriptionCocoa.cpp:
2163         (WebCore::FontCascadeDescription::effectiveFamilyCount const):
2164         (WebCore::FontCascadeDescription::effectiveFamilyAt const):
2165         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2166         (WebCore::FontPlatformData::FontPlatformData):
2167         (WebCore::cascadeToLastResortAndVariationsFontDescriptor):
2168         * platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
2169         (WebCore::GraphicsContext3D::GraphicsContext3D):
2170         (WebCore::GraphicsContext3D::texImageIOSurface2D):
2171         * platform/graphics/cocoa/GraphicsContextCocoa.mm:
2172         * platform/graphics/cocoa/IOSurface.mm:
2173         (WebCore::optionsForBiplanarSurface):
2174         (WebCore::optionsFor32BitSurface):
2175         (WebCore::IOSurface::maximumSize):
2176         (WebCore::IOSurface::surfaceID const):
2177         * platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
2178         (WebCore::SystemFontDatabaseCoreText::cascadeList):
2179         * platform/graphics/cocoa/TextTrackRepresentationCocoa.h:
2180         * platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
2181         (-[WebCoreTextTrackRepresentationCocoaHelper observeValueForKeyPath:ofObject:change:context:]):
2182         * platform/graphics/cocoa/WebMetalLayer.h:
2183         * platform/graphics/cv/ImageTransferSessionVT.mm:
2184         (WebCore::cvPixelFormatOpenGLKey):
2185         (WebCore::ImageTransferSessionVT::ImageTransferSessionVT):
2186         * platform/graphics/cv/VideoTextureCopierCV.h:
2187         * platform/graphics/ios/DisplayRefreshMonitorIOS.h:
2188         * platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
2189         * platform/graphics/ios/FontAntialiasingStateSaver.h:
2190         (WebCore::FontAntialiasingStateSaver::FontAntialiasingStateSaver):
2191         (WebCore::FontAntialiasingStateSaver::setup):
2192         (WebCore::FontAntialiasingStateSaver::restore):
2193         * platform/graphics/ios/FontCacheIOS.mm:
2194         * platform/graphics/ios/IconIOS.mm:
2195         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2196         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2197         * platform/graphics/mac/FloatPointMac.mm:
2198         * platform/graphics/mac/FloatRectMac.mm:
2199         * platform/graphics/mac/FloatSizeMac.mm:
2200         * platform/graphics/mac/FontCustomPlatformData.cpp:
2201         (WebCore::createFontCustomPlatformData):
2202         * platform/graphics/mac/ImageMac.mm:
2203         * platform/graphics/mac/IntPointMac.mm:
2204         * platform/graphics/mac/IntRectMac.mm:
2205         * platform/graphics/mac/IntSizeMac.mm:
2206         * platform/graphics/mac/WebKitNSImageExtras.h:
2207         * platform/graphics/mac/WebKitNSImageExtras.mm:
2208         * platform/graphics/mac/WebLayer.mm:
2209         (-[WebSimpleLayer display]):
2210         (-[WebSimpleLayer drawInContext:]):
2211         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2212         (WebCore::Extensions3DOpenGL::supportsExtension):
2213         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2214         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2215         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2216         * platform/graphics/transforms/TransformationMatrix.cpp:
2217         (WebCore::TransformationMatrix::multiply):
2218         * platform/graphics/transforms/TransformationMatrix.h:
2219         * platform/ios/CursorIOS.cpp:
2220         * platform/ios/Device.cpp:
2221         * platform/ios/Device.h:
2222         * platform/ios/DeviceMotionClientIOS.h:
2223         * platform/ios/DeviceMotionClientIOS.mm:
2224         (WebCore::DeviceMotionClientIOS::motionChanged):
2225         * platform/ios/DeviceOrientationClientIOS.h:
2226         * platform/ios/DeviceOrientationClientIOS.mm:
2227         (WebCore::DeviceOrientationClientIOS::orientationChanged):
2228         * platform/ios/DragImageIOS.mm:
2229         * platform/ios/EventLoopIOS.mm:
2230         * platform/ios/KeyEventIOS.mm:
2231         * platform/ios/LegacyTileCache.h:
2232         * platform/ios/LegacyTileCache.mm:
2233         * platform/ios/LegacyTileGrid.h:
2234         * platform/ios/LegacyTileGrid.mm:
2235         * platform/ios/LegacyTileGridTile.h:
2236         * platform/ios/LegacyTileGridTile.mm:
2237         * platform/ios/LegacyTileLayer.h:
2238         * platform/ios/LegacyTileLayer.mm:
2239         * platform/ios/LegacyTileLayerPool.h:
2240         * platform/ios/LegacyTileLayerPool.mm:
2241         * platform/ios/LowPowerModeNotifierIOS.mm:
2242         * platform/ios/PasteboardIOS.mm:
2243         * platform/ios/PlatformEventFactoryIOS.h:
2244         * platform/ios/PlatformEventFactoryIOS.mm:
2245         * platform/ios/PlatformPasteboardIOS.mm:
2246         * platform/ios/PlatformScreenIOS.mm:
2247         * platform/ios/PlatformSpeechSynthesizerIOS.mm:
2248         * platform/ios/PlaybackSessionInterfaceAVKit.h:
2249         * platform/ios/PlaybackSessionInterfaceAVKit.mm:
2250         * platform/ios/RemoteCommandListenerIOS.h:
2251         * platform/ios/RemoteCommandListenerIOS.mm:
2252         * platform/ios/SSLKeyGeneratorIOS.cpp:
2253         * platform/ios/ScrollAnimatorIOS.h:
2254         * platform/ios/ScrollAnimatorIOS.mm:
2255         * platform/ios/ScrollViewIOS.mm:
2256         (WebCore::ScrollView::platformSetContentsSize):
2257         * platform/ios/ScrollbarThemeIOS.h:
2258         * platform/ios/ScrollbarThemeIOS.mm:
2259         * platform/ios/SystemMemoryIOS.cpp:
2260         (WebCore::systemMemoryLevel):
2261         * platform/ios/ThemeIOS.h:
2262         * platform/ios/ThemeIOS.mm:
2263         * platform/ios/TileControllerMemoryHandlerIOS.cpp:
2264         * platform/ios/TileControllerMemoryHandlerIOS.h:
2265         * platform/ios/UserAgentIOS.mm:
2266         (WebCore::deviceNameForUserAgent):
2267         * platform/ios/ValidationBubbleIOS.mm:
2268         * platform/ios/VideoFullscreenInterfaceAVKit.h:
2269         * platform/ios/VideoFullscreenInterfaceAVKit.mm:
2270         (WebCore::supportsPictureInPicture):
2271         * platform/ios/WebAVPlayerController.h:
2272         * platform/ios/WebAVPlayerController.mm:
2273         * platform/ios/WebBackgroundTaskController.h:
2274         * platform/ios/WebBackgroundTaskController.mm:
2275         * platform/ios/WebCoreMotionManager.h:
2276         * platform/ios/WebCoreMotionManager.mm:
2277         * platform/ios/WebEvent.h:
2278         * platform/ios/WebEvent.mm:
2279         * platform/ios/WebSQLiteDatabaseTrackerClient.h:
2280         * platform/ios/WebSQLiteDatabaseTrackerClient.mm:
2281         * platform/ios/WebVideoFullscreenControllerAVKit.h:
2282         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2283         (VideoFullscreenControllerContext::requestUpdateInlineRect):
2284         (VideoFullscreenControllerContext::requestVideoContentLayer):
2285         (VideoFullscreenControllerContext::returnVideoContentLayer):
2286         (VideoFullscreenControllerContext::didSetupFullscreen):
2287         (VideoFullscreenControllerContext::didExitFullscreen):
2288         * platform/ios/WidgetIOS.mm:
2289         * platform/ios/wak/FloatingPointEnvironment.cpp:
2290         * platform/ios/wak/FloatingPointEnvironment.h:
2291         * platform/ios/wak/WAKAppKitStubs.m:
2292         * platform/ios/wak/WAKClipView.m:
2293         * platform/ios/wak/WAKResponder.m:
2294         * platform/ios/wak/WAKScrollView.mm:
2295         * platform/ios/wak/WAKView.mm:
2296         * platform/ios/wak/WAKWindow.mm:
2297         * platform/ios/wak/WKContentObservation.cpp:
2298         * platform/ios/wak/WKGraphics.mm:
2299         * platform/ios/wak/WKUtilities.c:
2300         * platform/ios/wak/WKView.mm:
2301         * platform/ios/wak/WebCoreThread.mm:
2302         * platform/ios/wak/WebCoreThreadRun.cpp:
2303         * platform/ios/wak/WebCoreThreadSystemInterface.cpp:
2304         * platform/mac/DragDataMac.mm:
2305         (WebCore::rtfPasteboardType):
2306         (WebCore::rtfdPasteboardType):
2307         (WebCore::stringPasteboardType):
2308         (WebCore::urlPasteboardType):
2309         (WebCore::htmlPasteboardType):
2310         (WebCore::colorPasteboardType):
2311         (WebCore::pdfPasteboardType):
2312         (WebCore::tiffPasteboardType):
2313         (WebCore::DragData::containsURL const):
2314         * platform/mac/MediaRemoteSoftLink.cpp:
2315         * platform/mac/MediaRemoteSoftLink.h:
2316         * platform/mac/SuddenTermination.mm:
2317         * platform/mac/WebCoreFullScreenPlaceholderView.mm:
2318         * platform/mac/WebCoreFullScreenWarningView.h:
2319         * platform/mac/WebCoreFullScreenWarningView.mm:
2320         * platform/mac/WebCoreFullScreenWindow.h:
2321         * platform/mac/WebCoreFullScreenWindow.mm:
2322         * platform/mac/WebNSAttributedStringExtras.mm:
2323         * platform/mediastream/RealtimeMediaSourceFactory.h:
2324         * platform/mediastream/RealtimeVideoSource.cpp:
2325         (WebCore::RealtimeVideoSource::~RealtimeVideoSource):
2326         (WebCore::RealtimeVideoSource::prepareToProduceData):
2327         * platform/mediastream/ios/AVAudioSessionCaptureDevice.h:
2328         * platform/mediastream/ios/AVAudioSessionCaptureDevice.mm:
2329         * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
2330         * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
2331         * platform/mediastream/ios/CoreAudioCaptureSourceIOS.h:
2332         * platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:
2333         * platform/mediastream/libwebrtc/LibWebRTCMacros.h:
2334         * platform/mediastream/mac/AVCaptureDeviceManager.mm:
2335         (WebCore::deviceIsAvailable):
2336         * platform/mediastream/mac/AVMediaCaptureSource.mm:
2337         (WebCore::AVMediaCaptureSource::AVMediaCaptureSource):
2338         (WebCore::AVMediaCaptureSource::stopProducingData):
2339         (-[WebCoreAVMediaCaptureSourceObserver addNotificationObservers]):
2340         (-[WebCoreAVMediaCaptureSourceObserver removeNotificationObservers]):
2341         * platform/mediastream/mac/AVVideoCaptureSource.mm:
2342         (WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
2343         (WebCore::AVVideoCaptureSource::~AVVideoCaptureSource):
2344         (WebCore::AVVideoCaptureSource::stopProducingData):
2345         (WebCore::AVVideoCaptureSource::prefersPreset):
2346         (WebCore::sensorOrientation):
2347         (WebCore::AVVideoCaptureSource::setupCaptureSession):
2348         (WebCore::AVVideoCaptureSource::monitorOrientation):
2349         (-[WebCoreAVVideoCaptureSourceObserver addNotificationObservers]):
2350         (-[WebCoreAVVideoCaptureSourceObserver removeNotificationObservers]):
2351         * platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
2352         (WebCore::AudioTrackPrivateMediaStreamCocoa::createAudioUnit):
2353         * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
2354         (WebCore::CoreAudioSharedUnit::setupAudioUnit):
2355         (WebCore::CoreAudioCaptureSource::create):
2356         (WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):
2357         (WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
2358         (WebCore::CoreAudioCaptureSource::startProducingData):
2359         * platform/mediastream/mac/CoreAudioCaptureSource.h:
2360         * platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
2361         (WebCore::DisplayCaptureSourceCocoa::~DisplayCaptureSourceCocoa):
2362         (WebCore::DisplayCaptureSourceCocoa::startProducingData):
2363         * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
2364         (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool):
2365         * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
2366         * platform/mock/MediaPlaybackTargetMock.cpp:
2367         * platform/mock/MediaPlaybackTargetMock.h:
2368         * platform/mock/MediaPlaybackTargetPickerMock.cpp:
2369         * platform/mock/MediaPlaybackTargetPickerMock.h:
2370         * platform/mock/MockRealtimeAudioSource.cpp:
2371         (WebCore::MockRealtimeAudioSource::~MockRealtimeAudioSource):
2372         (WebCore::MockRealtimeAudioSource::startProducingData):
2373         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
2374         * platform/mock/MockRealtimeVideoSource.cpp:
2375         * platform/network/CredentialStorage.cpp:
2376         * platform/network/NetworkStateNotifier.h:
2377         * platform/network/ResourceHandle.cpp:
2378         (WebCore::builtinResourceHandleConstructorMap):
2379         * platform/network/ResourceHandle.h:
2380         * platform/network/ResourceHandleClient.h:
2381         * platform/network/ResourceRequestBase.cpp:
2382         * platform/network/ResourceRequestBase.h:
2383         * platform/network/cf/DNSResolveQueueCFNet.cpp:
2384         * platform/network/cf/ProxyServerCFNet.cpp:
2385         * platform/network/cf/ResourceHandleCFNet.cpp:
2386         (WebCore::ResourceHandle::createCFURLConnection):
2387         * platform/network/cf/ResourceRequest.h:
2388         (WebCore::ResourceRequest::resourcePrioritiesEnabled):
2389         * platform/network/cf/ResourceRequestCFNet.cpp:
2390         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2391         (WebCore::ResourceRequest::doUpdateResourceRequest):
2392         * platform/network/cf/SocketStreamHandleImplCFNet.cpp:
2393         (WebCore::callbacksRunLoop):
2394         (WebCore::copyCONNECTProxyResponse):
2395         * platform/network/cocoa/CookieCocoa.mm:
2396         (WebCore::Cookie::operator NSHTTPCookie * _Nullable  const):
2397         * platform/network/cocoa/NetworkStorageSessionCocoa.mm:
2398         (WebCore::cookiesForURL):
2399         (WebCore::setHTTPCookiesForURL):
2400         * platform/network/cocoa/ResourceRequestCocoa.mm:
2401         (WebCore::ResourceRequest::doUpdateResourceRequest):
2402         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2403         * platform/network/ios/NetworkStateNotifierIOS.mm:
2404         * platform/network/ios/WebCoreURLResponseIOS.h:
2405         * platform/network/ios/WebCoreURLResponseIOS.mm:
2406         * platform/network/mac/ResourceErrorMac.mm:
2407         * platform/network/mac/ResourceHandleMac.mm:
2408         (WebCore::ResourceHandle::createNSURLConnection):
2409         (WebCore::ResourceHandle::start):
2410         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2411         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2412         * platform/network/mac/UTIUtilities.mm:
2413         * platform/sql/SQLiteDatabase.h:
2414         (WebCore::SQLiteDatabase::sqlite3Handle const):
2415         * platform/sql/SQLiteFileSystem.cpp:
2416         * platform/sql/SQLiteFileSystem.h:
2417         * platform/sql/SQLiteTransaction.cpp:
2418         (WebCore::SQLiteTransaction::begin):
2419         (WebCore::SQLiteTransaction::commit):
2420         (WebCore::SQLiteTransaction::rollback):
2421         (WebCore::SQLiteTransaction::stop):
2422         * platform/text/PlatformLocale.cpp:
2423         * platform/text/PlatformLocale.h:
2424         * platform/text/ios/LocalizedDateCache.h:
2425         * platform/text/ios/LocalizedDateCache.mm:
2426         * platform/text/ios/TextEncodingRegistryIOS.mm:
2427         * platform/text/mac/LocaleMac.h:
2428         * platform/text/mac/LocaleMac.mm:
2429         * plugins/PluginViewBase.h:
2430         * rendering/InlineTextBox.cpp:
2431         (WebCore::InlineTextBox::paintPlatformDocumentMarker):
2432         (WebCore::InlineTextBox::resolveStyleForMarkedText):
2433         (WebCore::InlineTextBox::collectMarkedTextsForDocumentMarkers):
2434         * rendering/MarkedText.h:
2435         * rendering/RenderBlock.cpp:
2436         (WebCore::RenderBlock::paint):
2437         * rendering/RenderBox.cpp:
2438         (WebCore::RenderBox::paintBoxDecorations):
2439         (WebCore::allowMinMaxPercentagesInAutoHeightBlocksQuirk):
2440         * rendering/RenderBoxModelObject.cpp:
2441         (WebCore::RenderBoxModelObject::decodingModeForImageDraw const):
2442         * rendering/RenderButton.cpp:
2443         * rendering/RenderButton.h:
2444         * rendering/RenderElement.cpp:
2445         (WebCore::RenderElement::styleWillChange):
2446         (WebCore::RenderElement::styleDidChange):
2447         * rendering/RenderEmbeddedObject.cpp:
2448         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing const):
2449         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
2450         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription):
2451         * rendering/RenderFileUploadControl.cpp:
2452         (WebCore::RenderFileUploadControl::maxFilenameWidth const):
2453         (WebCore::RenderFileUploadControl::paintObject):
2454         * rendering/RenderFrameSet.cpp:
2455         (WebCore::RenderFrameSet::positionFrames):
2456         * rendering/RenderIFrame.h:
2457         * rendering/RenderImage.cpp:
2458         (WebCore::RenderImage::paintAreaElementFocusRing):
2459         * rendering/RenderImage.h:
2460         * rendering/RenderInline.cpp:
2461         * rendering/RenderInline.h:
2462         * rendering/RenderLayer.cpp:
2463         (WebCore::RenderLayer::RenderLayer):
2464         (WebCore::canCreateStackingContext):
2465         (WebCore::RenderLayer::canUseAcceleratedTouchScrolling const):
2466         (WebCore::RenderLayer::scrollTo):
2467         (WebCore::RenderLayer::scrollRectToVisible):
2468         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2469         (WebCore::RenderLayer::showsOverflowControls const):
2470         (WebCore::RenderLayer::calculateClipRects const):
2471         * rendering/RenderLayer.h:
2472         * rendering/RenderLayerBacking.cpp:
2473         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2474         (WebCore::RenderLayerBacking::shouldClipCompositedBounds const):
2475         (WebCore::RenderLayerBacking::updateConfiguration):
2476         (WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
2477         (WebCore::RenderLayerBacking::updateGeometry):
2478         (WebCore::RenderLayerBacking::paintsIntoWindow const):
2479         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2480         (WebCore::RenderLayerBacking::paintIntoLayer):
2481         * rendering/RenderLayerBacking.h:
2482         * rendering/RenderLayerCompositor.cpp:
2483         (WebCore::RenderLayerCompositor::visibleRectForLayerFlushing const):
2484         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2485         (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
2486         (WebCore::RenderLayerCompositor::didFlushChangesForLayer):
2487         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2488         (WebCore::RenderLayerCompositor::setIsInWindow):
2489         (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame const):
2490         (WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer const):
2491         (WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling const):
2492         (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles const):
2493         (WebCore::RenderLayerCompositor::ensureRootLayer):
2494         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints const):
2495         (WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
2496         (WebCore::RenderLayerCompositor::didAddScrollingLayer):
2497         * rendering/RenderLayerCompositor.h:
2498         * rendering/RenderLayerModelObject.cpp:
2499         (WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft const):
2500         * rendering/RenderLineBreak.cpp:
2501         * rendering/RenderLineBreak.h:
2502         * rendering/RenderMenuList.cpp:
2503         (WebCore::RenderMenuList::RenderMenuList):
2504         (WebCore::RenderMenuList::willBeDestroyed):
2505         (WebCore::RenderMenuList::adjustInnerStyle):
2506         (RenderMenuList::updateFromElement):
2507         (RenderMenuList::setTextFromOption):
2508         (RenderMenuList::hidePopup):
2509         (RenderMenuList::popupDidHide):
2510         * rendering/RenderMenuList.h:
2511         * rendering/RenderObject.cpp:
2512         (WebCore::RenderObject::shouldApplyCompositedContainerScrollsForRepaint):
2513         (WebCore::RenderObject::destroy):
2514         * rendering/RenderObject.h:
2515         * rendering/RenderSearchField.cpp:
2516         (WebCore::RenderSearchField::itemText const):
2517         * rendering/RenderText.cpp:
2518         (WebCore::RenderText::setRenderedText):
2519         * rendering/RenderText.h:
2520         * rendering/RenderTextControl.cpp:
2521         * rendering/RenderTextControl.h:
2522         * rendering/RenderTextControlMultiLine.cpp:
2523         (WebCore::RenderTextControlMultiLine::getAverageCharWidth):
2524         * rendering/RenderTextControlSingleLine.cpp:
2525         (WebCore::RenderTextControlSingleLine::layout):
2526         (WebCore::RenderTextControlSingleLine::getAverageCharWidth):
2527         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth const):
2528         * rendering/RenderTextLineBoxes.cpp:
2529         (WebCore::lineDirectionPointFitsInBox):
2530         (WebCore::RenderTextLineBoxes::positionForPoint const):
2531         * rendering/RenderTheme.cpp:
2532         (WebCore::RenderTheme::paintBorderOnly):
2533         * rendering/RenderThemeIOS.h:
2534         * rendering/RenderThemeIOS.mm:
2535         (WebCore::arKitBundle):
2536         * rendering/RenderView.cpp:
2537         (WebCore::RenderView::availableLogicalHeight const):
2538         (WebCore::RenderView::clientLogicalWidthForFixedPosition const):
2539         (WebCore::RenderView::clientLogicalHeightForFixedPosition const):
2540         (WebCore::RenderView::repaintViewRectangle const):
2541         * rendering/RenderWidget.cpp:
2542         (WebCore::RenderWidget::willBeDestroyed):
2543         * rendering/RootInlineBox.cpp:
2544         (WebCore::RootInlineBox::selectionTop const):
2545         (WebCore::RootInlineBox::selectionBottom const):
2546         * rendering/style/RenderStyle.h:
2547         * rendering/style/StyleRareInheritedData.cpp:
2548         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2549         (WebCore::StyleRareInheritedData::operator== const):
2550         * rendering/style/StyleRareInheritedData.h:
2551         * rendering/updating/RenderTreeUpdater.cpp:
2552         (WebCore::RenderTreeUpdater::updateElementRenderer):
2553         * style/StyleResolveForDocument.cpp:
2554         (WebCore::Style::resolveForDocument):
2555         * testing/Internals.cpp:
2556         (WebCore::Internals::getCurrentCursorInfo):
2557         (WebCore::Internals::isSelectPopupVisible):
2558         (WebCore::Internals::setQuickLookPassword):
2559         * testing/Internals.mm:
2560         (WebCore::Internals::userPrefersReducedMotion const):
2561         * testing/js/WebCoreTestSupportPrefix.h:
2562         * workers/WorkerThread.cpp:
2563         (WebCore::WorkerThread::workerThread):
2564
2565 2018-10-18  Per Arne Vollan  <pvollan@apple.com>
2566
2567         [WebVTT] The TextTrackLoader parameter in TextTrackLoaderClient virtual methods should be a reference
2568         https://bugs.webkit.org/show_bug.cgi?id=190730
2569
2570         Reviewed by Chris Dumez.
2571
2572         No new tests. No change in behavior.
2573
2574         * html/track/LoadableTextTrack.cpp:
2575         (WebCore::LoadableTextTrack::newCuesAvailable):
2576         (WebCore::LoadableTextTrack::cueLoadingCompleted):
2577         (WebCore::LoadableTextTrack::newRegionsAvailable):
2578         * html/track/LoadableTextTrack.h:
2579         * loader/TextTrackLoader.cpp:
2580         (WebCore::TextTrackLoader::cueLoadTimerFired):
2581         (WebCore::TextTrackLoader::newRegionsParsed):
2582         * loader/TextTrackLoader.h:
2583
2584 2018-10-18  Alex Christensen  <achristensen@webkit.org>
2585
2586         Clean up FrameLoader two-state enums
2587         https://bugs.webkit.org/show_bug.cgi?id=190731
2588
2589         Reviewed by Chris Dumez.
2590
2591         This patch does three things:
2592         1. Add an overload to EnumTraits so we do not need to list out the valid values of boolean enum classes.
2593         The valid values are always 0 and 1.  This is used when decoding from IPC.
2594         2. Add a 2-state enum class for NewLoadInProgress instad of a bool so we can understand the code better.
2595         3. Begin passing LockBackForwardList to the UIProcess.  We will need it soon for PSON.
2596
2597         * history/CachedFrame.h:
2598         * loader/EmptyFrameLoaderClient.h:
2599         * loader/FrameLoader.cpp:
2600         (WebCore::FrameLoader::provisionalLoadStarted):
2601         (WebCore::FrameLoader::loadWithDocumentLoader):
2602         (WebCore::FrameLoader::commitProvisionalLoad):
2603         (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
2604         (WebCore::FrameLoader::clientRedirected):
2605         (WebCore::FrameLoader::receivedMainResourceError):
2606         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2607         * loader/FrameLoader.h:
2608         * loader/FrameLoaderClient.h:
2609         * loader/FrameLoaderTypes.h:
2610         * loader/NavigationScheduler.cpp:
2611         (WebCore::ScheduledNavigation::didStopTimer):
2612         (WebCore::NavigationScheduler::cancel):
2613         * loader/NavigationScheduler.h:
2614         * platform/network/StoredCredentialsPolicy.h:
2615
2616 2018-10-18  Wenson Hsieh  <wenson_hsieh@apple.com>
2617
2618         [GTK] fast/css/pseudo-visited-background-color-on-input.html is failing since r237425
2619         https://bugs.webkit.org/show_bug.cgi?id=190712
2620
2621         Reviewed by Tim Horton.
2622
2623         Ensure that color inputs are enabled by default on GTK, and that color inputs have a `-webkit-appearance` of
2624         `color-well` by default. Fixes fast/css/pseudo-visited-background-color-on-input.html on GTK.
2625
2626         * page/RuntimeEnabledFeatures.cpp:
2627         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
2628         * rendering/RenderTheme.cpp:
2629         (WebCore::RenderTheme::colorInputStyleSheet const):
2630         * rendering/RenderTheme.h:
2631         (WebCore::RenderTheme::platformUsesColorWellAppearance const):
2632         (WebCore::RenderTheme::platformColorInputStyleSheet const): Deleted.
2633
2634         Replace this with a platform hook that determines whether we want to use `-webkit-appearance: color-well;` by
2635         default for inputs of type color. For now, only iOS overrides this to return false; in the future, we should
2636         support `-webkit-appearance: color-well;` on iOS, and remove this platform hook entirely.
2637
2638         * rendering/RenderThemeIOS.h:
2639         * rendering/RenderThemeMac.h:
2640         * rendering/RenderThemeMac.mm:
2641         (WebCore::RenderThemeMac::platformColorInputStyleSheet const): Deleted.
2642
2643 2018-10-18  Youenn Fablet  <youenn@apple.com>
2644
2645         Handle MDNS resolution of candidates through libwebrtc directly
2646         https://bugs.webkit.org/show_bug.cgi?id=190681
2647
2648         Reviewed by Eric Carlson.
2649
2650         Remove the previous MDNS resolution mechanism.
2651         Instead, add support for the AsyncResolver mechanism added to libwebrtc.
2652         Covered by current mdns webrtc test that is unflaked.
2653
2654         * Modules/mediastream/PeerConnectionBackend.cpp:
2655         (WebCore::PeerConnectionBackend::addIceCandidate):
2656         * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
2657         (WebCore::LibWebRTCProvider::createPeerConnection):
2658         * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
2659         * testing/MockLibWebRTCPeerConnection.cpp:
2660         (WebCore::MockLibWebRTCPeerConnectionFactory::CreatePeerConnection):
2661         * testing/MockLibWebRTCPeerConnection.h:
2662
2663 2018-10-18  Ali Juma  <ajuma@chromium.org>
2664
2665         [IntersectionObserver] Factor out rect mapping and clipping logic from computeRectForRepaint
2666         https://bugs.webkit.org/show_bug.cgi?id=189833
2667
2668         Reviewed by Simon Fraser.
2669
2670         Factor out the rect mapping and clipping logic from computeRectForRepaint to a new
2671         computeVisibleRectInContainer method that computeRectForRepaint now calls. Make
2672         computeVisibleRectInContainer take a VisibleRectContext with options to use
2673         edge-inclusive intersection and to apply all clips and scrolls rather than only
2674         the clips and scrolls that are currently applied by the repaint logic. These
2675         options will be used by IntersectionObserver in a future patch.
2676
2677         No new tests, no change in behavior.
2678
2679         * platform/graphics/FloatRect.cpp:
2680         (WebCore::FloatRect::edgeInclusiveIntersect):
2681         * platform/graphics/FloatRect.h:
2682         * platform/graphics/LayoutRect.cpp:
2683         (WebCore::LayoutRect::edgeInclusiveIntersect):
2684         * platform/graphics/LayoutRect.h:
2685         * rendering/RenderBox.cpp:
2686         (WebCore::RenderBox::applyCachedClipAndScrollPosition const):
2687         (WebCore::RenderBox::computeVisibleRectUsingPaintOffset const):
2688         (WebCore::RenderBox::computeVisibleRectInContainer const):
2689         (WebCore::RenderBox::applyCachedClipAndScrollPositionForRepaint const): Deleted.
2690         (WebCore::RenderBox::shouldApplyClipAndScrollPositionForRepaint const): Deleted.
2691         The iOS-specific logic in this method has moved to RenderObject::shouldApplyCompositedContainerScrollsForRepaint.
2692         (WebCore::RenderBox::computeRectForRepaint const): Deleted.
2693         * rendering/RenderBox.h:
2694         (WebCore::RenderBox::computeRectForRepaint): Deleted.
2695         * rendering/RenderInline.cpp:
2696         (WebCore::RenderInline::clippedOverflowRectForRepaint const):
2697         (WebCore::RenderInline::computeVisibleRectUsingPaintOffset const):
2698         (WebCore::RenderInline::computeVisibleRectInContainer const):
2699         (WebCore::RenderInline::computeRectForRepaint const): Deleted.
2700         * rendering/RenderInline.h:
2701         (WebCore::RenderInline::computeRectForRepaint): Deleted.
2702         * rendering/RenderObject.cpp:
2703         (WebCore::RenderObject::shouldApplyCompositedContainerScrollsForRepaint):
2704         (WebCore::RenderObject::visibleRectContextForRepaint):
2705         (WebCore::RenderObject::computeRectForRepaint const):
2706         (WebCore::RenderObject::computeFloatRectForRepaint const):
2707         (WebCore::RenderObject::computeVisibleRectInContainer const):
2708         (WebCore::RenderObject::computeFloatVisibleRectInContainer const):
2709         * rendering/RenderObject.h:
2710         (WebCore::RenderObject::computeAbsoluteRepaintRect const):
2711         (WebCore::RenderObject::VisibleRectContext::VisibleRectContext):
2712         (WebCore::RenderObject::RepaintContext::RepaintContext): Deleted.
2713         (WebCore::RenderObject::computeRectForRepaint): Deleted.
2714         * rendering/RenderTableCell.cpp:
2715         (WebCore::RenderTableCell::computeVisibleRectInContainer const):
2716         (WebCore::RenderTableCell::computeRectForRepaint const): Deleted.
2717         * rendering/RenderTableCell.h:
2718         * rendering/RenderView.cpp:
2719         (WebCore::RenderView::computeVisibleRectInContainer const):
2720         (WebCore::RenderView::computeRectForRepaint const): Deleted.
2721         * rendering/RenderView.h:
2722         * rendering/svg/RenderSVGForeignObject.cpp:
2723         (WebCore::RenderSVGForeignObject::computeFloatVisibleRectInContainer const):
2724         (WebCore::RenderSVGForeignObject::computeVisibleRectInContainer const):
2725         (WebCore::RenderSVGForeignObject::computeFloatRectForRepaint const): Deleted.
2726         (WebCore::RenderSVGForeignObject::computeRectForRepaint const): Deleted.
2727         * rendering/svg/RenderSVGForeignObject.h:
2728         * rendering/svg/RenderSVGInline.cpp:
2729         (WebCore::RenderSVGInline::computeFloatVisibleRectInContainer const):
2730         (WebCore::RenderSVGInline::computeFloatRectForRepaint const): Deleted.
2731         * rendering/svg/RenderSVGInline.h:
2732         * rendering/svg/RenderSVGModelObject.cpp:
2733         (WebCore::RenderSVGModelObject::computeFloatVisibleRectInContainer const):
2734         (WebCore::RenderSVGModelObject::computeFloatRectForRepaint const): Deleted.
2735         * rendering/svg/RenderSVGModelObject.h:
2736         * rendering/svg/RenderSVGRoot.cpp:
2737         (WebCore::RenderSVGRoot::computeFloatVisibleRectInContainer const):
2738         (WebCore::RenderSVGRoot::computeFloatRectForRepaint const): Deleted.
2739         * rendering/svg/RenderSVGRoot.h:
2740         * rendering/svg/RenderSVGText.cpp:
2741         (WebCore::RenderSVGText::computeVisibleRectInContainer const):
2742         (WebCore::RenderSVGText::computeFloatVisibleRectInContainer const):
2743         (WebCore::RenderSVGText::computeRectForRepaint const): Deleted.
2744         (WebCore::RenderSVGText::computeFloatRectForRepaint const): Deleted.
2745         * rendering/svg/RenderSVGText.h:
2746         * rendering/svg/SVGRenderSupport.cpp:
2747         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
2748         (WebCore::SVGRenderSupport::computeFloatVisibleRectInContainer):
2749         (WebCore::SVGRenderSupport::computeFloatRectForRepaint): Deleted.
2750         * rendering/svg/SVGRenderSupport.h:
2751
2752 2018-10-17  Wenson Hsieh  <wenson_hsieh@apple.com>
2753
2754         Enable the datalist element by default on iOS and macOS
2755         https://bugs.webkit.org/show_bug.cgi?id=190594
2756         <rdar://problem/45281159>
2757
2758         Reviewed by Ryosuke Niwa and Tim Horton.
2759
2760         Rebaselined existing layout tests.
2761
2762         * Configurations/FeatureDefines.xcconfig:
2763         * bindings/js/WebCoreBuiltinNames.h:
2764         * css/CSSDefaultStyleSheets.cpp:
2765         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2766         * css/CSSDefaultStyleSheets.h:
2767         * css/InspectorCSSOMWrappers.cpp:
2768         (WebCore::InspectorCSSOMWrappers::collectDocumentWrappers):
2769         * css/html.css:
2770
2771         Remove color input and datalist style rules from the default UA stylesheet.
2772
2773         (input[type="color"]::-webkit-color-swatch-wrapper): Deleted.
2774         * html/HTMLDataListElement.idl:
2775
2776         Make HTMLDataListElement runtime-enabled.
2777
2778         * html/HTMLTagNames.in:
2779         * html/RangeInputType.cpp:
2780
2781         Make a slight adjustment here so that inputs of type range respect the list attribute. Fixes a few layout tests
2782         that add a datalist to an input of type range. See <https://bugs.webkit.org/show_bug.cgi?id=190613> for more
2783         details.
2784
2785         (WebCore::RangeInputType::shouldRespectListAttribute):
2786         * html/TextFieldInputType.cpp:
2787         (WebCore::TextFieldInputType::shouldRespectListAttribute):
2788         * page/RuntimeEnabledFeatures.h:
2789
2790         Add a runtime-enabled feature for the datalist element. Additionally, make the runtime-enabled feature for input
2791         type color false by default, so that it's off in WebKitLegacy.
2792
2793         (WebCore::RuntimeEnabledFeatures::dataListElementEnabled const):
2794         (WebCore::RuntimeEnabledFeatures::setDataListElementEnabled):
2795         * rendering/RenderTheme.cpp:
2796         (WebCore::RenderTheme::colorInputStyleSheet const):
2797
2798         Add new style-sheet hooks for datalist and input type color, so that style rules for color inputs and datalists
2799         can be added at runtime only if the feature is enabled. This ensures that in WebKitLegacy (or other ports where
2800         either or both elements are disabled), we don't still apply rules for datalist and input[type="color"]. Notably,
2801         this allows fallback content inside datalist elements to still work in WebKitLegacy (which would otherwise be
2802         hidden when using the default stylesheet since `display: none` is applied to datalist by default). This also
2803         prevents inputs of type color from having a smaller size, no outline, and the appearance of a color well on
2804         macOS.
2805
2806         (WebCore::RenderTheme::dataListStyleSheet const):
2807         * rendering/RenderTheme.h:
2808         (WebCore::RenderTheme::platformColorInputStyleSheet const):
2809         * rendering/RenderThemeMac.h:
2810         * rendering/RenderThemeMac.mm:
2811         (WebCore::RenderThemeMac::platformColorInputStyleSheet const):
2812
2813 2018-10-17  Justin Michaud  <justin_michaud@apple.com>
2814
2815         Parse paint() and store paint callbacks for CSS Painting API
2816         https://bugs.webkit.org/show_bug.cgi?id=190657
2817
2818         Reviewed by Dean Jackson.
2819
2820         Implement support for parsing paint() images in css, and store CSS paint callback objects in the paint definition map.
2821
2822         * Sources.txt:
2823         * WebCore.xcodeproj/project.pbxproj:
2824         * bindings/js/JSCSSPaintWorkletGlobalScopeCustom.cpp:
2825         (WebCore::JSCSSPaintWorkletGlobalScope::visitAdditionalChildren):
2826         (WebCore::JSCSSPaintWorkletGlobalScope::registerPaint):
2827         * css/CSSImageGeneratorValue.cpp:
2828         (WebCore::CSSImageGeneratorValue::image):
2829         (WebCore::CSSImageGeneratorValue::isFixedSize const):
2830         (WebCore::CSSImageGeneratorValue::fixedSize):
2831         (WebCore::CSSImageGeneratorValue::isPending const):
2832         (WebCore::CSSImageGeneratorValue::knownToBeOpaque const):
2833         (WebCore::CSSImageGeneratorValue::loadSubimages):
2834         * css/CSSPaintImageValue.cpp: Added.
2835         (WebCore::CSSPaintImageValue::customCSSText const):
2836         * css/CSSPaintImageValue.h: Added.
2837         * css/CSSPaintWorkletGlobalScope.h:
2838         * css/CSSPaintWorkletGlobalScope.idl:
2839         * css/CSSValue.cpp:
2840         (WebCore::CSSValue::equals const):
2841         (WebCore::CSSValue::cssText const):
2842         (WebCore::CSSValue::destroy):
2843         * css/CSSValue.h:
2844         (WebCore::CSSValue::isPaintImageValue const):
2845         * css/CSSValueKeywords.in:
2846         * css/parser/CSSPropertyParserHelpers.cpp:
2847         (WebCore::CSSPropertyParserHelpers::consumeCustomPaint):
2848         (WebCore::CSSPropertyParserHelpers::consumeGeneratedImage):
2849         (WebCore::CSSPropertyParserHelpers::isGeneratedImage):
2850         * platform/mediastream/mac/RealtimeVideoUtilities.h:
2851
2852 2018-10-17  Eric Carlson  <eric.carlson@apple.com>
2853
2854         [MediaStream] Consolidate all image conversion and resizing into one class
2855         https://bugs.webkit.org/show_bug.cgi?id=190519
2856         <rdar://problem/45224307>
2857
2858         Try to fix the iOSMac build after r237236.
2859
2860         * platform/graphics/cv/ImageTransferSessionVT.h:
2861         * platform/graphics/cv/ImageTransferSessionVT.mm:
2862
2863 2018-10-17  Justin Fan  <justin_fan@apple.com>
2864
2865         [WebGPU] Implement WebGPU bindings up through WebGPUDevice creation
2866         https://bugs.webkit.org/show_bug.cgi?id=190653
2867
2868         Reviewed by Dean Jackson.
2869
2870         Test: webgpu/webgpu-enabled.html
2871
2872         Add WebGPU Sketch bindings for window.webgpu, WebGPUAdapter, WebGPUAdapterDescriptor,
2873         and WebGPUDevice creation. Based off IDL commit version b6c61ee. 
2874         https://github.com/gpuweb/gpuweb/blob/master/design/sketch.webidl
2875
2876         * CMakeLists.txt:
2877         * DerivedSources.make:
2878         * Modules/webgpu/DOMWindowWebGPU.cpp: Added.
2879         (WebCore::DOMWindowWebGPU::DOMWindowWebGPU):
2880         (WebCore::DOMWindowWebGPU::supplementName):
2881         (WebCore::DOMWindowWebGPU::from):
2882         (WebCore::DOMWindowWebGPU::webgpu):
2883         (WebCore::DOMWindowWebGPU::webgpu const):
2884         * Modules/webgpu/DOMWindowWebGPU.h: Added.
2885         * Modules/webgpu/DOMWindowWebGPU.idl: Added.
2886         * Modules/webgpu/WebGPU.cpp: Added.
2887         (WebCore::WebGPU::create):
2888         (WebCore::WebGPU::requestAdapter const):
2889         * Modules/webgpu/WebGPU.h: Added.
2890         * Modules/webgpu/WebGPU.idl: Added.
2891         * Modules/webgpu/WebGPUAdapter.cpp: Added.
2892         (WebCore::WebGPUAdapter::create):
2893         (WebCore::WebGPUAdapter::WebGPUAdapter):
2894         (WebCore::WebGPUAdapter::createDevice):
2895         * Modules/webgpu/WebGPUAdapter.h: Added.
2896         * Modules/webgpu/WebGPUAdapter.idl: Added.
2897         * Modules/webgpu/WebGPUAdapterDescriptor.h: Added.
2898         * Modules/webgpu/WebGPUAdapterDescriptor.idl: Added.
2899         * Modules/webgpu/WebGPUDevice.cpp: Added.
2900         (WebCore::WebGPUDevice::create):
2901         (WebCore::WebGPUDevice::WebGPUDevice):
2902         * Modules/webgpu/WebGPUDevice.h: Added.
2903         (WebCore::WebGPUDevice::adapter const):
2904         * Modules/webgpu/WebGPUDevice.idl: Added.
2905         * Sources.txt:
2906         * WebCore.xcodeproj/project.pbxproj:
2907         * bindings/js/WebCoreBuiltinNames.h:
2908
2909 2018-10-17  Andy Estes  <aestes@apple.com>
2910
2911         [Apple Pay] Increment the API version to 5
2912         https://bugs.webkit.org/show_bug.cgi?id=190686
2913         <rdar://problem/45348523>
2914
2915         Reviewed by Simon Fraser.
2916
2917         Test: http/tests/ssl/applepay/ApplePaySessionV5.html
2918
2919         * testing/MockPaymentCoordinator.cpp:
2920         (WebCore::MockPaymentCoordinator::supportsVersion):
2921
2922 2018-10-17  Eric Carlson  <eric.carlson@apple.com>
2923
2924         [MediaStream] Consolidate all image conversion and resizing into one class
2925         https://bugs.webkit.org/show_bug.cgi?id=190519
2926         <rdar://problem/45224307>
2927
2928         Reviewed by Youenn Fablet.
2929
2930         No new tests, no functional change.
2931
2932         * SourcesCocoa.txt: Add ImageTransferSessionVT.
2933         * WebCore.xcodeproj/project.pbxproj: Ditto.
2934
2935         * platform/MediaSample.h:
2936         (WebCore::MediaSample::videoPixelFormat const): New.
2937
2938         * platform/cocoa/VideoToolboxSoftLink.cpp: Add new kVTPixelTransferProperty keys.
2939         * platform/cocoa/VideoToolboxSoftLink.h:
2940
2941         * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
2942         (WebCore::MediaSampleAVFObjC::create): Remove unimplemented variant.
2943         * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
2944         (WebCore::MediaSampleAVFObjC::videoPixelFormat const): New.
2945
2946         * platform/graphics/cv/ImageTransferSessionVT.h: Added.
2947         (WebCore::ImageTransferSessionVT::create):
2948         * platform/graphics/cv/ImageTransferSessionVT.mm: Added.
2949         (WebCore::ImageTransferSessionVT::ImageTransferSessionVT):
2950         (WebCore::ImageTransferSessionVT::~ImageTransferSessionVT):
2951         (WebCore::ImageTransferSessionVT::setSize):
2952         (WebCore::ImageTransferSessionVT::createPixelBuffer):
2953         (WebCore::ImageTransferSessionVT::createCMSampleBuffer):
2954         (WebCore::roundUpToMacroblockMultiple):
2955         (WebCore::ImageTransferSessionVT::ioSurfacePixelBufferCreationOptions):
2956         (WebCore::ImageTransferSessionVT::createMediaSample):
2957
2958         * platform/graphics/cv/PixelBufferResizer.h: Removed.
2959         * platform/graphics/cv/PixelBufferResizer.mm: Removed.
2960
2961         * platform/mediastream/mac/AVVideoCaptureSource.h:
2962         * platform/mediastream/mac/AVVideoCaptureSource.mm:
2963         (WebCore::AVVideoCaptureSource::prefersPreset):
2964         (WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Remove
2965         the resizing logic, it is handled by the base class.
2966
2967         * platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
2968         (WebCore::DisplayCaptureSourceCocoa::capabilities):
2969         (WebCore::DisplayCaptureSourceCocoa::settingsDidChange):
2970         (WebCore::DisplayCaptureSourceCocoa::setIntrinsicSize):
2971         (WebCore::DisplayCaptureSourceCocoa::emitFrame): Remove resizing logic, just use a transfer
2972         session to create an image from the capture source native output format.
2973         (WebCore::DisplayCaptureSourceCocoa::sampleBufferFromPixelBuffer): Deleted.
2974         (WebCore::roundUpToMacroblockMultiple): Deleted.
2975         (WebCore::DisplayCaptureSourceCocoa::pixelBufferFromIOSurface): Deleted.
2976         * platform/mediastream/mac/DisplayCaptureSourceCocoa.h:
2977
2978         * platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
2979         * platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
2980         (WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer): Use image transfer session.
2981         (WebCore::MockRealtimeVideoSourceMac::CMSampleBufferFromPixelBuffer): Deleted.
2982         (WebCore::MockRealtimeVideoSourceMac::pixelBufferFromCGImage const): Deleted.
2983         (WebCore::MockRealtimeVideoSourceMac::setSizeAndFrameRateWithPreset): Deleted.
2984
2985         * platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:
2986         * platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
2987         (WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream):
2988         (WebCore::ScreenDisplayCaptureSourceMac::generateFrame): Return the IOSurface directly.
2989
2990         * platform/mediastream/mac/WindowDisplayCaptureSourceMac.h:
2991         * platform/mediastream/mac/WindowDisplayCaptureSourceMac.mm:
2992         (WebCore::WindowDisplayCaptureSourceMac::generateFrame): Return the CGImage directly.
2993         (WebCore::WindowDisplayCaptureSourceMac::pixelBufferFromCGImage): Deleted.
2994
2995         * platform/mock/MockRealtimeVideoSource.cpp:
2996         (WebCore::MockRealtimeVideoSource::capabilities): Only the camera supports device ID.
2997         (WebCore::MockRealtimeVideoSource::settings): Ditto.
2998
2999 2018-10-17  Eric Carlson  <eric.carlson@apple.com>
3000
3001         [MediaStream] Clean up capture source factory management
3002         https://bugs.webkit.org/show_bug.cgi?id=190502
3003         <rdar://problem/45212447>
3004
3005         Reviewed by Youenn Fablet.
3006
3007         No new tests, no functional change.
3008
3009         * platform/mediastream/RealtimeMediaSourceCenter.cpp:
3010         (WebCore::RealtimeMediaSourceCenter::setAudioFactory):
3011         (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory):
3012         (WebCore::RealtimeMediaSourceCenter::audioFactory):
3013         (WebCore::RealtimeMediaSourceCenter::setVideoFactory):
3014         (WebCore::RealtimeMediaSourceCenter::unsetVideoFactory):
3015         (WebCore::RealtimeMediaSourceCenter::videoFactory):
3016         (WebCore::RealtimeMediaSourceCenter::setDisplayCaptureFactory):
3017         (WebCore::RealtimeMediaSourceCenter::unsetDisplayCaptureFactory):
3018         (WebCore::RealtimeMediaSourceCenter::displayCaptureFactory):
3019         * platform/mediastream/RealtimeMediaSourceCenter.h:
3020         (WebCore::RealtimeMediaSourceCenter::setAudioFactory): Deleted.
3021         (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory): Deleted.
3022         (): Deleted.
3023         * platform/mediastream/gstreamer/RealtimeMediaSourceCenterLibWebRTC.cpp:
3024         (WebCore::RealtimeMediaSourceCenterLibWebRTC::audioFactoryPrivate):
3025         (WebCore::RealtimeMediaSourceCenterLibWebRTC::videoFactoryPrivate):
3026         (WebCore::RealtimeMediaSourceCenterLibWebRTC::displayCaptureFactoryPrivate):
3027         (WebCore::RealtimeMediaSourceCenterLibWebRTC::audioCaptureSourceFactory): Deleted.
3028         (WebCore::RealtimeMediaSourceCenterLibWebRTC::audioFactory): Deleted.
3029         (WebCore::RealtimeMediaSourceCenterLibWebRTC::videoFactory): Deleted.
3030         (WebCore::RealtimeMediaSourceCenterLibWebRTC::displayCaptureFactory): Deleted.
3031         * platform/mediastream/gstreamer/RealtimeMediaSourceCenterLibWebRTC.h:
3032         * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
3033         (WebCore::RealtimeMediaSourceCenterMac::audioFactoryPrivate):
3034         (WebCore::RealtimeMediaSourceCenterMac::videoFactoryPrivate):
3035         (WebCore::RealtimeMediaSourceCenterMac::displayCaptureFactoryPrivate):
3036         (WebCore::RealtimeMediaSourceCenterMac::videoCaptureSourceFactory): Deleted.
3037         (WebCore::RealtimeMediaSourceCenterMac::displayCaptureSourceFactory): Deleted.
3038         (WebCore::RealtimeMediaSourceCenterMac::audioCaptureSourceFactory): Deleted.
3039         (WebCore::RealtimeMediaSourceCenterMac::audioFactory): Deleted.
3040         (WebCore::RealtimeMediaSourceCenterMac::videoFactory): Deleted.
3041         (WebCore::RealtimeMediaSourceCenterMac::displayCaptureFactory): Deleted.
3042         * platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
3043         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
3044         (WebCore::MockRealtimeMediaSourceCenter::audioFactoryPrivate):
3045         (WebCore::MockRealtimeMediaSourceCenter::videoFactoryPrivate):
3046         (WebCore::MockRealtimeMediaSourceCenter::displayCaptureFactoryPrivate):
3047         (WebCore::MockRealtimeMediaSourceCenter::audioFactory): Deleted.
3048         (WebCore::MockRealtimeMediaSourceCenter::videoFactory): Deleted.
3049         (WebCore::MockRealtimeMediaSourceCenter::displayCaptureFactory): Deleted.
3050         * platform/mock/MockRealtimeMediaSourceCenter.h:
3051
3052 2018-10-17  Alex Christensen  <achristensen@webkit.org>
3053
3054         BackForwardClient needs to be able to support UIProcess-only back/forward lists
3055         https://bugs.webkit.org/show_bug.cgi?id=190675
3056
3057         Reviewed by Chris Dumez.
3058
3059         Return a RefPtr<HistoryItem> instead of a HistoryItem so that we will be able to return a
3060         HistoryItem that has been created instead of a pointer to a HistoryItem that is owned by something else.
3061         Also use unsigned for the back and forward list counts because they can never be negative.
3062
3063         * history/BackForwardClient.h:
3064         * history/BackForwardController.cpp:
3065         (WebCore::BackForwardController::backItem):
3066         (WebCore::BackForwardController::currentItem):
3067         (WebCore::BackForwardController::forwardItem):
3068         (WebCore::BackForwardController::canGoBackOrForward const):
3069         (WebCore::BackForwardController::goBackOrForward):
3070         (WebCore::BackForwardController::goBack):
3071         (WebCore::BackForwardController::goForward):
3072         (WebCore::BackForwardController::count const):
3073         (WebCore::BackForwardController::backCount const):
3074         (WebCore::BackForwardController::forwardCount const):
3075         (WebCore::BackForwardController::itemAtIndex):
3076         * history/BackForwardController.h:
3077         (WebCore::BackForwardController::backItem): Deleted.
3078         (WebCore::BackForwardController::currentItem): Deleted.
3079         (WebCore::BackForwardController::forwardItem): Deleted.
3080         * loader/EmptyClients.cpp:
3081         * loader/NavigationScheduler.cpp:
3082         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
3083
3084 2018-10-17  Antoine Quint  <graouts@apple.com>
3085
3086         [Web Animations] Do not create a DocumentTimeline to suspend or resume animations
3087         https://bugs.webkit.org/show_bug.cgi?id=190660
3088
3089         Reviewed by Dean Jackson.
3090
3091         We check that there is an existing timeline before trying to suspend or resume its animations, otherwise
3092         we're creating a DocumentTimeline when nothing requires for it to exist. We also have to check that we
3093         suspend animations when a DocumentTimeline is created while the page is not visible.
3094
3095         No new tests as there is no change in behavior here.
3096
3097         * animation/DocumentTimeline.cpp:
3098         (WebCore::DocumentTimeline::DocumentTimeline):
3099         * dom/Document.cpp:
3100         (WebCore::Document::didBecomeCurrentDocumentInFrame):
3101         (WebCore::Document::resume):
3102         * page/Frame.cpp:
3103         (WebCore::Frame::clearTimers):
3104         * page/Page.cpp:
3105         (WebCore::Page::setIsVisibleInternal):
3106         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
3107
3108 2018-10-17  Antti Koivisto  <antti@apple.com>
3109
3110         Tiling CSS gradients is slow
3111         https://bugs.webkit.org/show_bug.cgi?id=190615
3112
3113         Reviewed by Tim Horton.
3114
3115         Painting blocks the main thread on CG rendering queue to make a copy of the backing store.
3116
3117         * platform/graphics/BitmapImage.cpp:
3118         (WebCore::BitmapImage::drawPattern):
3119
3120         Also use sinkIntoImage for bitmap image pattern drawing.
3121
3122         * platform/graphics/GradientImage.cpp:
3123         (WebCore::GradientImage::drawPattern):
3124
3125         Sink the gradient into an Image after generating it. Unlike ImageBuffer, painting it doesn't involve inefficient copies.
3126         Previous isCompatibleWithContext test is replaced with an equivalent scale factor test.
3127
3128         * platform/graphics/GradientImage.h:
3129
3130 2018-10-17  Chris Dumez  <cdumez@apple.com>
3131
3132         Update more DOMWindow getters to return references instead of raw pointers
3133         https://bugs.webkit.org/show_bug.cgi?id=190654
3134
3135         Reviewed by Youenn Fablet.
3136
3137         Update more DOMWindow getters to return references instead of raw pointers, since they
3138         can no longer return null after recent refactoring.
3139
3140         * Modules/gamepad/GamepadManager.cpp:
3141         (WebCore::navigatorGamepadFromDOMWindow):
3142         * bindings/js/JSDOMWindowCustom.cpp:
3143         (WebCore::JSDOMWindow::heapSnapshot):
3144         * dom/Document.cpp:
3145         (WebCore::Document::location const):
3146         (WebCore::Document::dispatchPopstateEvent):
3147         * dom/Event.cpp:
3148         (WebCore::Event::timeStampForBindings const):
3149         * loader/DocumentThreadableLoader.cpp:
3150         (WebCore::DocumentThreadableLoader::loadRequest):
3151         * loader/ResourceTimingInformation.cpp:
3152         (WebCore::ResourceTimingInformation::addResourceTiming):
3153         * page/DOMWindow.cpp:
3154         (WebCore::DOMWindow::screen):
3155         (WebCore::DOMWindow::history):
3156         (WebCore::DOMWindow::crypto const):
3157         (WebCore::DOMWindow::locationbar):
3158         (WebCore::DOMWindow::menubar):
3159         (WebCore::DOMWindow::personalbar):
3160         (WebCore::DOMWindow::scrollbars):
3161         (WebCore::DOMWindow::statusbar):
3162         (WebCore::DOMWindow::toolbar):
3163         (WebCore::DOMWindow::applicationCache):
3164         (WebCore::DOMWindow::navigator):
3165         (WebCore::DOMWindow::performance const):
3166         (WebCore::DOMWindow::nowTimestamp const):
3167         (WebCore::DOMWindow::location):
3168         (WebCore::DOMWindow::visualViewport):
3169         (WebCore::DOMWindow::styleMedia):
3170         * page/DOMWindow.h:
3171         * page/FrameView.cpp:
3172         (WebCore::FrameView::updateLayoutViewport):
3173         * page/History.cpp:
3174         (WebCore::History::stateObjectAdded):
3175         * page/IntersectionObserver.cpp:
3176         (WebCore::IntersectionObserver::createTimestamp const):
3177         * page/PerformanceObserver.cpp:
3178         (WebCore::PerformanceObserver::PerformanceObserver):
3179         * platform/cocoa/VideoFullscreenModelVideoElement.mm:
3180         (WebCore::VideoFullscreenModelVideoElement::requestFullscreenMode):
3181
3182 2018-10-17  Chris Fleizach  <cfleizach@apple.com>
3183
3184         AX: Certain tags should identify their context to iOS API
3185         https://bugs.webkit.org/show_bug.cgi?id=190622
3186         <rdar://problem/45308194>
3187
3188         Reviewed by Zalan Bujtas.
3189
3190         Convey the semantic meaning of <code> tag to the iOS API so VoiceOver can make use of it.
3191
3192         Tests: accessibility/ios-simulator/text-context-attributes.html
3193
3194         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3195         (-[WebAccessibilityObjectWrapper accessibilityTextualContext]):
3196         (AXAttributeStringSetStyle):
3197
3198 2018-10-17  Youenn Fablet  <youenn@apple.com>
3199
3200         Remove unused code from RealtimeOutgoingVideoSourceCocoa
3201         https://bugs.webkit.org/show_bug.cgi?id=190666
3202
3203         Reviewed by Eric Carlson.
3204
3205         No change of behavior, removed no longer used code.
3206
3207         * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
3208         (): Deleted.
3209
3210 2018-10-17  Ali Juma  <ajuma@chromium.org>
3211
3212         Flaky IntersectionObserver web platform tests involving style updates
3213         https://bugs.webkit.org/show_bug.cgi?id=189091
3214
3215         Reviewed by Simon Fraser.
3216
3217         Update intersection observations when flushing layers from the WebProcess
3218         to the UIProcess to make the timing of these updates more predictable, and
3219         more consistent with the IntersectionObserver spec, since the spec expects
3220         these updates to happen as part of the "Update the rendering" step in the
3221         HTML EventLoop.
3222
3223         Getting a similar approach to work with WK1 seems to add more complexity than it's
3224         worth, since flushes don't happen for scrolls handled by platform widgets, and
3225         flushes for other invalidations only happen when in compositing mode.
3226
3227         The only remaining timer-driven intersection observation update is for handling
3228         the initial observation on a newly added target, which needs to happen even if
3229         there are no changes triggering a flush.
3230
3231         Tested by the following tests no longer being flaky:
3232             imported/w3c/web-platform-tests/intersection-observer/bounding-box.html
3233             imported/w3c/web-platform-tests/intersection-observer/display-none.html
3234             imported/w3c/web-platform-tests/intersection-observer/containing-block.html
3235
3236         * dom/Document.cpp:
3237         (WebCore::Document::resolveStyle):
3238         (WebCore::Document::updateIntersectionObservations):
3239         (WebCore::Document::scheduleForcedIntersectionObservationUpdate):
3240         (WebCore::Document::scheduleIntersectionObservationUpdate): Deleted.
3241         * dom/Document.h:
3242         * page/FrameView.cpp:
3243         (WebCore::FrameView::flushCompositingStateForThisFrame):
3244         (WebCore::FrameView::viewportContentsChanged):
3245         * page/IntersectionObserver.cpp:
3246         (WebCore::IntersectionObserver::observe):
3247         * page/Page.cpp:
3248         (WebCore::Page::Page):
3249         (WebCore::Page::willDisplayPage):
3250         (WebCore::Page::addDocumentNeedingIntersectionObservationUpdate):
3251         (WebCore::Page::updateIntersectionObservations):
3252         (WebCore::Page::scheduleForcedIntersectionObservationUpdate):
3253         * page/Page.h:
3254
3255 2018-10-17  Charlie Turner  <cturner@igalia.com>
3256
3257         [EME] Sanity check key ID length in the keyids init data format
3258         https://bugs.webkit.org/show_bug.cgi?id=190629
3259
3260         Reviewed by Xabier Rodriguez-Calvar.
3261
3262         Covered by web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.https.html
3263
3264         * Modules/encryptedmedia/InitDataRegistry.cpp:
3265         (WebCore::extractKeyIDsKeyids): Ensure the decoded key id length
3266         is at least 1 byte and no more than 512 bytes.
3267
3268 2018-10-16  Chris Dumez  <cdumez@apple.com>
3269
3270         Regression(r236795) Check boxes are sometimes checked when they should not be
3271         https://bugs.webkit.org/show_bug.cgi?id=190651
3272         <rdar://problem/45319934>
3273
3274         Reviewed by Ryosuke Niwa.
3275
3276         r236795 mistakenly dropped the statement resetting m_reflectsCheckedAttribute to true
3277         in HTMLInputElement::parseAttribute() because it looked like a no-op given that we
3278         made sure it was true a couple of line above. However, I overlooked that calling
3279         HTMLInputElement::setChecked() sets m_reflectsCheckedAttribute to false.
3280
3281         This patch thus re-introduces the statement. It also renames m_reflectsCheckedAttribute
3282         to m_dirtyCheckednessFlag and reverses its value in order to match the specification
3283         more closely:
3284         - https://html.spec.whatwg.org/#concept-input-checked-dirty-flag
3285
3286         Test: fast/dom/HTMLInputElement/checkbox-dirty-checkedness-flag.html
3287
3288         * html/HTMLInputElement.cpp:
3289         (WebCore::HTMLInputElement::HTMLInputElement):
3290         (WebCore::HTMLInputElement::parseAttribute):
3291         (WebCore::HTMLInputElement::finishParsingChildren):
3292         (WebCore::HTMLInputElement::reset):
3293         (WebCore::HTMLInputElement::setChecked):
3294         (WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
3295         * html/HTMLInputElement.h:
3296
3297 2018-10-16  Sihui Liu  <sihui_liu@apple.com>
3298
3299         Add a switch for Web SQL
3300         https://bugs.webkit.org/show_bug.cgi?id=190271
3301
3302         Reviewed by Ryosuke Niwa.
3303
3304         Web SQL is still enabled by default.
3305
3306         * Modules/webdatabase/DOMWindowWebDatabase.idl:
3307         * Modules/webdatabase/Database.idl:
3308         * Modules/webdatabase/SQLError.idl:
3309         * Modules/webdatabase/SQLResultSet.idl:
3310         * Modules/webdatabase/SQLResultSetRowList.idl:
3311         * bindings/js/WebCoreBuiltinNames.h:
3312         * page/RuntimeEnabledFeatures.h:
3313         (WebCore::RuntimeEnabledFeatures::setWebSQLDisabled):
3314         (WebCore::RuntimeEnabledFeatures::webSQLEnabled const):
3315
3316 2018-10-16  Chris Dumez  <cdumez@apple.com>
3317
3318         window.performance should not become null after the window loses its browsing context
3319         https://bugs.webkit.org/show_bug.cgi?id=190636
3320
3321         Reviewed by Ryosuke Niwa.
3322
3323         window.performance should not become null after the window loses its browsing context. This
3324         WebKit behavior does not match the HTML specification nor the behavior of other browsers.
3325
3326         Also note that the attribute is not nullable in the specification:
3327         - https://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute
3328
3329         No new tests, updated existing test.
3330
3331         * page/DOMWindow.cpp:
3332         (WebCore::DOMWindow::performance const):
3333         * page/Performance.cpp:
3334         (WebCore::Performance::Performance):
3335         * page/Performance.h:
3336         * platform/GenericTaskQueue.h:
3337         (WebCore::TaskDispatcher::TaskDispatcher):
3338         (WebCore::TaskDispatcher::postTask):
3339         (WebCore::GenericTaskQueue::GenericTaskQueue):
3340         (WebCore::GenericTaskQueue::isClosed const):
3341         * workers/WorkerGlobalScope.cpp:
3342         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
3343
3344 2018-10-16  Jer Noble  <jer.noble@apple.com>
3345
3346         Refactoring: Convert HTMLMediaElement::scheduleDelayedAction() to individually schedulable & cancelable tasks
3347         https://bugs.webkit.org/show_bug.cgi?id=188208
3348
3349         Reviewed by Eric Carlson.
3350
3351         Rather than have a single, monolithic, zero-duration-timer based dispatch for
3352         a bunch of methods to be performed in a future run-loop, convert them all to
3353         use a DeferrableTask, which in turn is a kind of GenericTaskQueue which can
3354         enqueue only a single task at a time. Convert some other zero-duration-timer
3355         and GenericTaskQueue dispatches to this new DeferrableTask.
3356
3357         * WebCore.xcodeproj/project.pbxproj:
3358         * html/HTMLMediaElement.cpp:
3359         (WebCore::HTMLMediaElement::HTMLMediaElement):
3360         (WebCore::HTMLMediaElement::finishParsingChildren):
3361         (WebCore::HTMLMediaElement::scheduleCheckPlaybackTargetCompatability):
3362         (WebCore::HTMLMediaElement::checkPlaybackTargetCompatablity):
3363         (WebCore::HTMLMediaElement::prepareForLoad):
3364         (WebCore::HTMLMediaElement::setReadyState):
3365         (WebCore::HTMLMediaElement::seekWithTolerance):
3366         (WebCore::HTMLMediaElement::setMuted):
3367         (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack):
3368         (WebCore::HTMLMediaElement::didAddTextTrack):
3369         (WebCore::HTMLMediaElement::scheduleConfigureTextTracks):
3370         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3371         (WebCore::HTMLMediaElement::scheduleMediaEngineWasUpdated):
3372         (WebCore::HTMLMediaElement::mediaEngineWasUpdated):
3373         (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
3374         (WebCore::HTMLMediaElement::scheduleUpdatePlayState):
3375         (WebCore::HTMLMediaElement::updatePlayState):
3376         (WebCore::HTMLMediaElement::setPlaying):
3377         (WebCore::HTMLMediaElement::setPausedInternal):
3378         (WebCore::HTMLMediaElement::cancelPendingTasks):
3379         (WebCore::HTMLMediaElement::userCancelledLoad):
3380         (WebCore::HTMLMediaElement::clearMediaPlayer):
3381         (WebCore::HTMLMediaElement::contextDestroyed):
3382         (WebCore::HTMLMediaElement::stop):
3383         (WebCore::HTMLMediaElement::suspend):
3384         (WebCore::HTMLMediaElement::resume):
3385         (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
3386         (WebCore::HTMLMediaElement::dispatchEvent):
3387         (WebCore::HTMLMediaElement::removeEventListener):
3388         (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):
3389         (WebCore::HTMLMediaElement::didBecomeFullscreenElement):
3390         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured):
3391         (WebCore::HTMLMediaElement::scheduleUpdateMediaState):
3392         (WebCore::HTMLMediaElement::updateMediaState):
3393         (WebCore::HTMLMediaElement::playbackControlsManagerBehaviorRestrictionsTimerFired):
3394      &nb