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