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