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