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