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