da74f300b36ff189071304bb1fc9d683f0b25725
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2018-06-28  Zalan Bujtas  <zalan@apple.com>
2
3         [LFC] The margin bottom of the document element does not collapse with its last inflow child's bottom margin.
4         https://bugs.webkit.org/show_bug.cgi?id=187135
5
6         Reviewed by Antti Koivisto.
7
8         * layout/blockformatting/BlockFormattingContext.h:
9         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
10         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
11         * layout/blockformatting/BlockMarginCollapse.cpp:
12         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBottom):
13         (WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginBottomCollapsedWithParent):
14         (WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginBottomFromLastChild):
15
16 2018-06-28  Dirk Schulze  <krit@webkit.org>
17
18         [css-masking] Update clip-path box mapping to unified box
19         https://bugs.webkit.org/show_bug.cgi?id=185797
20
21         Reviewed by Simon Fraser.
22
23         The box mapping for fill-box, stroke-box, view-box on HTML elements
24         and content-box, padding-box, margin-box, border-box for SVG elements
25         was aligned with the transform-box CSS property.
26
27         Furthermore, the keywords fill changed to fill-box and stroke changed
28         to stroke-box.
29
30         https://drafts.fxtf.org/css-masking-1/#typedef-geometry-box
31
32         Update the -webkit-clip-path property.
33
34         Tests: svg/clip-path/clip-path-shape-border-box-expected.svg
35                svg/clip-path/clip-path-shape-border-box.svg
36                svg/clip-path/clip-path-shape-content-box-expected.svg
37                svg/clip-path/clip-path-shape-content-box.svg
38                svg/clip-path/clip-path-shape-margin-box-expected.svg
39                svg/clip-path/clip-path-shape-margin-box.svg
40                svg/clip-path/clip-path-shape-padding-box-expected.svg
41                svg/clip-path/clip-path-shape-padding-box.svg
42
43         * css/CSSPrimitiveValueMappings.h:
44         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
45         (WebCore::CSSPrimitiveValue::operator CSSBoxType const):
46         * css/CSSValueKeywords.in:
47         * css/StyleBuilderConverter.h:
48         (WebCore::StyleBuilderConverter::convertClipPath):
49         * css/parser/CSSPropertyParser.cpp:
50         (WebCore::consumeBasicShapeOrBox):
51         * rendering/RenderBlock.cpp:
52         (WebCore::RenderBlock::nodeAtPoint):
53         * rendering/RenderLayer.cpp:
54         (WebCore::computeReferenceBox):
55         * rendering/shapes/BoxShape.cpp:
56         (WebCore::computeRoundedRectForBoxShape):
57         * rendering/shapes/ShapeOutsideInfo.cpp:
58         (WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
59         (WebCore::ShapeOutsideInfo::logicalTopOffset const):
60         (WebCore::ShapeOutsideInfo::logicalLeftOffset const):
61         * rendering/style/RenderStyleConstants.h:
62         * rendering/svg/SVGRenderingContext.cpp:
63         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
64
65 2018-06-27  Timothy Hatcher  <timothy@apple.com>
66
67         Don't expose new semantic -apple-system color keywords on iOS.
68         https://bugs.webkit.org/show_bug.cgi?id=187080
69         rdar://problem/41505699
70
71         Reviewed by Tim Horton.
72
73         * DerivedSources.make: Use gnu++14, since gnu++17 is giving errors on macOS 10.12.
74         * css/CSSValueKeywords.in: Define new semantic colors only on macOS.
75
76 2018-06-27  Zalan Bujtas  <zalan@apple.com>
77
78         [LFC] Compute both the collapsed and the non-collapsed margin values.
79         https://bugs.webkit.org/show_bug.cgi?id=187129
80
81         Reviewed by Antti Koivisto.
82
83         For validation purposes only at this point.
84
85         * layout/FormattingContext.cpp:
86         (WebCore::Layout::FormattingContext::computeFloatingHeightAndMargin const):
87         (WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
88         * layout/FormattingContext.h:
89         * layout/FormattingContextGeometry.cpp:
90         (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
91         (WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
92         (WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeightAndMargin):
93         (WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
94         * layout/blockformatting/BlockFormattingContext.cpp:
95         (WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
96         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
97         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
98         * layout/blockformatting/BlockMarginCollapse.cpp:
99         (WebCore::Layout::isMarginTopCollapsedWithParent):
100         (WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginTopFromFirstChild):
101         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
102
103 2018-06-27  Zalan Bujtas  <zalan@apple.com>
104
105         [LFC] Align inFlowNonReplacedHeightAndMargin() style with the rest of the compute functions.
106         https://bugs.webkit.org/show_bug.cgi?id=187126
107
108         Reviewed by Antti Koivisto.
109
110         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
111         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
112
113 2018-06-27  Yusuke Suzuki  <utatane.tea@gmail.com>
114
115         [GTK][WPE] Use LazyNeverDestroyed<XErrorTrapper> to remove static initializers
116         https://bugs.webkit.org/show_bug.cgi?id=187089
117
118         Reviewed by Michael Catanzaro.
119
120         Do not allow copying since XErrorTrapper's logic relies on the address of XErrorTrapper.
121
122         * platform/graphics/x11/XErrorTrapper.h:
123
124 2018-06-27  Zalan Bujtas  <zalan@apple.com>
125
126         [LFC] Align inFlowNonReplacedWidthAndMargin() style with the rest of the compute functions.
127         https://bugs.webkit.org/show_bug.cgi?id=187124
128
129         Reviewed by Antti Koivisto.
130
131         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
132         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
133
134 2018-06-27  Dirk Schulze  <krit@webkit.org>
135
136         -webkit-clip-path wrong offset for clipPath references
137         https://bugs.webkit.org/show_bug.cgi?id=129246
138
139         Reviewed by Simon Fraser.
140
141         Compute the correct offset for reference clip-paths by reusing
142         some of the logic from basic shapes.
143         Makes reference based clip-path interoperable and follows the
144         spec.
145
146         Test: css3/masking/clip-path-reference-2.html
147
148         * rendering/RenderLayer.cpp:
149         (WebCore::computeReferenceBox):
150         (WebCore::RenderLayer::computeClipPath const):
151         (WebCore::RenderLayer::setupClipPath):
152
153 2018-06-27  Antti Koivisto  <antti@apple.com>
154
155         Don't invoke post resolution callbacks when resolving computed style
156         https://bugs.webkit.org/show_bug.cgi?id=187113
157         <rdar://problem/41365766>
158
159         Reviewed by Geoff Garen.
160
161         Post-resolution callbacks should only be invoked when we resolve the full document style,
162         not when resolving computed style for a single element.
163
164         Tests: fast/dom/object-computed-style-event.html
165
166         * dom/Document.cpp:
167         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
168         * dom/Element.cpp:
169         (WebCore::Element::resolveComputedStyle):
170
171         Also ref the ancestor stack to be safe.
172
173         * style/StyleTreeResolver.cpp:
174         (WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler):
175         (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler):
176
177         Add an option to not drain the callback queue on destruction. In this mode we
178         just block network loads.
179
180         * style/StyleTreeResolver.h:
181
182 2018-06-27  Timothy Hatcher  <timothy@apple.com>
183
184         Find on page selection color isn't adapted for dark mode.
185         https://bugs.webkit.org/show_bug.cgi?id=187072
186         rdar://problem/40354841
187
188         Reviewed by Tim Horton.
189
190         * page/mac/TextIndicatorWindow.mm:
191         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]): Use [NSColor findHighlightColor].
192         * platform/mac/LocalDefaultSystemAppearance.h:
193         (WebCore::LocalDefaultSystemAppearance::usingDarkAppearance const): Added.
194         * platform/mac/LocalDefaultSystemAppearance.mm:
195         (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance): Set m_usingDarkAppearance.
196         * rendering/InlineTextBox.cpp:
197         (WebCore::InlineTextBox::paintPlatformDocumentMarkers): Use TextPaintPhase::Decoration since this
198         matches step three of InlineTextBox::paint ("Paint fancy decorations"). This allows TextMatch to
199         paint a forground and not end up painting during this "fancy decorations" phase.
200         (WebCore::InlineTextBox::resolveStyleForMarkedText): Set the fillColor for TextMarker to force a
201         dark text color which will draw over the yellow highlight.
202         (WebCore::InlineTextBox::collectMarkedTextsForDocumentMarkers): Added support for TextPaintPhase::Decoration.
203         Seperate DocumentMarker::TelephoneNumber and DocumentMarker::TextMatch. Have DocumentMarker::TextMatch
204         support Forground and Background phases.
205         * rendering/RenderTheme.cpp:
206         (WebCore::RenderTheme::platformColorsDidChange):
207         (WebCore::RenderTheme::activeTextSearchHighlightColor const): Added. Call the platfrom version.
208         (WebCore::RenderTheme::inactiveTextSearchHighlightColor const): Added. Ditto.
209         (WebCore::RenderTheme::platformActiveTextSearchHighlightColor const): Added StyleColor::Options.
210         (WebCore::RenderTheme::platformInactiveTextSearchHighlightColor const): Ditto.
211         * rendering/RenderTheme.h:
212         * rendering/RenderThemeMac.h:
213         * rendering/RenderThemeMac.mm:
214         (WebCore::RenderThemeMac::platformActiveTextSearchHighlightColor const): Added.
215         (WebCore::RenderThemeMac::platformInactiveTextSearchHighlightColor const): Added.
216         (WebCore::RenderThemeMac::platformColorsDidChange): Clear new color caches.
217         (WebCore::RenderThemeMac::systemColor const): Cache system colors by light and dark mode.
218
219 2018-06-27  Chris Dumez  <cdumez@apple.com>
220
221         Crash under SWServer::unregisterServiceWorkerClient()
222         https://bugs.webkit.org/show_bug.cgi?id=187115
223         <rdar://problem/41539197>
224
225         Reviewed by Youenn Fablet.
226
227         Connections are usually destroyed before their SWServer. However, as per crash traces, it is possible
228         for SWServers to get destroyed while they still have connections. When this happens, the connections
229         (which are owned by the SWServer) get destroyed with other SWServer data members. In turn, the
230         connection destructor tries to unregister its clients from the server that is currently being destroyed.
231
232         To address the issue, the SWServer destructor now destroys remaining connections early, before SWServer's
233         other data members get destroyed.
234
235         * workers/service/server/SWServer.cpp:
236         (WebCore::SWServer::~SWServer):
237
238 2018-06-27  Youenn Fablet  <youenn@apple.com>
239
240         NetworkLoadChecker should not need to hard ref NetworkConnectionToWebProcess
241         https://bugs.webkit.org/show_bug.cgi?id=186551
242
243         Reviewed by Daniel Bates.
244
245         No change of behavior.
246         Add a way to set the client receiving any CSP warning/error notification.
247
248         * page/csp/ContentSecurityPolicy.h:
249         (WebCore::ContentSecurityPolicy::setClient):
250
251 2018-06-27  Zalan Bujtas  <zalan@apple.com>
252
253         [LFC] Do not collapse margin with the parent when element has border/padding.
254         https://bugs.webkit.org/show_bug.cgi?id=187114
255
256         Reviewed by Antti Koivisto.
257
258         * layout/blockformatting/BlockFormattingContext.cpp:
259         (WebCore::Layout::BlockFormattingContext::layout const):
260         * layout/blockformatting/BlockMarginCollapse.cpp:
261         (WebCore::Layout::isMarginTopCollapsedWithParent):
262         (WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginTopFromFirstChild):
263         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
264
265 2018-06-27  Simon Fraser  <simon.fraser@apple.com>
266
267         Fix Windows build after r233268.
268
269         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
270         (PlatformCALayerWin::hasContents const):
271         * platform/graphics/ca/win/PlatformCALayerWin.h:
272
273 2018-06-27  Zalan Bujtas  <zalan@apple.com>
274
275         [LFC] Out-of-flow positioned element's height depends on its containing block's height.
276         https://bugs.webkit.org/show_bug.cgi?id=187082
277
278         Reviewed by Antti Koivisto.
279
280         We can't really compute the final height of an out-of-flow element until after its containing block's height is computed.
281
282         * layout/FormattingContext.cpp:
283         (WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
284         * layout/FormattingContext.h:
285         * layout/LayoutContext.cpp:
286         (WebCore::Layout::LayoutContext::updateLayout):
287         (WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):
288         * layout/LayoutContext.h:
289         * layout/blockformatting/BlockFormattingContext.cpp:
290         (WebCore::Layout::BlockFormattingContext::layout const):
291         * layout/layouttree/LayoutContainer.h:
292         (WebCore::Layout::Container::outOfFlowDescendants const):
293         (WebCore::Layout::Container::outOfFlowDescendants): Deleted.
294
295 2018-06-27  Youenn Fablet  <youenn@apple.com>
296
297         Disable content blockers in NetworkLoadChecker except for ping loads
298         https://bugs.webkit.org/show_bug.cgi?id=187083
299         <rdar://problem/41440083>
300
301         Reviewed by Chris Dumez.
302
303         Add internals API to reload a frame without content extensions.
304
305         Test: http/tests/contentextensions/reload-without-contentextensions.html
306
307         * testing/Internals.cpp:
308         (WebCore::Internals::reloadWithoutContentExtensions):
309         * testing/Internals.h:
310         * testing/Internals.idl:
311
312 2018-06-27  Simon Fraser  <simon.fraser@apple.com>
313
314         https://hackernoon.com/ uses lots of layer backing store
315         https://bugs.webkit.org/show_bug.cgi?id=186909
316         rdar://problem/40257540
317
318         Reviewed by Tim Horton.
319         
320         The existing "backing store detached" logic, which was used to eliminate backing store
321         for compositing layers outside the viewport, had a number of bugs that allowed layers
322         to have backing store when they should not.
323         
324         Specifically, any code path that ended up in setNeedsDisplay{InRect}() in PlatformCALayer
325         could trigger backing store creation on layers that should have never had any.
326         
327         Rather than monkeypatch all the GraphicsLayerCA call sites that call setNeedsDisplay{InRect}(),
328         just bail early from the PlatformCALayer* methods that trigger repaints.
329         
330         Tests didn't catch this because they just dumped the state of the backingStoreAttached flag. To fix this,
331         create backingStoreAttachedForTesting() which also tests whether the layer has contents.
332
333         Test: compositing/backing/backing-store-attachment-outside-viewport.html
334
335         * platform/graphics/GraphicsLayer.cpp:
336         (WebCore::GraphicsLayer::dumpProperties const):
337         (showGraphicsLayerTree):
338         * platform/graphics/GraphicsLayer.h:
339         (WebCore::GraphicsLayer::backingStoreAttachedForTesting const):
340         * platform/graphics/GraphicsLayerClient.h:
341         * platform/graphics/ca/GraphicsLayerCA.cpp:
342         (WebCore::GraphicsLayerCA::backingStoreAttachedForTesting const):
343         (WebCore::GraphicsLayerCA::setNeedsDisplay):
344         * platform/graphics/ca/GraphicsLayerCA.h:
345         * platform/graphics/ca/PlatformCALayer.h:
346         * platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
347         * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
348         (PlatformCALayerCocoa::setNeedsDisplay):
349         (PlatformCALayerCocoa::setNeedsDisplayInRect):
350         (PlatformCALayerCocoa::hasContents const):
351
352 2018-06-27  David Kilzer  <ddkilzer@apple.com>
353
354         Fix clang static analyzer warnings: Branch condition evaluates to a garbage value
355         <https://webkit.org/b/186968>
356
357         Reviewed by Zalan Bujtas.
358
359         This patch changes two stack-allocated `bool` variables into
360         `std::optional<bool>` since the functions that set the variable
361         may return early without setting it.  It also changes one
362         stack-allocated pointer to be initialized to `nullptr`.
363
364         * animation/AnimationTimeline.cpp:
365         (WebCore::AnimationTimeline::updateCSSTransitionsForElement):
366         Update for change to CSSPropertyAnimation::getPropertyAtIndex()
367         argument type.
368
369         * editing/ios/EditorIOS.mm:
370         (WebCore::Editor::writeImageToPasteboard): Initialize
371         `cachedImage` stack pointer to nullptr since getImage() has an
372         early return that doesn't set `cachedImage`.
373         * editing/mac/EditorMac.mm:
374         (WebCore::Editor::writeImageToPasteboard): Ditto.
375
376         * page/animation/CSSPropertyAnimation.cpp:
377         (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
378         * page/animation/CSSPropertyAnimation.h:
379         (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
380         - Change method to take `std::optional<bool>` instead of `bool`
381           as second argument since the method may return early without
382           setting `isShorthand`.
383
384         * page/animation/CompositeAnimation.cpp:
385         (WebCore::CompositeAnimation::updateTransitions): Update for
386         change to CSSPropertyAnimation::getPropertyAtIndex() argument
387         type.
388
389         * rendering/InlineFlowBox.cpp:
390         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Also
391         rename local `emphasisMarkIsOver` to `emphasisMarkIsAbove` to
392         match other call sites.
393         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
394         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment const):
395         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment const):
396         - Update for change to InlineTextBox::emphasisMarkExistsAndIsAbove()
397           argument type.
398         * rendering/InlineTextBox.cpp:
399         (WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove const):
400         - Change method to take `std::optional<bool>` instead of `bool`
401           as second argument since the method may return early without
402           setting `above`.
403         (WebCore::InlineTextBox::paintMarkedTextForeground):
404         - Update for change to InlineTextBox::emphasisMarkExistsAndIsAbove()
405           argument type.
406         * rendering/InlineTextBox.h:
407         (WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove const):
408         - Change method to take `std::optional<bool>` instead of `bool`.
409
410 2018-06-27  Zalan Bujtas  <zalan@apple.com>
411
412         [LFC] Move formatting context root layout logic to a dedicated function.
413         https://bugs.webkit.org/show_bug.cgi?id=187097
414
415         Reviewed by Antti Koivisto.
416
417         * layout/blockformatting/BlockFormattingContext.cpp:
418         (WebCore::Layout::BlockFormattingContext::layout const):
419         (WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
420         * layout/blockformatting/BlockFormattingContext.h:
421
422 2018-06-27  Zalan Bujtas  <zalan@apple.com>
423
424         [LFC] Compute static position for out-of-flow elements only when required.
425         https://bugs.webkit.org/show_bug.cgi?id=187096
426
427         Reviewed by Antti Koivisto.
428
429         Computing static position for out-of-flow elements could be somewhat expensive, so let's not do it unless we actually need it.
430
431         * layout/FormattingContextGeometry.cpp:
432         (WebCore::Layout::staticVerticalPositionForOutOfFlowPositioned):
433         (WebCore::Layout::staticHorizontalPositionForOutOfFlowPositioned):
434         (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
435         (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
436         (WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
437         (WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
438         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
439         (WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
440         (WebCore::Layout::BlockFormattingContext::Geometry::staticPositionForOutOfFlowPositioned): Deleted.
441
442 2018-06-27  Nan Wang  <n_wang@apple.com>
443
444         AX: [iOS] Remove the ability to set keyboard focus when VoiceOver takes focus
445         https://bugs.webkit.org/show_bug.cgi?id=187076
446
447         Reviewed by Chris Fleizach.
448
449         We shouldn't set keyboard focus when assistive technology takes focus since
450         this is causing website incompatibility issues by causing focus to be lost.
451
452         Test: accessibility/ios-simulator/accessibility-focus-do-not-set-focus.html
453
454         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
455         (-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
456
457 2018-06-21  Emilio Cobos Álvarez  <emilio@crisal.io>
458
459         Move clearChildNeedsStyleRecalc into resetStyleForNonRenderedDescendants.
460         https://bugs.webkit.org/show_bug.cgi?id=186881
461
462         Reviewed by Antti Koivisto.
463
464         Every caller does this already.
465
466         No new tests, no change in behavior.
467
468         * style/StyleTreeResolver.cpp:
469         (WebCore::Style::resetStyleForNonRenderedDescendants):
470         (WebCore::Style::TreeResolver::resolveComposedTree):
471
472 2018-06-27  Tomas Popela  <tpopela@redhat.com>
473
474         [GStreamer] Coverity scan issues
475         https://bugs.webkit.org/show_bug.cgi?id=187087
476
477         Reviewed by Xabier Rodriguez-Calvar.
478
479         Fix uninitialized members.
480
481         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
482         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
483         * platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
484
485 2018-06-27  Zan Dobersek  <zdobersek@igalia.com>
486
487         [GCrypt] Move definitions of GCryptUtilities helpers into a separate source file
488         https://bugs.webkit.org/show_bug.cgi?id=187033
489
490         Reviewed by Michael Catanzaro.
491
492         Move the GCryptUtilities helpers that operate on libgcrypt values and
493         constants into a separate source file. This limits a bit the amount of
494         inlining the compiler might feel compelled to do, and the resulting
495         shared library is 8kB smaller in size.
496
497         * crypto/gcrypt/GCryptUtilities.cpp: Copied from Source/WebCore/crypto/gcrypt/GCryptUtilities.h.
498         (WebCore::hmacAlgorithm):
499         (WebCore::digestAlgorithm):
500         (WebCore::hashCryptoDigestAlgorithm):
501         (WebCore::mpiLength):
502         (WebCore::mpiData):
503         (WebCore::mpiZeroPrefixedData):
504         (WebCore::mpiSignedData):
505         * crypto/gcrypt/GCryptUtilities.h:
506         (WebCore::hmacAlgorithm): Deleted.
507         (WebCore::digestAlgorithm): Deleted.
508         (WebCore::hashCryptoDigestAlgorithm): Deleted.
509         (WebCore::mpiLength): Deleted.
510         (WebCore::mpiData): Deleted.
511         (WebCore::mpiZeroPrefixedData): Deleted.
512         (WebCore::mpiSignedData): Deleted.
513         * platform/SourcesGCrypt.txt:
514
515 2018-06-26  Yusuke Suzuki  <utatane.tea@gmail.com>
516
517         [JSC] Pass VM& to functions more
518         https://bugs.webkit.org/show_bug.cgi?id=186241
519
520         Reviewed by Mark Lam.
521
522         * bindings/js/JSCustomElementRegistryCustom.cpp:
523         (WebCore::JSCustomElementRegistry::define):
524
525 2018-06-26  Simon Fraser  <simon.fraser@apple.com>
526
527         CSSGradientValue's color stops vector wastes 12KB on theverge.com
528         https://bugs.webkit.org/show_bug.cgi?id=186988
529
530         Reviewed by Sam Weinig.
531
532         Shrink the color stops vector when we're done parsing the stops.
533
534         * css/CSSGradientValue.h:
535         (WebCore::CSSGradientValue::doneAddingStops):
536         * css/parser/CSSPropertyParserHelpers.cpp:
537         (WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradient):
538         (WebCore::CSSPropertyParserHelpers::consumeGradientColorStops):
539         (WebCore::CSSPropertyParserHelpers::consumeAngularGradientColorStops):
540
541 2018-06-25  Yusuke Suzuki  <utatane.tea@gmail.com>
542
543         Remove static initializers more
544         https://bugs.webkit.org/show_bug.cgi?id=186969
545
546         Reviewed by Michael Catanzaro.
547
548         This patch removes static initializers more. They typically exists in GTK port.
549
550         No behavior change.
551
552         * Sources.txt:
553         * WebCore.xcodeproj/project.pbxproj:
554         * page/ResourceUsageData.cpp: Removed.
555         * page/ResourceUsageData.h:
556         Remove ResourceUsageData constructors since default constructors are enough.
557
558         (WebCore::MemoryCategoryInfo::MemoryCategoryInfo):
559         * platform/gtk/PasteboardHelper.cpp:
560         (WebCore::markupPrefix):
561         (WebCore::removeMarkupPrefix):
562         (WebCore::PasteboardHelper::fillSelectionData):
563         Use NeverDestroyed<> and static functions.
564
565         * platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:
566         (WebCore::defaultVolumeCapability):
567         (WebCore::GStreamerAudioCaptureSource::capabilities const):
568         CapabilityValueOrRange's constructor is not constexpr.
569
570         * platform/network/soup/SoupNetworkSession.cpp:
571         (WebCore::initialAcceptLanguages):
572         (WebCore::proxySettings):
573         (WebCore::SoupNetworkSession::SoupNetworkSession):
574         (WebCore::SoupNetworkSession::setupProxy):
575         (WebCore::SoupNetworkSession::setProxySettings):
576         (WebCore::SoupNetworkSession::setInitialAcceptLanguages):
577         Use NeverDestroyed<> and static functions.
578
579 2018-06-26  Daniel Bates  <dabates@apple.com>
580
581         REGRESSION (r231479): Unable to buy Odeon cinema tickets in STP (bogus 'X-Frame-Options' to 'SAMEORIGIN')
582         https://bugs.webkit.org/show_bug.cgi?id=186090
583         <rdar://problem/40692595>
584
585         Reviewed by Andy Estes.
586
587         Fix up Content Security Policy logic for checking the frame ancestors now that we
588         exclude the frame that initiated the load request.
589
590         Test: http/tests/security/XFrameOptions/cross-origin-iframe-post-form-to-parent-same-origin-x-frame-options-page-allow.html
591
592         * page/csp/ContentSecurityPolicy.cpp:
593         (WebCore::ContentSecurityPolicy::allowFrameAncestors const): 
594         * page/csp/ContentSecurityPolicyDirectiveList.cpp:
595         (WebCore::checkFrameAncestors):
596
597 2018-06-26  Chris Dumez  <cdumez@apple.com>
598
599         Simplify NetworkStorageSession::getAllStorageAccessEntries()
600         https://bugs.webkit.org/show_bug.cgi?id=187016
601
602         Reviewed by Youenn Fablet.
603
604         Iterate over the HashMaps' values instead of iterating over their keys and then looking them
605         up in the HashMap.
606
607         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
608         (WebCore::NetworkStorageSession::getAllStorageAccessEntries const):
609
610 2018-06-26  Eric Carlson  <eric.carlson@apple.com>
611
612         [Mac] AirPlay picker uses incorrect theme in Dark mode
613         https://bugs.webkit.org/show_bug.cgi?id=187054
614         <rdar://problem/41291093>
615
616         Reviewed by Timothy Hatcher.
617
618         * Modules/mediasession/WebMediaSessionManager.cpp:
619         (WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Add useDefaultAppearance parameter.
620         * Modules/mediasession/WebMediaSessionManager.h:
621
622         * platform/graphics/MediaPlaybackTargetPicker.cpp:
623         (WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker): Ditto.
624         * platform/graphics/MediaPlaybackTargetPicker.h:
625
626         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
627         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
628         (WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Choose theme based on
629         useDefaultAppearance parameter.
630
631         * platform/mock/MediaPlaybackTargetPickerMock.cpp:
632         (WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker): Log parameter.
633         * platform/mock/MediaPlaybackTargetPickerMock.h:
634
635 2018-06-26  Thibault Saunier  <tsaunier@igalia.com>
636
637         [GStreamer] Do not forget to set stream on track switching
638         https://bugs.webkit.org/show_bug.cgi?id=187049
639
640         Reviewed by Philippe Normand.
641
642         This was an overlooked issue introduced in Bug #186678
643
644         This is already tested, but we currently run only tests against playbin2
645
646         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
647         (WebCore::MediaPlayerPrivateGStreamer::enableTrack):
648
649 2018-06-26  Zalan Bujtas  <zalan@apple.com>
650
651         [LFC] Fixed positioning is a subcategory of absolute positioning.
652         https://bugs.webkit.org/show_bug.cgi?id=187043
653
654         Reviewed by Antti Koivisto.
655
656         https://www.w3.org/TR/CSS22/visuren.html#absolute-positioning
657         References in this specification to an absolutely positioned element (or its box) imply that the element's 'position'
658         property has the value 'absolute' or 'fixed'.
659
660         * layout/layouttree/LayoutBox.cpp:
661         (WebCore::Layout::Box::isAbsolutelyPositioned const):
662         * layout/layouttree/LayoutBox.h:
663         (WebCore::Layout::Box::isOutOfFlowPositioned const):
664
665 2018-06-26  Commit Queue  <commit-queue@webkit.org>
666
667         Unreviewed, rolling out r233143.
668         https://bugs.webkit.org/show_bug.cgi?id=187046
669
670         broke media/video-ended-event-negative-playback.html
671         (Requested by philn on #webkit).
672
673         Reverted changeset:
674
675         "[GStreamer] Remove useless workaround"
676         https://bugs.webkit.org/show_bug.cgi?id=186921
677         https://trac.webkit.org/changeset/233143
678
679 2018-06-25  Zalan Bujtas  <zalan@apple.com>
680
681         [LFC] Computed height for in-flow non-replaced should not include padding and border.
682         https://bugs.webkit.org/show_bug.cgi?id=187031
683
684         Reviewed by Antti Koivisto.
685
686         In certain cases the height of a non-replaced in-flow box is computed using the bottom position of its last in-flow child.
687         The in-flow child's bottom position is in the coordinate system of the containing block's border box (border box's top left is 0, 0) ->
688         it includes both the (top) border and the padding of the containing block.
689
690         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
691         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
692
693 2018-06-26  Zan Dobersek  <zdobersek@igalia.com>
694
695         Crash in WebAnimation::runPendingPlayTask
696         https://bugs.webkit.org/show_bug.cgi?id=186189
697
698         Reviewed by Carlos Garcia Campos.
699
700         Avoid crashes on nullopt std::optional dereference in the
701         runPendingPlayTask() and runPendingPauseTask() methods of the
702         WebAnimation class by defaulting to a Seconds(0) value.
703
704         In both cases the std::optional value is the current time retrieved from
705         the associated DocumentTimeline object. But there's no guarantee that
706         the timeline is active and the resulting time value is resolved (i.e.
707         not nullopt). Dereferencing the nullopt Seconds value doesn't cause a
708         problem on configurations still building as C++14 and the fallback
709         std::optional implementation provided by WTF -- no signal is raised, and
710         a 0 value is returned. Configurations building as C++17 on the other
711         hand use the stdlib-provided std::optional that does raise a signal on
712         invalid access, leading to crashes.
713
714         The default-to-Seconds(0) solution avoids crashes on configurations
715         that build with C++17 support enabled, and thus match configurations
716         that are still using WTF's std::optional. This still doesn't address the
717         underlying problem of retrieving current time from an inactive document
718         timeline and using it as ready time for the pending play/pause task
719         execution.
720
721         runPendingPlayTask() change addresses crashes in the following tests:
722         - fast/animation/css-animation-resuming-when-visible.html
723         - fast/animation/css-animation-resuming-when-visible-with-style-change.html
724         - imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html
725         - imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/getAnimations.html
726
727         runPendingPauseTask() change addresses crashes in the following tests:
728         - animations/multiple-animations-timing-function.html
729
730         * animation/WebAnimation.cpp:
731         (WebCore::WebAnimation::runPendingPlayTask):
732         (WebCore::WebAnimation::runPendingPauseTask):
733
734 2018-06-26  Antoine Quint  <graouts@apple.com>
735
736         [Web Animations] Show the feature as "Supported in Preview"
737         https://bugs.webkit.org/show_bug.cgi?id=187037
738
739         Reviewed by Dean Jackson.
740
741         Web Animations are enabled by default in STP.
742
743         * features.json:
744
745 2018-06-26  Miguel Gomez  <magomez@igalia.com>
746
747         [GTK] Many webpages can crash the browser in WebCore::CoordinatedGraphicsLayer::transformedVisibleRect
748         https://bugs.webkit.org/show_bug.cgi?id=179304
749
750         Reviewed by Michael Catanzaro.
751
752         When adding new CoordinatedGraphicsLayers to the tree, check that they have the appropriate
753         CompositingCoordinator. If that's not the case, set the appropriate one to the layer and its
754         children and set the state of those layers so they are rendered properly.
755
756         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
757         (WebCore::CoordinatedGraphicsLayer::addChild):
758         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
759         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
760         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
761         (WebCore::CoordinatedGraphicsLayer::replaceChild):
762         (WebCore::CoordinatedGraphicsLayer::setCoordinatorIncludingSubLayersIfNeeded):
763         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
764
765 2018-06-25  Keith Rollin  <krollin@apple.com>
766
767         Adjust WEBCORE_EXPORT annotations for LTO
768         https://bugs.webkit.org/show_bug.cgi?id=186944
769         <rdar://problem/41384880>
770
771         Reviewed by David Kilzer.
772
773         Adjust a number of places that result in WebKit's
774         'check-for-weak-vtables-and-externals' script reporting weak external
775         symbols:
776
777             ERROR: WebCore has a weak external symbol in it (/Volumes/Data/dev/webkit/OpenSource/WebKitBuild/Release/WebCore.framework/Versions/A/WebCore)
778             ERROR: A weak external symbol is generated when a symbol is defined in multiple compilation units and is also marked as being exported from the library.
779             ERROR: A common cause of weak external symbols is when an inline function is listed in the linker export file.
780             ...
781
782         These cases are caused by inline methods being marked with WTF_EXPORT
783         (or related macro) or with an inline function being in a class marked
784         as such, and when enabling LTO builds.
785
786         For the most part, address these by removing the WEBCORE_EXPORT
787         annotation from inline methods. In some cases, move the implementation
788         out-of-line because it's the class that has the WEBCORE_EXPORT on it
789         and removing the annotation from the class would be too disruptive.
790         Finally, in other cases, move the implementation out-of-line because
791         check-for-weak-vtables-and-externals still complains when keeping the
792         implementation inline and removing the annotation; this seems to
793         typically (but not always) happen with destructors.
794
795         No new tests. There is no changed functionality. Only the annotation
796         and treatment of inline methods are altered.
797
798         * animation/AnimationTimeline.h:
799         (WebCore::AnimationTimeline::pause):
800         * page/CacheStorageProvider.h:
801         (): Deleted.
802         * page/scrolling/ScrollingTree.h:
803         (WebCore::ScrollingTree::reportSynchronousScrollingReasonsChanged):
804         (WebCore::ScrollingTree::reportExposedUnfilledArea):
805         * platform/audio/PlatformMediaSessionManager.h:
806         (WebCore::PlatformMediaSessionManager::hasActiveNowPlayingSession const):
807         (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingTitle const):
808         (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingDuration const):
809         (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingElapsedTime const):
810         (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingInfoUniqueIdentifier const):
811         (WebCore::PlatformMediaSessionManager::registeredAsNowPlayingApplication const):
812         * platform/audio/mac/CARingBuffer.cpp:
813         (WebCore::CARingBuffer::~CARingBuffer):
814         * platform/audio/mac/CARingBuffer.h:
815         (WebCore::CARingBuffer::~CARingBuffer): Deleted.
816         * platform/cocoa/VideoFullscreenModelVideoElement.h:
817         * platform/gamepad/GamepadProvider.h:
818         * platform/graphics/GraphicsLayer.h:
819         (WebCore::GraphicsLayer::displayListAsText const):
820         (WebCore::GraphicsLayer::setIsTrackingDisplayListReplay):
821         (WebCore::GraphicsLayer::isTrackingDisplayListReplay const):
822         (WebCore::GraphicsLayer::replayDisplayListAsText const):
823         * platform/mac/PlaybackSessionInterfaceMac.h:
824         * platform/mediastream/RealtimeMediaSourceCenter.h:
825         (WebCore::RealtimeMediaSourceCenter::setAudioFactory):
826         (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory):
827         * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
828         (WebCore::LibWebRTCProvider::setActive):
829         (WebCore::LibWebRTCProvider::createDecoderFactory):
830         (WebCore::LibWebRTCProvider::createEncoderFactory):
831         (WebCore::LibWebRTCProvider::disableEnumeratingAllNetworkInterfaces):
832         (WebCore::LibWebRTCProvider::enableEnumeratingAllNetworkInterfaces):
833         * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
834         * platform/network/ResourceHandleClient.h:
835         (WebCore::ResourceHandleClient::willCacheResponseAsync):
836         * testing/MockGamepadProvider.h:
837         * workers/service/server/SWServer.h:
838         (WebCore::SWServer::Connection::~Connection):
839
840 2018-06-25  Zalan Bujtas  <zalan@apple.com>
841
842         [LFC] Adjust static position for out-of-flow positioned boxes.
843         https://bugs.webkit.org/show_bug.cgi?id=187000
844
845         Reviewed by Antti Koivisto.
846
847         The static position of an out-of-flow positioned box is the the position where box would go
848         if it was in-flow positioned. This position needs to the resolved in the containing block's coordinate system.
849
850         * layout/blockformatting/BlockFormattingContext.h:
851         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
852         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
853         (WebCore::Layout::BlockFormattingContext::Geometry::staticPositionForOutOfFlowPositioned):
854         (WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
855
856 2018-06-25  Brady Eidson  <beidson@apple.com>
857
858         Remove RELEASE_ASSERT added in r230875.
859         <rdar://problem/40860061> and https://bugs.webkit.org/show_bug.cgi?id=187022
860
861         Reviewed by Brent Fulgham.
862
863         There's actually more than one way for a network session to be destroyed, and that can happen
864         asynchronously and unpredictably.
865
866         And the request to start up a WebSocket and do its handshake is also asynchronous and unpredictable
867  
868         It's an expected race.
869
870         If the NetworkStorageSession cannot be found then the WebSocket handshake should just fail.
871
872         * platform/network/SocketStreamHandleImpl.cpp:
873         (WebCore::cookieDataForHandshake): If the NetworkStorageSession cannot be found, return std::nullopt.
874         (WebCore::SocketStreamHandleImpl::platformSendHandshake): If the cookieData is null, fail the handshake.
875
876 2018-06-25  Wenson Hsieh  <wenson_hsieh@apple.com>
877
878         [iPad apps on macOS] Web process crashes when attempting to play embedded YouTube video in News
879         https://bugs.webkit.org/show_bug.cgi?id=187011
880         <rdar://problem/40906808>
881
882         Reviewed by Tim Horton.
883
884         Disable remote media commands when running iOS WebKit on macOS. The iOS flavor of RemoteCommandListener
885         currently throws an exception when attempting to soft-link the MediaPlayer framework, which prevents video from
886         being played altogether. For a followup tracking touch bar integration in iOS WebKit on macOS, see:
887         <rdar://problem/39164732>.
888
889         Manually tested by playing a YouTube video in News.
890
891         * platform/RemoteCommandListener.cpp:
892         * platform/ios/RemoteCommandListenerIOS.h:
893         * platform/ios/RemoteCommandListenerIOS.mm:
894
895 2018-06-25  Keith Rollin  <krollin@apple.com>
896         Unreviewed, rolling out r233087.
897
898         Causes 5% Mac PLT regression.
899
900         Reverted changeset:
901
902         "Recalc styles every time defaultAppearance changes."
903         https://bugs.webkit.org/show_bug.cgi?id=186866
904         https://trac.webkit.org/changeset/233087
905
906 2018-06-25  Brent Fulgham  <bfulgham@apple.com>
907
908         REGRESSION(r229722): WebKitLegacy clients can crash when loading alternate page
909         https://bugs.webkit.org/show_bug.cgi?id=187008
910         
911         Reviewed by Chris Dumez.
912
913         The new call to 'clearProvisionalLoadForPolicyCheck' added in r229722 broke loading
914         behavior in WebKitLegacy.
915
916         1. We can now enter 'cancelPolicyCheckIfNeeded' without a Frame loader, in what appears
917            to be a recursive call during the load cancellation (the 'm_waitingForContentPolicy'
918            and 'm_waitingForNavigationPolicy' have already been nulled). It seems like we should
919            return early here, or perhaps just move the RELEASE_ASSERT inside the case where we
920            have an active policy check happening.
921
922         2. We also enter FrameLoader::checkContentPolicy without an active document loader. We
923            should recognize this case and handle it, rather than trying to dereference a nullptr
924            document loader.
925
926         * loader/DocumentLoader.cpp:
927         (WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): Move the RELEASE_ASSERT inside the
928         conditional where the frameLoader is actually used.
929         * loader/FrameLoader.cpp:
930         (WebCore::FrameLoader::checkContentPolicy): Recognize that the activeDocumentLoader may
931         be nullptr at this point, and take appropriate action (rather than crashing).
932
933 2018-06-25  Simon Fraser  <simon.fraser@apple.com>
934
935         MatchedPropertiesCacheItem wastes 388KB of vector capacity on nytimes.com
936         https://bugs.webkit.org/show_bug.cgi?id=186990
937
938         Reviewed by Antti Koivisto.
939
940         MatchedPropertiesCacheItem.matchedProperties was appended to, so it allocated capacity
941         in 16-size chunks. Instead, assign to it so it only allocates as much capacity as is needed.
942         Copy-constructing is more wasteful, since it copies the 64-chunk size from the right-hand side.
943
944         * css/StyleResolver.cpp:
945         (WebCore::StyleResolver::addToMatchedPropertiesCache):
946         * css/StyleResolver.h:
947         (WebCore::StyleResolver::MatchedPropertiesCacheItem::MatchedPropertiesCacheItem):
948
949 2018-06-25  Chris Dumez  <cdumez@apple.com>
950
951         Null dereference crash un ApplicationCacheGroup::startLoadingEntry()
952         https://bugs.webkit.org/show_bug.cgi?id=187012
953         <rdar://problem/40793716>
954
955         Reviewed by Youenn Fablet.
956
957         m_entryLoader can be null because ApplicationCacheResourceLoader::create() return null when
958         CachedResourceLoader::requestRawResource() fails synchronously. In such case, the completion
959         handler gets called with a ApplicationCacheResourceLoader::Error::CannotRequestResource error.
960
961         To address the issue, we capture the request's URL in the lambda and use it instead of trying
962         to get the URL from the loader's resource.
963
964         * loader/appcache/ApplicationCacheGroup.cpp:
965         (WebCore::ApplicationCacheGroup::startLoadingEntry):
966
967 2018-06-25  Ross Kirsling  <ross.kirsling@sony.com>
968
969         REGRESSION (r233140): Windows build failure due to incomplete FrameView and RenderBox types
970         https://bugs.webkit.org/show_bug.cgi?id=186997
971
972         * animation/KeyframeEffectReadOnly.cpp:
973
974 2018-06-25  Antoine Quint  <graouts@apple.com>
975
976         REGRESSION: hardware-accelerated animation fails on inline element
977         https://bugs.webkit.org/show_bug.cgi?id=186981
978         <rdar://problem/41418697>
979
980         Reviewed by Dean Jackson.
981
982         Ensure we only queue accelerated actions when we have a renderer so we don't attempt
983         to start an accelerated animation too soon.
984
985         Test: webanimations/opacity-animation-yields-compositing-span.html
986
987         * animation/KeyframeEffectReadOnly.cpp:
988         (WebCore::KeyframeEffectReadOnly::updateAcceleratedAnimationState):
989
990 2018-06-25  David Kilzer  <ddkilzer@apple.com>
991
992         REGRESSION (r233140): v2: Windows build failure due to incomplete DocumentAnimationScheduler type
993         <https://webkit.org/b/186997>
994
995         * dom/Document.cpp:
996         (WebCore::Document::prepareForDestruction):
997         (WebCore::Document::windowScreenDidChange):
998         * dom/Document.h:
999         - DocumentAnimationScheduler is behind the
1000           USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) macro, which
1001           is disabled on Windows.
1002         - This also reverts my fix in r233144 since it didn't work.
1003
1004 2018-06-25  Youenn Fablet  <youenn@apple.com>
1005
1006         Add API to control mock media devices
1007         https://bugs.webkit.org/show_bug.cgi?id=186958
1008
1009         Reviewed by Eric Carlson.
1010
1011         Refactor code to introduce a MockDevice structure that can be used in multiple processes.
1012         Update mock sources and center to use MockDevice.
1013         Add API to update mock media devices.
1014
1015         Make MediaDevices an ActiveDOMObject so that it does not get collected when ondevicechange is set.
1016
1017          Test: fast/mediastream/device-change-event-2.html
1018
1019         * Modules/mediastream/MediaDevices.cpp:
1020         (WebCore::MediaDevices::MediaDevices):
1021         (WebCore::MediaDevices::stop):
1022         (WebCore::MediaDevices::scheduledEventTimerFired):
1023         (WebCore::MediaDevices::hasPendingActivity const):
1024         (WebCore::MediaDevices::activeDOMObjectName const):
1025         (WebCore::MediaDevices::canSuspendForDocumentSuspension const):
1026         * Modules/mediastream/MediaDevices.h:
1027         * Modules/mediastream/MediaDevices.idl:
1028         * WebCore.xcodeproj/project.pbxproj:
1029         * platform/mediastream/RealtimeMediaSourceCenter.h:
1030         * platform/mock/MockMediaDevice.h: Added.
1031         (WebCore::MockMicrophoneProperties::encode const):
1032         (WebCore::MockMicrophoneProperties::decode):
1033         (WebCore::MockCameraProperties::encode const):
1034         (WebCore::MockCameraProperties::decode):
1035         (WebCore::MockDisplayProperties::encode const):
1036         (WebCore::MockDisplayProperties::decode):
1037         (WebCore::MockMediaDevice::isMicrophone const):
1038         (WebCore::MockMediaDevice::isCamera const):
1039         (WebCore::MockMediaDevice::isDisplay const):
1040         (WebCore::MockMediaDevice::type const):
1041         (WebCore::MockMediaDevice::encode const):
1042         (WebCore::MockMediaDevice::decodeMockMediaDevice):
1043         (WebCore::MockMediaDevice::decode):
1044         * platform/mock/MockRealtimeAudioSource.cpp:
1045         (WebCore::MockRealtimeAudioSource::startProducingData):
1046         * platform/mock/MockRealtimeMediaSource.cpp:
1047         (WebCore::defaultDevices):
1048         (WebCore::devices):
1049         (WebCore::deviceMap):
1050         (WebCore::deviceListForDevice):
1051         (WebCore::MockRealtimeMediaSource::createCaptureDevice):
1052         (WebCore::MockRealtimeMediaSource::resetDevices):
1053         (WebCore::MockRealtimeMediaSource::setDevices):
1054         (WebCore::MockRealtimeMediaSource::addDevice):
1055         (WebCore::MockRealtimeMediaSource::removeDevice):
1056         (WebCore::MockRealtimeMediaSource::captureDeviceWithPersistentID):
1057         (WebCore::MockRealtimeMediaSource::audioDevices):
1058         (WebCore::MockRealtimeMediaSource::videoDevices):
1059         (WebCore::MockRealtimeMediaSource::displayDevices):
1060         (WebCore::MockRealtimeMediaSource::MockRealtimeMediaSource):
1061         (WebCore::MockRealtimeMediaSource::initializeCapabilities):
1062         (WebCore::MockRealtimeMediaSource::initializeSettings):
1063         (WebCore::MockRealtimeMediaSource::settings const):
1064         (WebCore::MockRealtimeMediaSource::supportedConstraints):
1065         * platform/mock/MockRealtimeMediaSource.h:
1066         (WebCore::MockRealtimeMediaSource::device const):
1067         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
1068         (WebCore::MockRealtimeMediaSourceCenter::singleton):
1069         (WebCore::MockRealtimeMediaSourceCenter::setMockRealtimeMediaSourceCenterEnabled):
1070         (WebCore::MockRealtimeMediaSourceCenter::setDevices):
1071         (WebCore::MockRealtimeMediaSourceCenter::addDevice):
1072         (WebCore::MockRealtimeMediaSourceCenter::removeDevice):
1073         * platform/mock/MockRealtimeMediaSourceCenter.h:
1074         * platform/mock/MockRealtimeVideoSource.cpp:
1075         (WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
1076         (WebCore::MockRealtimeVideoSource::initializeCapabilities):
1077         (WebCore::MockRealtimeVideoSource::drawText):
1078         (WebCore::MockRealtimeVideoSource::generateFrame):
1079         * platform/mock/MockRealtimeVideoSource.h:
1080         (WebCore::MockRealtimeVideoSource::mockCamera const):
1081         (WebCore::MockRealtimeVideoSource::mockScreen const):
1082
1083 2018-06-25  Simon Fraser  <simon.fraser@apple.com>
1084
1085         AutoTableLayout wastes 52KB of Vector capacity on nytimes.com
1086         https://bugs.webkit.org/show_bug.cgi?id=186710
1087
1088         Reviewed by Zalan Bujtas.
1089         
1090         Call resizeToFit() to only allocate enough capacity for the number of columns.
1091
1092         * rendering/AutoTableLayout.cpp:
1093         (WebCore::AutoTableLayout::fullRecalc):
1094         (WebCore::AutoTableLayout::insertSpanCell): Whitespace fix.
1095         * rendering/AutoTableLayout.h:
1096
1097 2018-06-25  Zalan Bujtas  <zalan@apple.com>
1098
1099         [LFC] Adjust static position with containing block's content box top/left
1100         https://bugs.webkit.org/show_bug.cgi?id=186999
1101
1102         Reviewed by Antti Koivisto.
1103
1104         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
1105         (WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
1106         * layout/displaytree/DisplayBox.cpp:
1107         (WebCore::Display::Box::contentBox const):
1108         * layout/displaytree/DisplayBox.h:
1109         (WebCore::Display::Box::contentBoxTop const):
1110         (WebCore::Display::Box::contentBoxLeft const):
1111
1112 2018-06-25  David Kilzer  <ddkilzer@apple.com>
1113
1114         REGRESSION (r233140): Windows build failure due to incomplete DocumentAnimationScheduler type
1115         <https://webkit.org/b/186997>
1116
1117         * dom/Document.cpp:
1118         * dom/Document.h:
1119         - Attempt to fix Windows build failure by moving include of
1120           DocumentAnimationScheduler.h from Document.cpp to Document.h.
1121
1122 2018-06-25  Philippe Normand  <pnormand@igalia.com>
1123
1124         [GStreamer] Remove useless workaround
1125         https://bugs.webkit.org/show_bug.cgi?id=186921
1126
1127         Reviewed by Xabier Rodriguez-Calvar.
1128
1129         In bug 67407 a workaround was added for GStreamer 0.10. With 1.x
1130         the media/video-reverse-play-duration.html test passes without any
1131         workaround needed. The other test mentioned in that bug was
1132         removed, it seems.
1133
1134         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1135         (WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
1136
1137 2018-06-24  Tomas Popela  <tpopela@redhat.com>
1138
1139         Unreviewed, address Darin's comment
1140         https://bugs.webkit.org/show_bug.cgi?id=186757
1141
1142         * page/linux/ResourceUsageThreadLinux.cpp:
1143         (WebCore::cpuPeriod):
1144
1145 2018-06-25  Antoine Quint  <graouts@apple.com>
1146
1147         [Web Animations] Make imported/mozilla/css-animations/test_animation-pausing.html pass reliably
1148         https://bugs.webkit.org/show_bug.cgi?id=183826
1149         <rdar://problem/40997412>
1150
1151         Reviewed by Dean Jackson.
1152
1153         The CSS Animations Level 2 specification defines that calling pause() on a CSSAnimation object is "sticky"
1154         until a call to play() is made, meaning that any changes to the running state via the CSS animation-play-state
1155         property is overridden by the stickiness of the pause() call. In this patch we add an m_stickyPaused flag which
1156         is set in API calls to pause() and play(). While this flag is true, changes to the animation-play-state property
1157         to the "running" value are ignored.
1158
1159         * animation/CSSAnimation.cpp:
1160         (WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
1161         (WebCore::CSSAnimation::bindingsPlay):
1162         (WebCore::CSSAnimation::bindingsPause):
1163         * animation/CSSAnimation.h:
1164
1165 2018-06-25  Antoine Quint  <graouts@apple.com>
1166
1167         [Web Animations] Ensure animations are updated prior to requestAnimationFrame callbacks
1168         https://bugs.webkit.org/show_bug.cgi?id=186997
1169         <rdar://problem/41419414>
1170
1171         Reviewed by Dean Jackson.
1172
1173         Some sub-tests of imported/mozilla/css-animations/test_animation-pausing.html clearly expect that animations
1174         would be resolved prior to firing a requestAnimationFrame() callback, as the HTML5 event loop mandates. But until
1175         now, both DocumentTimeline and ScriptedAnimationController would make calls to DisplayRefreshMonitorManager::scheduleAnimation()
1176         that were not coordinated and so the order in which the DocumentTimeline and ScriptedAnimationController callbacks
1177         were performed was not guaranteed.
1178
1179         In this patch we add a new DocumentAnimationScheduler class which is created by a Document to manage this specific
1180         situation. Now DocumentTimeline and ScriptedAnimationController use this supporting object instead of being their
1181         own DisplayRefreshMonitorClient and call scheduleWebAnimationsResolution() and scheduleScriptedAnimationResolution()
1182         respectively to indicate the need to schedule an animation through the DisplayRefreshMonitorManager to serve the specific
1183         needs of either, or both, classes. Then DocumentAnimationScheduler ensures that Web Animations resolution happens
1184         prior to requestAnimationFrame callbacks when both are scheduled.
1185
1186         In the future we should be able to move more code from DocumentTimeline and ScriptedAnimationController over to
1187         DocumentAnimationScheduler, such as support for throttling and using a timer-based fallback, but this patch provides
1188         the minimal functionality required to provide a sounder foundation.
1189
1190         * Modules/webvr/VRDisplay.cpp:
1191         (WebCore::VRDisplay::requestAnimationFrame):
1192         * Sources.txt:
1193         * WebCore.xcodeproj/project.pbxproj:
1194         * animation/DocumentAnimationScheduler.cpp: Added.
1195         (WebCore::DocumentAnimationScheduler::create):
1196         (WebCore::DocumentAnimationScheduler::DocumentAnimationScheduler):
1197         (WebCore::DocumentAnimationScheduler::detachFromDocument):
1198         (WebCore::DocumentAnimationScheduler::scheduleWebAnimationsResolution):
1199         (WebCore::DocumentAnimationScheduler::scheduleScriptedAnimationResolution):
1200         (WebCore::DocumentAnimationScheduler::displayRefreshFired):
1201         (WebCore::DocumentAnimationScheduler::windowScreenDidChange):
1202         (WebCore::DocumentAnimationScheduler::createDisplayRefreshMonitor const):
1203         * animation/DocumentAnimationScheduler.h: Copied from Source/WebCore/animation/CSSAnimation.h.
1204         * animation/DocumentTimeline.cpp:
1205         (WebCore::DocumentTimeline::create):
1206         (WebCore::DocumentTimeline::DocumentTimeline):
1207         (WebCore::DocumentTimeline::scheduleAnimationResolution):
1208         (WebCore::DocumentTimeline::windowScreenDidChange): Deleted.
1209         (WebCore::DocumentTimeline::createDisplayRefreshMonitor const): Deleted.
1210         * animation/DocumentTimeline.h:
1211         * dom/Document.cpp:
1212         (WebCore::Document::prepareForDestruction):
1213         (WebCore::Document::windowScreenDidChange):
1214         (WebCore::Document::requestAnimationFrame):
1215         (WebCore::Document::animationScheduler):
1216         (WebCore::Document::timeline):
1217         * dom/Document.h:
1218         * dom/ScriptedAnimationController.cpp:
1219         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
1220         (WebCore::ScriptedAnimationController::scheduleAnimation):
1221         (WebCore::ScriptedAnimationController::documentAnimationSchedulerDidFire):
1222         (WebCore::ScriptedAnimationController::windowScreenDidChange): Deleted.
1223         (WebCore::ScriptedAnimationController::displayRefreshFired): Deleted.
1224         (WebCore::ScriptedAnimationController::createDisplayRefreshMonitor const): Deleted.
1225         * dom/ScriptedAnimationController.h:
1226         (WebCore::ScriptedAnimationController::create):
1227
1228 2018-06-25  Zan Dobersek  <zdobersek@igalia.com>
1229
1230         [GCrypt] Zero-prefix (if necessary) output of RSA-based encryption and signing operations
1231         https://bugs.webkit.org/show_bug.cgi?id=186967
1232
1233         Reviewed by Michael Catanzaro.
1234
1235         Output for RSA-based encryption and signing operations should match the
1236         length of the RSA key. The way we retrieve the MPI data means libgcrypt
1237         can ignore the high-bit zero values and leave us with a valid result
1238         that's shorter in length compared to the RSA key. For instance, if the
1239         output MPI fits into 2040 bits while a 2048-bit key was used we'll end
1240         up with MPI data that will be fitted into a 255-byte Vector, one byte
1241         short of the expected output length.
1242
1243         To avoid this, mpiZeroPrefixedData() is now used when retrieving output
1244         of these RSA operations, and the value of the key size in bytes is
1245         passed to it. This efficiently prepares the output Vector and then
1246         copies the MPI data into it, respecting the MPI data length as well as
1247         the desired length of the output.
1248
1249         No new tests -- relevant tests are now stable (i.e. not sporadically
1250         failing anymore), associated expectations are removed.
1251
1252         * crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp:
1253         (WebCore::gcryptDerive): Also use mpiZeroPrefixedData().
1254         * crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:
1255         (WebCore::gcryptEncrypt):
1256         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
1257         * crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:
1258         (WebCore::gcryptSign):
1259         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
1260         * crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:
1261         (WebCore::gcryptEncrypt):
1262         (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
1263         * crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp:
1264         (WebCore::gcryptSign):
1265         (WebCore::CryptoAlgorithmRSA_PSS::platformSign):
1266         * crypto/gcrypt/GCryptUtilities.h:
1267         (WebCore::mpiZeroPrefixedData):
1268
1269 2018-06-24  Simon Fraser  <simon.fraser@apple.com>
1270
1271         Fix the DUMP_NODE_STATISTICS code so that it compiles
1272         https://bugs.webkit.org/show_bug.cgi?id=186982
1273
1274         Reviewed by Anders Carlsson.
1275
1276         The DUMP_NODE_STATISTICS code had bitrotted. ENTITY_NODE no longer exists.
1277         liveNodeSet needs to be a static function with a NeverDestroyed<>.
1278
1279         * dom/Node.cpp:
1280         (WebCore::Node::dumpStatistics):
1281         (WebCore::Node::trackForDebugging):
1282         (WebCore::Node::~Node):
1283
1284 2018-06-24  Simon Fraser  <simon.fraser@apple.com>
1285
1286         Fix the composition underline to be transformed by -apple-color-filter
1287         https://bugs.webkit.org/show_bug.cgi?id=186983
1288         rdar://problem/40515558
1289
1290         Reviewed by Zalan Bujtas.
1291         
1292         Transform the composition underline color with the color filter.
1293
1294         Test: css3/color-filters/color-filter-composition-underline-color.html
1295
1296         * rendering/InlineTextBox.cpp:
1297         (WebCore::InlineTextBox::paintCompositionUnderline const):
1298
1299 2018-06-23  Zalan Bujtas  <zalan@apple.com>
1300
1301         [Mail] Use the Mail Viewer width as the base for resolving horizontal viewport units
1302         https://bugs.webkit.org/show_bug.cgi?id=186585
1303         <rdar://problem/30685325>
1304
1305         Reviewed by Tim Horton.
1306
1307         Use the existing "override viewport size for viewport units" mechanism to compute the preferred
1308         viewport unit values for the Mail Viewer html content. 
1309
1310         Test: fast/dynamic/mail-autosize-viewport-unit.html
1311
1312         * page/FrameView.cpp:
1313         (WebCore::FrameView::FrameView):
1314         (WebCore::FrameView::enableAutoSizeMode):
1315         (WebCore::FrameView::clearViewportSizeOverrideForCSSViewportUnits):
1316         (WebCore::FrameView::setViewportSizeForCSSViewportUnits):
1317         (WebCore::FrameView::overrideViewportSizeForCSSViewportUnits):
1318         (WebCore::FrameView::viewportSizeForCSSViewportUnits const):
1319         * page/FrameView.h:
1320
1321 2018-06-23  Zalan Bujtas  <zalan@apple.com>
1322
1323         [LFC] Relatively positioned renderer needs offsetting for validation
1324         https://bugs.webkit.org/show_bug.cgi?id=186959
1325
1326         Reviewed by Antti Koivisto.
1327
1328         * layout/FormattingContextGeometry.cpp:
1329         (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
1330         * layout/Verification.cpp:
1331         (WebCore::Layout::outputMismatchingBoxInformationIfNeeded):
1332
1333 2018-06-23  Zalan Bujtas  <zalan@apple.com>
1334
1335         [LFC] Miscellaneous fixes to fix simple absolute positioning.
1336         https://bugs.webkit.org/show_bug.cgi?id=186962
1337
1338         Reviewed by Antti Koivisto.
1339
1340         1. Collect out-of-flow formatting root descendants.
1341         2. Remove invalid and redundant ASSERTs
1342           invalid because the assertion is missing border, padding etc.
1343           redundant becasue we assert on geometry correctness in validateGeometryConstraintsAfterLayout.  
1344
1345         * layout/FormattingContext.cpp:
1346         (WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
1347         (WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
1348         (WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
1349         * layout/layouttree/LayoutContainer.cpp:
1350         (WebCore::Layout::Container::addOutOfFlowDescendant):
1351         (WebCore::Layout::Container::setOutOfFlowDescendants): Deleted.
1352         * layout/layouttree/LayoutContainer.h:
1353         * layout/layouttree/LayoutTreeBuilder.cpp:
1354         (WebCore::Layout::TreeBuilder::createSubTree):
1355
1356 2018-06-23  Yusuke Suzuki  <utatane.tea@gmail.com>
1357
1358         [WTF] Add user-defined literal for ASCIILiteral
1359         https://bugs.webkit.org/show_bug.cgi?id=186839
1360
1361         Reviewed by Darin Adler.
1362
1363         No behavior change.
1364
1365         * Modules/applicationmanifest/ApplicationManifestParser.cpp:
1366         (WebCore::ApplicationManifestParser::parseManifest):
1367         (WebCore::ApplicationManifestParser::logManifestPropertyNotAString):
1368         (WebCore::ApplicationManifestParser::logManifestPropertyInvalidURL):
1369         (WebCore::ApplicationManifestParser::logDeveloperWarning):
1370         (WebCore::ApplicationManifestParser::parseStartURL):
1371         (WebCore::ApplicationManifestParser::parseDisplay):
1372         (WebCore::ApplicationManifestParser::parseName):
1373         (WebCore::ApplicationManifestParser::parseDescription):
1374         (WebCore::ApplicationManifestParser::parseShortName):
1375         (WebCore::ApplicationManifestParser::parseScope):
1376         * Modules/beacon/NavigatorBeacon.cpp:
1377         (WebCore::NavigatorBeacon::logError):
1378         (WebCore::NavigatorBeacon::sendBeacon):
1379         * Modules/cache/DOMCache.cpp:
1380         (WebCore::DOMCache::requestFromInfo):
1381         (WebCore::DOMCache::addAll):
1382         (WebCore::DOMCache::put):
1383         * Modules/cache/DOMCacheEngine.cpp:
1384         (WebCore::DOMCacheEngine::errorToException):
1385         * Modules/credentialmanagement/BasicCredential.cpp:
1386         (WebCore::BasicCredential::type const):
1387         * Modules/credentialmanagement/CredentialsContainer.cpp:
1388         (WebCore::CredentialsContainer::get):
1389         (WebCore::CredentialsContainer::store):
1390         (WebCore::CredentialsContainer::isCreate):
1391         (WebCore::CredentialsContainer::preventSilentAccess const):
1392         * Modules/entriesapi/DOMFileSystem.cpp:
1393         (WebCore::DOMFileSystem::root):
1394         (WebCore::validatePathIsExpectedType):
1395         (WebCore::resolveRelativeVirtualPath):
1396         (WebCore::DOMFileSystem::getEntry):
1397         * Modules/entriesapi/FileSystemDirectoryEntry.cpp:
1398         (WebCore::FileSystemDirectoryEntry::getEntry):
1399         * Modules/entriesapi/FileSystemDirectoryReader.cpp:
1400         (WebCore::FileSystemDirectoryReader::readEntries):
1401         * Modules/fetch/FetchBody.cpp:
1402         (WebCore::FetchBody::consumeAsStream):
1403         * Modules/fetch/FetchBodyConsumer.cpp:
1404         (WebCore::FetchBodyConsumer::loadingFailed):
1405         * Modules/fetch/FetchBodyOwner.cpp:
1406         (WebCore::FetchBodyOwner::arrayBuffer):
1407         (WebCore::FetchBodyOwner::blob):
1408         (WebCore::FetchBodyOwner::consumeOnceLoadingFinished):
1409         (WebCore::FetchBodyOwner::formData):
1410         (WebCore::FetchBodyOwner::json):
1411         (WebCore::FetchBodyOwner::text):
1412         (WebCore::FetchBodyOwner::blobLoadingFailed):
1413         (WebCore::FetchBodyOwner::consumeBodyAsStream):
1414         * Modules/fetch/FetchHeaders.cpp:
1415         (WebCore::canWriteHeader):
1416         * Modules/fetch/FetchLoader.cpp:
1417         (WebCore::FetchLoader::startLoadingBlobURL):
1418         (WebCore::FetchLoader::start):
1419         * Modules/fetch/FetchRequest.cpp:
1420         (WebCore::setMethod):
1421         (WebCore::computeReferrer):
1422         (WebCore::buildOptions):
1423         (WebCore::FetchRequest::initializeOptions):
1424         (WebCore::FetchRequest::initializeWith):
1425         (WebCore::FetchRequest::setBody):
1426         (WebCore::FetchRequest::referrer const):
1427         (WebCore::FetchRequest::clone):
1428         * Modules/fetch/FetchResponse.cpp:
1429         (WebCore::FetchResponse::create):
1430         (WebCore::FetchResponse::redirect):
1431         (WebCore::FetchResponse::clone):
1432         (WebCore::FetchResponse::BodyLoader::didFail):
1433         * Modules/fetch/FetchResponse.h:
1434         * Modules/geolocation/GeoNotifier.cpp:
1435         (WebCore::GeoNotifier::timerFired):
1436         * Modules/geolocation/Geolocation.cpp:
1437         (WebCore::Geolocation::startRequest):
1438         (WebCore::Geolocation::requestUsesCachedPosition):
1439         (WebCore::Geolocation::makeCachedPositionCallbacks):
1440         (WebCore::Geolocation::setIsAllowed):
1441         (WebCore::Geolocation::cancelRequests):
1442         (WebCore::Geolocation::handlePendingPermissionNotifiers):
1443         * Modules/indexeddb/IDBCursor.cpp:
1444         (WebCore::IDBCursor::update):
1445         (WebCore::IDBCursor::advance):
1446         (WebCore::IDBCursor::continuePrimaryKey):
1447         (WebCore::IDBCursor::continueFunction):
1448         (WebCore::IDBCursor::deleteFunction):
1449         * Modules/indexeddb/IDBDatabase.cpp:
1450         (WebCore::IDBDatabase::createObjectStore):
1451         (WebCore::IDBDatabase::transaction):
1452         (WebCore::IDBDatabase::deleteObjectStore):
1453         * Modules/indexeddb/IDBFactory.cpp:
1454         (WebCore::IDBFactory::open):
1455         (WebCore::IDBFactory::openInternal):
1456         (WebCore::IDBFactory::deleteDatabase):
1457         (WebCore::IDBFactory::cmp):
1458         * Modules/indexeddb/IDBIndex.cpp:
1459         (WebCore::IDBIndex::setName):
1460         (WebCore::IDBIndex::openCursor):
1461         (WebCore::IDBIndex::openKeyCursor):
1462         (WebCore::IDBIndex::count):
1463         (WebCore::IDBIndex::doCount):
1464         (WebCore::IDBIndex::get):
1465         (WebCore::IDBIndex::doGet):
1466         (WebCore::IDBIndex::getKey):
1467         (WebCore::IDBIndex::doGetKey):
1468         (WebCore::IDBIndex::getAll):
1469         (WebCore::IDBIndex::getAllKeys):
1470         * Modules/indexeddb/IDBKeyData.cpp:
1471         (WebCore::IDBKeyData::loggingString const):
1472         * Modules/indexeddb/IDBKeyRangeData.cpp:
1473         (WebCore::IDBKeyRangeData::loggingString const):
1474         * Modules/indexeddb/IDBObjectStore.cpp:
1475         (WebCore::IDBObjectStore::setName):
1476         (WebCore::IDBObjectStore::openCursor):
1477         (WebCore::IDBObjectStore::openKeyCursor):
1478         (WebCore::IDBObjectStore::get):
1479         (WebCore::IDBObjectStore::getKey):
1480         (WebCore::IDBObjectStore::putOrAdd):
1481         (WebCore::IDBObjectStore::doDelete):
1482         (WebCore::IDBObjectStore::deleteFunction):
1483         (WebCore::IDBObjectStore::clear):
1484         (WebCore::IDBObjectStore::createIndex):
1485         (WebCore::IDBObjectStore::index):
1486         (WebCore::IDBObjectStore::deleteIndex):
1487         (WebCore::IDBObjectStore::count):
1488         (WebCore::IDBObjectStore::doCount):
1489         (WebCore::IDBObjectStore::getAll):
1490         (WebCore::IDBObjectStore::getAllKeys):
1491         * Modules/indexeddb/IDBRequest.cpp:
1492         (WebCore::IDBRequest::result const):
1493         (WebCore:: const):
1494         (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
1495         * Modules/indexeddb/IDBTransaction.cpp:
1496         (WebCore::IDBTransaction::objectStore):
1497         (WebCore::IDBTransaction::abort):
1498         (WebCore::IDBTransaction::putOrAddOnServer):
1499         * Modules/indexeddb/server/IDBServer.cpp:
1500         (WebCore::IDBServer::IDBServer::performGetAllDatabaseNames):
1501         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1502         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
1503         (WebCore::IDBServer::MemoryIDBBackingStore::addRecord):
1504         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
1505         (WebCore::IDBServer::MemoryIDBBackingStore::getAllRecords):
1506         (WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
1507         (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
1508         (WebCore::IDBServer::MemoryIDBBackingStore::openCursor):
1509         (WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor):
1510         * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
1511         (WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
1512         (WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
1513         (WebCore::IDBServer::SQLiteIDBBackingStore::databaseNameFromEncodedFilename):
1514         (WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
1515         (WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
1516         (WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
1517         (WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
1518         (WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
1519         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
1520         (WebCore::IDBServer::SQLiteIDBBackingStore::renameObjectStore):
1521         (WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
1522         (WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
1523         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedHasIndexRecord):
1524         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedPutIndexRecord):
1525         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
1526         (WebCore::IDBServer::SQLiteIDBBackingStore::renameIndex):
1527         (WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
1528         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteUnusedBlobFileRecords):
1529         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
1530         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
1531         (WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord):
1532         (WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
1533         (WebCore::IDBServer::SQLiteIDBBackingStore::getBlobRecordsForObjectStoreRecord):
1534         (WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
1535         (WebCore::IDBServer::SQLiteIDBBackingStore::getAllObjectStoreRecords):
1536         (WebCore::IDBServer::SQLiteIDBBackingStore::getAllIndexRecords):
1537         (WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
1538         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetIndexRecordForOneKey):
1539         (WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
1540         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetKeyGeneratorValue):
1541         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedSetKeyGeneratorValue):
1542         (WebCore::IDBServer::SQLiteIDBBackingStore::generateKeyNumber):
1543         (WebCore::IDBServer::SQLiteIDBBackingStore::revertGeneratedKeyNumber):
1544         (WebCore::IDBServer::SQLiteIDBBackingStore::maybeUpdateKeyGeneratorNumber):
1545         (WebCore::IDBServer::SQLiteIDBBackingStore::openCursor):
1546         (WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):
1547         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
1548         * Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
1549         (WebCore::IDBServer::SQLiteIDBTransaction::begin):
1550         (WebCore::IDBServer::SQLiteIDBTransaction::commit):
1551         (WebCore::IDBServer::SQLiteIDBTransaction::abort):
1552         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1553         (WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
1554         (WebCore::IDBServer::UniqueIDBDatabase::renameObjectStore):
1555         (WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
1556         (WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
1557         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
1558         (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
1559         (WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
1560         * Modules/indexeddb/shared/IDBError.h:
1561         (WebCore::IDBError::userDeleteError):
1562         * Modules/indexeddb/shared/IDBTransactionInfo.cpp:
1563         (WebCore::IDBTransactionInfo::loggingString const):
1564         * Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
1565         (WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):
1566         * Modules/mediastream/PeerConnectionBackend.cpp:
1567         (WebCore::PeerConnectionBackend::addIceCandidate):
1568         * Modules/mediastream/UserMediaRequest.cpp:
1569         (WebCore::UserMediaRequest::deny):
1570         * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
1571         (WebCore::LibWebRTCMediaEndpoint::doSetLocalDescription):
1572         * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
1573         (WebCore::LibWebRTCPeerConnectionBackend::doAddIceCandidate):
1574         * Modules/paymentrequest/PaymentRequest.cpp:
1575         (WebCore::checkAndCanonicalizeTotal):
1576         (WebCore::PaymentRequest::create):
1577         * Modules/quota/DOMWindowQuota.cpp:
1578         (WebCore::DOMWindowQuota::webkitStorageInfo const):
1579         * Modules/webaudio/AudioBufferSourceNode.cpp:
1580         (WebCore::AudioBufferSourceNode::looping):
1581         (WebCore::AudioBufferSourceNode::setLooping):
1582         * Modules/webaudio/AudioNode.cpp:
1583         (WebCore::AudioNode::channelCountMode):
1584         (WebCore::AudioNode::channelInterpretation):
1585         * Modules/webaudio/MediaStreamAudioSource.cpp:
1586         (WebCore::MediaStreamAudioSource::MediaStreamAudioSource):
1587         * Modules/webauthn/AuthenticatorManager.cpp:
1588         (WebCore::AuthenticatorManagerInternal::produceClientDataJson):
1589         (WebCore::AuthenticatorManagerInternal::initTimeoutTimer):
1590         (WebCore::AuthenticatorManager::create const):
1591         (WebCore::AuthenticatorManager::discoverFromExternalSource const):
1592         (WebCore::AuthenticatorManager::isUserVerifyingPlatformAuthenticatorAvailable const):
1593         * Modules/webauthn/cocoa/LocalAuthenticator.mm:
1594         (WebCore::LocalAuthenticator::makeCredential):
1595         (WebCore::LocalAuthenticator::getAssertion):
1596         * Modules/webdatabase/DatabaseTracker.cpp:
1597         (WebCore::DatabaseTracker::usage):
1598         * Modules/websockets/WebSocket.cpp:
1599         (WebCore::WebSocket::connect):
1600         (WebCore::WebSocket::close):
1601         (WebCore::WebSocket::binaryType const):
1602         * Modules/websockets/WebSocketHandshake.cpp:
1603         (WebCore::WebSocketHandshake::readStatusLine):
1604         (WebCore::WebSocketHandshake::readHTTPHeaders):
1605         (WebCore::WebSocketHandshake::checkResponseHeaders):
1606         * Modules/webvr/VRDisplay.cpp:
1607         (WebCore::VRDisplay::requestPresent):
1608         (WebCore::VRDisplay::exitPresent):
1609         * accessibility/AccessibilityObject.cpp:
1610         (WebCore::AccessibilityObject::defaultLiveRegionStatusForRole):
1611         (WebCore::AccessibilityObject::invalidStatus const):
1612         * accessibility/AccessibilityRenderObject.cpp:
1613         (WebCore::AccessibilityRenderObject::textUnderElement const):
1614         * bindings/js/JSCustomElementInterface.cpp:
1615         (WebCore::constructCustomElementSynchronously):
1616         * bindings/js/JSCustomElementRegistryCustom.cpp:
1617         (WebCore::getCustomElementCallback):
1618         (WebCore::validateCustomElementNameAndThrowIfNeeded):
1619         (WebCore::JSCustomElementRegistry::define):
1620         * bindings/js/JSCustomXPathNSResolver.cpp:
1621         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1622         * bindings/js/JSDOMConstructorBase.cpp:
1623         (WebCore::callThrowTypeError):
1624         * bindings/js/JSDOMConstructorBase.h:
1625         (WebCore::JSDOMConstructorBase::className):
1626         * bindings/js/JSDOMConstructorNotConstructable.h:
1627         (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError):
1628         * bindings/js/JSDOMExceptionHandling.cpp:
1629         (WebCore::createDOMException):
1630         (WebCore::throwSequenceTypeError):
1631         (WebCore::throwNonFiniteTypeError):
1632         * bindings/js/JSDOMIterator.h:
1633         (WebCore::iteratorForEach):
1634         (WebCore::IteratorTraits>::next):
1635         * bindings/js/JSDOMWindowBase.cpp:
1636         (WebCore::isResponseCorrect):
1637         (WebCore::handleResponseOnStreamingAction):
1638         (WebCore::JSDOMWindowBase::compileStreaming):
1639         (WebCore::JSDOMWindowBase::instantiateStreaming):
1640         * bindings/js/JSDOMWindowCustom.cpp:
1641         (WebCore::JSDOMWindow::preventExtensions):
1642         (WebCore::JSDOMWindow::toStringName):
1643         * bindings/js/JSHTMLElementCustom.cpp:
1644         (WebCore::constructJSHTMLElement):
1645         * bindings/js/JSLocationCustom.cpp:
1646         (WebCore::JSLocation::preventExtensions):
1647         (WebCore::JSLocation::toStringName):
1648         * bindings/js/JSReadableStreamPrivateConstructors.cpp:
1649         (WebCore::constructJSReadableStreamDefaultController):
1650         (WebCore::constructJSReadableByteStreamController):
1651         (WebCore::constructJSReadableStreamBYOBRequest):
1652         * bindings/js/JSRemoteDOMWindowCustom.cpp:
1653         (WebCore::JSRemoteDOMWindow::preventExtensions):
1654         (WebCore::JSRemoteDOMWindow::toStringName):
1655         * bindings/js/ReadableStreamDefaultController.cpp:
1656         (WebCore::ReadableStreamDefaultController::invoke):
1657         * bindings/js/ScriptModuleLoader.cpp:
1658         (WebCore::resolveModuleSpecifier):
1659         (WebCore::ScriptModuleLoader::resolve):
1660         (WebCore::ScriptModuleLoader::fetch):
1661         (WebCore::ScriptModuleLoader::evaluate):
1662         (WebCore::ScriptModuleLoader::importModule):
1663         (WebCore::ScriptModuleLoader::notifyFinished):
1664         * bindings/js/SerializedScriptValue.cpp:
1665         (WebCore::maybeThrowExceptionIfSerializationFailed):
1666         * bindings/js/WorkerScriptController.cpp:
1667         (WebCore::WorkerScriptController::evaluate):
1668         * bindings/scripts/CodeGeneratorJS.pm:
1669         (GenerateDefaultValue):
1670         (GenerateConstructorHelperMethods):
1671         (GenerateCallTracer):
1672         * bindings/scripts/test/JS/JSInterfaceName.cpp:
1673         (WebCore::JSInterfaceNameConstructor::initializeProperties):
1674         * bindings/scripts/test/JS/JSMapLike.cpp:
1675         (WebCore::JSMapLikeConstructor::initializeProperties):
1676         * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
1677         (WebCore::JSReadOnlyMapLikeConstructor::initializeProperties):
1678         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1679         (WebCore::JSTestActiveDOMObjectConstructor::initializeProperties):
1680         * bindings/scripts/test/JS/JSTestCEReactions.cpp:
1681         (WebCore::JSTestCEReactionsConstructor::initializeProperties):
1682         * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
1683         (WebCore::JSTestCEReactionsStringifierConstructor::initializeProperties):
1684         * bindings/scripts/test/JS/JSTestCallTracer.cpp:
1685         (WebCore::JSTestCallTracerConstructor::initializeProperties):
1686         (WebCore::jsTestCallTracerTestAttributeInterfaceGetter):
1687         (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter):
1688         (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter):
1689         (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter):
1690         (WebCore::jsTestCallTracerTestAttributeWithVariantGetter):
1691         (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter):
1692         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody):
1693         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody):
1694         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody):
1695         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody):
1696         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody):
1697         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody):
1698         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody):
1699         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody):
1700         * bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
1701         (WebCore::JSTestCallbackInterfaceConstructor::initializeProperties):
1702         * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
1703         (WebCore::JSTestClassWithJSBuiltinConstructorConstructor::initializeProperties):
1704         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
1705         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::initializeProperties):
1706         * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
1707         (WebCore::JSTestDOMJITConstructor::initializeProperties):
1708         * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
1709         (WebCore::JSTestEnabledBySettingConstructor::initializeProperties):
1710         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1711         (WebCore::JSTestEventConstructorConstructor::initializeProperties):
1712         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1713         (WebCore::JSTestEventTargetConstructor::initializeProperties):
1714         * bindings/scripts/test/JS/JSTestException.cpp:
1715         (WebCore::JSTestExceptionConstructor::initializeProperties):
1716         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1717         (WebCore::JSTestGenerateIsReachableConstructor::initializeProperties):
1718         * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
1719         (WebCore::JSTestGlobalObjectConstructor::initializeProperties):
1720         * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
1721         (WebCore::JSTestIndexedSetterNoIdentifierConstructor::initializeProperties):
1722         * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
1723         (WebCore::JSTestIndexedSetterThrowingExceptionConstructor::initializeProperties):
1724         * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
1725         (WebCore::JSTestIndexedSetterWithIdentifierConstructor::initializeProperties):
1726         * bindings/scripts/test/JS/JSTestInterface.cpp:
1727         (WebCore::JSTestInterfaceConstructor::construct):
1728         (WebCore::JSTestInterfaceConstructor::initializeProperties):
1729         * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
1730         (WebCore::JSTestInterfaceLeadingUnderscoreConstructor::initializeProperties):
1731         * bindings/scripts/test/JS/JSTestIterable.cpp:
1732         (WebCore::JSTestIterableConstructor::initializeProperties):
1733         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
1734         (WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties):
1735         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1736         (WebCore::JSTestMediaQueryListListenerConstructor::initializeProperties):
1737         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
1738         (WebCore::JSTestNamedAndIndexedSetterNoIdentifierConstructor::initializeProperties):
1739         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
1740         (WebCore::JSTestNamedAndIndexedSetterThrowingExceptionConstructor::initializeProperties):
1741         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
1742         (WebCore::JSTestNamedAndIndexedSetterWithIdentifierConstructor::initializeProperties):
1743         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1744         (WebCore::JSTestNamedConstructorConstructor::initializeProperties):
1745         (WebCore::JSTestNamedConstructorNamedConstructor::construct):
1746         (WebCore::JSTestNamedConstructorNamedConstructor::initializeProperties):
1747         * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
1748         (WebCore::JSTestNamedDeleterNoIdentifierConstructor::initializeProperties):
1749         * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
1750         (WebCore::JSTestNamedDeleterThrowingExceptionConstructor::initializeProperties):
1751         * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
1752         (WebCore::JSTestNamedDeleterWithIdentifierConstructor::initializeProperties):
1753         * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
1754         (WebCore::JSTestNamedDeleterWithIndexedGetterConstructor::initializeProperties):
1755         * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
1756         (WebCore::JSTestNamedGetterCallWithConstructor::initializeProperties):
1757         * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
1758         (WebCore::JSTestNamedGetterNoIdentifierConstructor::initializeProperties):
1759         * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
1760         (WebCore::JSTestNamedGetterWithIdentifierConstructor::initializeProperties):
1761         * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
1762         (WebCore::JSTestNamedSetterNoIdentifierConstructor::initializeProperties):
1763         * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
1764         (WebCore::JSTestNamedSetterThrowingExceptionConstructor::initializeProperties):
1765         * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
1766         (WebCore::JSTestNamedSetterWithIdentifierConstructor::initializeProperties):
1767         * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
1768         (WebCore::JSTestNamedSetterWithIndexedGetterConstructor::initializeProperties):
1769         * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
1770         (WebCore::JSTestNamedSetterWithIndexedGetterAndSetterConstructor::initializeProperties):
1771         * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
1772         (WebCore::JSTestNamedSetterWithOverrideBuiltinsConstructor::initializeProperties):
1773         * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
1774         (WebCore::JSTestNamedSetterWithUnforgablePropertiesConstructor::initializeProperties):
1775         * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
1776         (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor::initializeProperties):
1777         * bindings/scripts/test/JS/JSTestNode.cpp:
1778         (WebCore::JSTestNodeConstructor::initializeProperties):
1779         * bindings/scripts/test/JS/JSTestObj.cpp:
1780         (WebCore::convertDictionary<TestObj::Dictionary>):
1781         (WebCore::JSTestObjConstructor::initializeProperties):
1782         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody):
1783         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1784         (WebCore::JSTestOverloadedConstructorsConstructor::initializeProperties):
1785         * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
1786         (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::initializeProperties):
1787         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
1788         (WebCore::JSTestOverrideBuiltinsConstructor::initializeProperties):
1789         * bindings/scripts/test/JS/JSTestPluginInterface.cpp:
1790         (WebCore::JSTestPluginInterfaceConstructor::initializeProperties):
1791         * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
1792         (WebCore::JSTestPromiseRejectionEventConstructor::initializeProperties):
1793         * bindings/scripts/test/JS/JSTestSerialization.cpp:
1794         (WebCore::JSTestSerializationConstructor::initializeProperties):
1795         * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
1796         (WebCore::JSTestSerializationIndirectInheritanceConstructor::initializeProperties):
1797         * bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
1798         (WebCore::JSTestSerializationInheritConstructor::initializeProperties):
1799         * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
1800         (WebCore::JSTestSerializationInheritFinalConstructor::initializeProperties):
1801         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1802         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::initializeProperties):
1803         * bindings/scripts/test/JS/JSTestStringifier.cpp:
1804         (WebCore::JSTestStringifierConstructor::initializeProperties):
1805         * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
1806         (WebCore::JSTestStringifierAnonymousOperationConstructor::initializeProperties):
1807         * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
1808         (WebCore::JSTestStringifierNamedOperationConstructor::initializeProperties):
1809         * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
1810         (WebCore::JSTestStringifierOperationImplementedAsConstructor::initializeProperties):
1811         * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
1812         (WebCore::JSTestStringifierOperationNamedToStringConstructor::initializeProperties):
1813         * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
1814         (WebCore::JSTestStringifierReadOnlyAttributeConstructor::initializeProperties):
1815         * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
1816         (WebCore::JSTestStringifierReadWriteAttributeConstructor::initializeProperties):
1817         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1818         (WebCore::JSTestTypedefsConstructor::initializeProperties):
1819         * bridge/c/c_instance.cpp:
1820         (JSC::Bindings::CInstance::invokeMethod):
1821         (JSC::Bindings::CInstance::invokeDefaultMethod):
1822         (JSC::Bindings::CInstance::invokeConstruct):
1823         (JSC::Bindings::CInstance::stringValue const):
1824         (JSC::Bindings::CInstance::toJSPrimitive const):
1825         * bridge/objc/objc_instance.mm:
1826         (ObjcInstance::invokeMethod):
1827         * bridge/objc/objc_runtime.mm:
1828         (JSC::Bindings::ObjcArray::setValueAt const):
1829         * contentextensions/ContentExtensionsBackend.cpp:
1830         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
1831         * crypto/SubtleCrypto.cpp:
1832         (WebCore::rejectWithException):
1833         (WebCore::SubtleCrypto::encrypt):
1834         (WebCore::SubtleCrypto::decrypt):
1835         (WebCore::SubtleCrypto::sign):
1836         (WebCore::SubtleCrypto::verify):
1837         (WebCore::SubtleCrypto::deriveKey):
1838         (WebCore::SubtleCrypto::deriveBits):
1839         (WebCore::SubtleCrypto::exportKey):
1840         (WebCore::SubtleCrypto::wrapKey):
1841         (WebCore::SubtleCrypto::unwrapKey):
1842         * crypto/keys/CryptoKeyEC.cpp:
1843         (WebCore::CryptoKeyEC::algorithm const):
1844         * css/CSSInheritedValue.cpp:
1845         (WebCore::CSSInheritedValue::customCSSText const):
1846         * css/CSSInitialValue.cpp:
1847         (WebCore::CSSInitialValue::customCSSText const):
1848         * css/CSSKeyframesRule.cpp:
1849         (WebCore::CSSKeyframesRule::insertRule):
1850         * css/CSSRevertValue.cpp:
1851         (WebCore::CSSRevertValue::customCSSText const):
1852         * css/CSSStyleSheet.h:
1853         * css/CSSUnsetValue.cpp:
1854         (WebCore::CSSUnsetValue::customCSSText const):
1855         * css/CSSValueList.cpp:
1856         (WebCore::CSSValueList::customCSSText const):
1857         * css/DOMMatrixReadOnly.cpp:
1858         (WebCore::DOMMatrixReadOnly::validateAndFixup):
1859         (WebCore::DOMMatrixReadOnly::toFloat32Array const):
1860         (WebCore::DOMMatrixReadOnly::toFloat64Array const):
1861         (WebCore::DOMMatrixReadOnly::toString const):
1862         * css/DeprecatedCSSOMValueList.cpp:
1863         (WebCore::DeprecatedCSSOMValueList::cssText const):
1864         * css/FontFace.cpp:
1865         (WebCore::FontFace::create):
1866         (WebCore::FontFace::unicodeRange const):
1867         (WebCore::FontFace::featureSettings const):
1868         * css/MediaQuery.cpp:
1869         (WebCore::MediaQuery::serialize const):
1870         * css/PropertySetCSSStyleDeclaration.cpp:
1871         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
1872         * css/WebKitCSSMatrix.cpp:
1873         (WebCore::WebKitCSSMatrix::toString const):
1874         * css/parser/MediaQueryParser.cpp:
1875         (WebCore::MediaQueryParser::commitMediaQuery):
1876         * dom/CDATASection.cpp:
1877         (WebCore::CDATASection::nodeName const):
1878         * dom/Comment.cpp:
1879         (WebCore::Comment::nodeName const):
1880         * dom/DOMException.cpp:
1881         (WebCore::DOMException::description const):
1882         (WebCore::DOMException::create):
1883         * dom/DOMException.h:
1884         (WebCore::DOMException::name):
1885         (WebCore::DOMException::message):
1886         * dom/DOMImplementation.cpp:
1887         (WebCore::DOMImplementation::createHTMLDocument):
1888         * dom/DataTransfer.cpp:
1889         (WebCore::DataTransfer::DataTransfer):
1890         (WebCore::DataTransfer::types const):
1891         (WebCore::DataTransfer::createForInputEvent):
1892         (WebCore::DataTransfer::dropEffect const):
1893         (WebCore::DataTransfer::effectAllowed const):
1894         * dom/DataTransferItem.cpp:
1895         (WebCore::DataTransferItem::kind const):
1896         * dom/Document.cpp:
1897         (WebCore::Document::suggestedMIMEType const):
1898         (WebCore::Document::contentType const):
1899         (WebCore::Document::nodeName const):
1900         (WebCore::Document::writeln):
1901         (WebCore::Document::canNavigate):
1902         (WebCore::Document::designMode const):
1903         (WebCore::Document::requestFullScreenForElement):
1904         * dom/DocumentFragment.cpp:
1905         (WebCore::DocumentFragment::nodeName const):
1906         * dom/InlineStyleSheetOwner.cpp:
1907         (WebCore::InlineStyleSheetOwner::createSheet):
1908         * dom/MouseEvent.cpp:
1909         (WebCore::MouseEvent::initMouseEventQuirk):
1910         * dom/ScriptElement.cpp:
1911         (WebCore::ScriptElement::requestModuleScript):
1912         * dom/ScriptElementCachedScriptFetcher.cpp:
1913         (WebCore::ScriptElementCachedScriptFetcher::requestModuleScript const):
1914         * dom/ScriptExecutionContext.cpp:
1915         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
1916         * dom/ScriptedAnimationController.cpp:
1917         (WebCore::throttlingReasonsToString):
1918         * dom/Text.cpp:
1919         (WebCore::Text::nodeName const):
1920         * dom/TextEncoder.cpp:
1921         (WebCore::TextEncoder::encoding const):
1922         * dom/Traversal.cpp:
1923         (WebCore::NodeIteratorBase::acceptNode):
1924         * editing/EditCommand.cpp:
1925         (WebCore::inputTypeNameForEditingAction):
1926         * editing/Editing.cpp:
1927         (WebCore::createTabSpanElement):
1928         * editing/Editor.cpp:
1929         (WebCore::createDataTransferForClipboardEvent):
1930         * editing/EditorCommand.cpp:
1931         (WebCore::executeInsertBacktab):
1932         (WebCore::executeInsertLineBreak):
1933         (WebCore::executeInsertNewline):
1934         (WebCore::executeInsertTab):
1935         (WebCore::executeJustifyCenter):
1936         (WebCore::executeJustifyFull):
1937         (WebCore::executeJustifyLeft):
1938         (WebCore::executeJustifyRight):
1939         (WebCore::executeStrikethrough):
1940         (WebCore::executeSubscript):
1941         (WebCore::executeSuperscript):
1942         (WebCore::executeToggleBold):
1943         (WebCore::executeToggleItalic):
1944         (WebCore::executeUnderline):
1945         (WebCore::executeUnscript):
1946         (WebCore::stateBold):
1947         (WebCore::stateItalic):
1948         (WebCore::stateStrikethrough):
1949         (WebCore::stateSubscript):
1950         (WebCore::stateSuperscript):
1951         (WebCore::stateUnderline):
1952         (WebCore::stateJustifyCenter):
1953         (WebCore::stateJustifyFull):
1954         (WebCore::stateJustifyLeft):
1955         (WebCore::stateJustifyRight):
1956         (WebCore::Editor::Command::value const):
1957         * editing/SmartReplace.cpp:
1958         (WebCore::getSmartSet):
1959         * fileapi/FileCocoa.mm:
1960         (WebCore::File::computeNameAndContentTypeForReplacedFile):
1961         * html/BaseCheckableInputType.cpp:
1962         (WebCore::BaseCheckableInputType::saveFormControlState const):
1963         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
1964         (WebCore::BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue):
1965         * html/ColorInputType.cpp:
1966         (WebCore::ColorInputType::fallbackValue const):
1967         * html/DOMFormData.cpp:
1968         (WebCore::DOMFormData::createFileEntry):
1969         * html/FTPDirectoryDocument.cpp:
1970         (WebCore::processFilesizeString):
1971         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
1972         * html/HTMLAnchorElement.cpp:
1973         (WebCore::HTMLAnchorElement::relList const):
1974         (WebCore::HTMLAnchorElement::isSystemPreviewLink const):
1975         * html/HTMLAppletElement.cpp:
1976         (WebCore::HTMLAppletElement::HTMLAppletElement):
1977         (WebCore::HTMLAppletElement::updateWidget):
1978         * html/HTMLCanvasElement.cpp:
1979         (WebCore::toEncodingMimeType):
1980         (WebCore::HTMLCanvasElement::toDataURL):
1981         (WebCore::HTMLCanvasElement::captureStream):
1982         * html/HTMLElement.cpp:
1983         (WebCore::HTMLElement::contentEditable const):
1984         * html/HTMLFormControlElement.cpp:
1985         (WebCore::shouldAutofocus):
1986         * html/HTMLHtmlElement.cpp:
1987         (WebCore::HTMLHtmlElement::insertedByParser):
1988         * html/HTMLKeygenElement.cpp:
1989         (WebCore::HTMLKeygenElement::keytype const):
1990         * html/HTMLMediaElement.cpp:
1991         (WebCore::HTMLMediaElement::canPlayType const):
1992         (WebCore::stringForNetworkState):
1993         (WebCore::HTMLMediaElement::preload const):
1994         (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
1995         * html/HTMLObjectElement.cpp:
1996         (WebCore::mapDataParamToSrc):
1997         * html/HTMLPlugInElement.cpp:
1998         (WebCore::HTMLPlugInElement::setReplacement):
1999         * html/ImageData.cpp:
2000         (WebCore::ImageData::create):
2001         * html/ImageDocument.cpp:
2002         (WebCore::ImageDocument::createDocumentStructure):
2003         * html/ImageInputType.cpp:
2004         (WebCore::ImageInputType::appendFormData const):
2005         * html/PluginDocument.cpp:
2006         (WebCore::PluginDocumentParser::createDocumentStructure):
2007         * html/canvas/WebGL2RenderingContext.cpp:
2008         (WebCore::WebGL2RenderingContext::getExtension):
2009         (WebCore::WebGL2RenderingContext::getSupportedExtensions):
2010         (WebCore::WebGL2RenderingContext::getParameter):
2011         * html/canvas/WebGLCompressedTextureASTC.cpp:
2012         (WebCore::WebGLCompressedTextureASTC::WebGLCompressedTextureASTC):
2013         (WebCore::WebGLCompressedTextureASTC::getSupportedProfiles):
2014         (WebCore::WebGLCompressedTextureASTC::supported):
2015         (WebCore::m_isLDRSupported): Deleted.
2016         * html/canvas/WebGLRenderingContext.cpp:
2017         (WebCore::WebGLRenderingContext::getExtension):
2018         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2019         (WebCore::WebGLRenderingContext::getParameter):
2020         * html/canvas/WebGLRenderingContextBase.cpp:
2021         (WebCore::WebGLRenderingContextBase::create):
2022         (WebCore::WebGLRenderingContextBase::enableSupportedExtension):
2023         * html/canvas/WebGLRenderingContextBase.h:
2024         * html/canvas/WebGPUEnums.cpp:
2025         (WebCore::web3DCompareFunctionName):
2026         * html/parser/HTMLParserIdioms.cpp:
2027         (WebCore::parseCORSSettingsAttribute):
2028         * html/parser/HTMLPreloadScanner.cpp:
2029         (WebCore::TokenPreloadScanner::initiatorFor):
2030         * html/parser/HTMLResourcePreloader.cpp:
2031         (WebCore::PreloadRequest::resourceRequest):
2032         * html/parser/HTMLTreeBuilder.cpp:
2033         (WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
2034         * html/track/DataCue.cpp:
2035         (WebCore::DataCue::toJSONString const):
2036         * html/track/InbandGenericTextTrack.cpp:
2037         (WebCore::InbandGenericTextTrack::updateCueFromCueData):
2038         * html/track/TextTrackCue.cpp:
2039         (WebCore::TextTrackCue::toJSON const):
2040         * html/track/TextTrackCueGeneric.cpp:
2041         (WebCore::TextTrackCueGeneric::toJSONString const):
2042         * html/track/TrackBase.cpp:
2043         (WebCore::TrackBase::setLanguage):
2044         * html/track/VTTCue.cpp:
2045         (WebCore::VTTCue::toJSON const):
2046         * inspector/CommandLineAPIModule.cpp:
2047         (WebCore::CommandLineAPIModule::CommandLineAPIModule):
2048         * inspector/InspectorCanvas.cpp:
2049         (WebCore::InspectorCanvas::getCanvasContentAsDataURL):
2050         (WebCore::InspectorCanvas::indexForData):
2051         (WebCore::InspectorCanvas::buildInitialState):
2052         (WebCore::InspectorCanvas::buildArrayForCanvasGradient):
2053         (WebCore::InspectorCanvas::buildArrayForCanvasPattern):
2054         * inspector/InspectorFrontendClient.h:
2055         (WebCore::InspectorFrontendClient::debuggableType):
2056         * inspector/InspectorFrontendClientLocal.cpp:
2057         (WebCore::InspectorFrontendClientLocal::openInNewTab):
2058         * inspector/InspectorFrontendHost.cpp:
2059         (WebCore::InspectorFrontendHost::userInterfaceLayoutDirection):
2060         (WebCore::InspectorFrontendHost::platform):
2061         (WebCore::InspectorFrontendHost::port):
2062         * inspector/InspectorOverlay.cpp:
2063         (WebCore::InspectorOverlay::setIndicating):
2064         (WebCore::InspectorOverlay::drawPaintRects):
2065         (WebCore::InspectorOverlay::drawRulers):
2066         (WebCore::appendPathSegment):
2067         * inspector/InspectorStyleSheet.h:
2068         (WebCore::InspectorCSSId::InspectorCSSId):
2069         * inspector/TimelineRecordFactory.cpp:
2070         (WebCore::TimelineRecordFactory::createGenericRecord):
2071         (WebCore::TimelineRecordFactory::createFunctionCallData):
2072         (WebCore::TimelineRecordFactory::createConsoleProfileData):
2073         (WebCore::TimelineRecordFactory::createProbeSampleData):
2074         (WebCore::TimelineRecordFactory::createEventDispatchData):
2075         (WebCore::TimelineRecordFactory::createGenericTimerData):
2076         (WebCore::TimelineRecordFactory::createTimerInstallData):
2077         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
2078         (WebCore::TimelineRecordFactory::createTimeStampData):
2079         (WebCore::TimelineRecordFactory::createAnimationFrameData):
2080         (WebCore::TimelineRecordFactory::createPaintData):
2081         (WebCore::TimelineRecordFactory::appendLayoutRoot):
2082         * inspector/WebInjectedScriptHost.cpp:
2083         (WebCore::WebInjectedScriptHost::subtype):
2084         (WebCore::jsStringForPaymentRequestState):
2085         (WebCore::WebInjectedScriptHost::getInternalProperties):
2086         * inspector/agents/InspectorApplicationCacheAgent.cpp:
2087         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
2088         * inspector/agents/InspectorCSSAgent.cpp:
2089         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2090         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2091         (WebCore::InspectorCSSAgent::createStyleSheet):
2092         (WebCore::InspectorCSSAgent::addRule):
2093         (WebCore::InspectorCSSAgent::elementForId):
2094         (WebCore::InspectorCSSAgent::assertStyleSheetForId):
2095         * inspector/agents/InspectorCanvasAgent.cpp:
2096         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2097         (WebCore::InspectorCanvasAgent::requestNode):
2098         (WebCore::InspectorCanvasAgent::requestContent):
2099         (WebCore::InspectorCanvasAgent::resolveCanvasContext):
2100         (WebCore::InspectorCanvasAgent::startRecording):
2101         (WebCore::InspectorCanvasAgent::stopRecording):
2102         (WebCore::InspectorCanvasAgent::requestShaderSource):
2103         (WebCore::InspectorCanvasAgent::updateShader):
2104         (WebCore::InspectorCanvasAgent::setShaderProgramDisabled):
2105         (WebCore::InspectorCanvasAgent::setShaderProgramHighlighted):
2106         (WebCore::InspectorCanvasAgent::assertInspectorCanvas):
2107         (WebCore::InspectorCanvasAgent::assertInspectorProgram):
2108         * inspector/agents/InspectorDOMAgent.cpp:
2109         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2110         (WebCore::InspectorDOMAgent::assertNode):
2111         (WebCore::InspectorDOMAgent::assertDocument):
2112         (WebCore::InspectorDOMAgent::assertElement):
2113         (WebCore::InspectorDOMAgent::assertEditableNode):
2114         (WebCore::InspectorDOMAgent::assertEditableElement):
2115         (WebCore::InspectorDOMAgent::getDocument):
2116         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
2117         (WebCore::InspectorDOMAgent::requestChildNodes):
2118         (WebCore::InspectorDOMAgent::querySelector):
2119         (WebCore::InspectorDOMAgent::querySelectorAll):
2120         (WebCore::InspectorDOMAgent::releaseBackendNodeIds):
2121         (WebCore::InspectorDOMAgent::setAttributesAsText):
2122         (WebCore::InspectorDOMAgent::removeNode):
2123         (WebCore::InspectorDOMAgent::setOuterHTML):
2124         (WebCore::InspectorDOMAgent::insertAdjacentHTML):
2125         (WebCore::InspectorDOMAgent::setNodeValue):
2126         (WebCore::InspectorDOMAgent::setEventListenerDisabled):
2127         (WebCore::InspectorDOMAgent::performSearch):
2128         (WebCore::InspectorDOMAgent::getSearchResults):
2129         (WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
2130         (WebCore::InspectorDOMAgent::highlightQuad):
2131         (WebCore::InspectorDOMAgent::highlightSelector):
2132         (WebCore::InspectorDOMAgent::highlightNode):
2133         (WebCore::InspectorDOMAgent::highlightNodeList):
2134         (WebCore::InspectorDOMAgent::moveTo):
2135         (WebCore::InspectorDOMAgent::focus):
2136         (WebCore::InspectorDOMAgent::setInspectedNode):
2137         (WebCore::InspectorDOMAgent::resolveNode):
2138         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
2139         (WebCore::InspectorDOMAgent::pushNodeByBackendIdToFrontend):
2140         * inspector/agents/InspectorDOMDebuggerAgent.cpp:
2141         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
2142         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
2143         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
2144         (WebCore::domTypeName):
2145         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
2146         * inspector/agents/InspectorDOMStorageAgent.cpp:
2147         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
2148         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
2149         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
2150         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
2151         (WebCore::InspectorDOMStorageAgent::findStorageArea):
2152         * inspector/agents/InspectorDatabaseAgent.cpp:
2153         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
2154         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2155         * inspector/agents/InspectorIndexedDBAgent.cpp:
2156         (WebCore::Inspector::idbKeyRangeFromKeyRange):
2157         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
2158         (WebCore::InspectorIndexedDBAgent::requestData):
2159         * inspector/agents/InspectorLayerTreeAgent.cpp:
2160         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
2161         (WebCore::InspectorLayerTreeAgent::layersForNode):
2162         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
2163         * inspector/agents/InspectorMemoryAgent.cpp:
2164         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
2165         * inspector/agents/InspectorNetworkAgent.cpp:
2166         (WebCore::InspectorNetworkAgent::InspectorNetworkAgent):
2167         (WebCore::InspectorNetworkAgent::getResponseBody):
2168         (WebCore::InspectorNetworkAgent::loadResource):
2169         (WebCore::InspectorNetworkAgent::resolveWebSocket):
2170         (WebCore::InspectorNetworkAgent::createTextDecoder):
2171         (WebCore::InspectorNetworkAgent::searchInRequest):
2172         * inspector/agents/InspectorPageAgent.cpp:
2173         (WebCore::InspectorPageAgent::resourceContent):
2174         (WebCore::InspectorPageAgent::InspectorPageAgent):
2175         (WebCore::InspectorPageAgent::navigate):
2176         (WebCore::InspectorPageAgent::assertFrame):
2177         (WebCore::InspectorPageAgent::assertDocumentLoader):
2178         (WebCore::InspectorPageAgent::snapshotNode):
2179         (WebCore::InspectorPageAgent::snapshotRect):
2180         (WebCore::InspectorPageAgent::archive):
2181         * inspector/agents/InspectorTimelineAgent.cpp:
2182         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2183         (WebCore::InspectorTimelineAgent::setInstruments):
2184         (WebCore::InspectorTimelineAgent::startFromConsole):
2185         (WebCore::InspectorTimelineAgent::stopFromConsole):
2186         (WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
2187         * inspector/agents/InspectorWorkerAgent.cpp:
2188         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
2189         (WebCore::InspectorWorkerAgent::initialized):
2190         (WebCore::InspectorWorkerAgent::sendMessageToWorker):
2191         * inspector/agents/WebConsoleAgent.cpp:
2192         (WebCore::WebConsoleAgent::setLoggingChannelLevel):
2193         * inspector/agents/page/PageDebuggerAgent.cpp:
2194         (WebCore::PageDebuggerAgent::injectedScriptForEval):
2195         * inspector/agents/page/PageNetworkAgent.cpp:
2196         (WebCore::PageNetworkAgent::scriptExecutionContext):
2197         * inspector/agents/page/PageRuntimeAgent.cpp:
2198         (WebCore::PageRuntimeAgent::injectedScriptForEval):
2199         * inspector/agents/worker/ServiceWorkerAgent.cpp:
2200         (WebCore::ServiceWorkerAgent::ServiceWorkerAgent):
2201         * inspector/agents/worker/WorkerDebuggerAgent.cpp:
2202         (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
2203         * inspector/agents/worker/WorkerRuntimeAgent.cpp:
2204         (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
2205         * loader/ContentFilter.cpp:
2206         (WebCore::ContentFilter::handleProvisionalLoadFailure):
2207         * loader/CrossOriginAccessControl.cpp:
2208         (WebCore::passesAccessControlCheck):
2209         (WebCore::validatePreflightResponse):
2210         * loader/CrossOriginPreflightChecker.cpp:
2211         (WebCore::CrossOriginPreflightChecker::notifyFinished):
2212         (WebCore::CrossOriginPreflightChecker::doPreflight):
2213         * loader/DocumentLoader.cpp:
2214         (WebCore::isRemoteWebArchive):
2215         (WebCore::DocumentLoader::startIconLoading):
2216         * loader/DocumentThreadableLoader.cpp:
2217         (WebCore::DocumentThreadableLoader::reportRedirectionWithBadScheme):
2218         (WebCore::DocumentThreadableLoader::reportContentSecurityPolicyError):
2219         (WebCore::DocumentThreadableLoader::reportCrossOriginResourceSharingError):
2220         (WebCore::DocumentThreadableLoader::reportIntegrityMetadataError):
2221         * loader/FormSubmission.cpp:
2222         (WebCore::FormSubmission::Attributes::parseEncodingType):
2223         * loader/FormSubmission.h:
2224         (WebCore::FormSubmission::Attributes::methodString):
2225         * loader/FrameLoader.cpp:
2226         (WebCore::FrameLoader::initForSynthesizedDocument):
2227         (WebCore::FrameLoader::loadURLIntoChildFrame):
2228         (WebCore::FrameLoader::defaultSubstituteDataForURL):
2229         (WebCore::FrameLoader::addHTTPUpgradeInsecureRequestsIfNeeded):
2230         (WebCore::FrameLoader::dispatchBeforeUnloadEvent):
2231         * loader/LinkLoader.cpp:
2232         (WebCore::LinkLoader::preconnectIfNeeded):
2233         * loader/NavigationScheduler.cpp:
2234         (WebCore::NavigationScheduler::scheduleLocationChange):
2235         * loader/PingLoader.cpp:
2236         (WebCore::PingLoader::sendViolationReport):
2237         * loader/ResourceLoadStatistics.cpp:
2238         (WebCore::ResourceLoadStatistics::primaryDomain):
2239         (WebCore::ResourceLoadStatistics::areDomainsAssociated):
2240         * loader/ResourceLoader.cpp:
2241         (WebCore::ResourceLoader::loadDataURL):
2242         (WebCore::ResourceLoader::didBlockAuthenticationChallenge):
2243         * loader/SubresourceLoader.cpp:
2244         (WebCore::SubresourceLoader::willSendRequestInternal):
2245         (WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
2246         * loader/ThreadableLoader.cpp:
2247         (WebCore::ThreadableLoader::logError):
2248         * loader/appcache/ApplicationCacheGroup.cpp:
2249         (WebCore::ApplicationCacheGroup::abort):
2250         (WebCore::ApplicationCacheGroup::didFinishLoadingEntry):
2251         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2252         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2253         * loader/appcache/ApplicationCacheHost.cpp:
2254         (WebCore::ApplicationCacheHost::createFileURL):
2255         * loader/appcache/ManifestParser.cpp:
2256         (WebCore::parseManifest):
2257         * loader/archive/ArchiveFactory.cpp:
2258         (WebCore::createArchiveMIMETypesMap):
2259         * loader/cache/CachedResource.cpp:
2260         (WebCore::CachedResource::load):
2261         * loader/cache/CachedResourceLoader.cpp:
2262         (WebCore::CachedResourceLoader::canRequest):
2263         (WebCore::CachedResourceLoader::requestResource):
2264         * loader/cache/CachedResourceRequest.cpp:
2265         (WebCore::acceptHeaderValueFromType):
2266         (WebCore::CachedResourceRequest::updateAcceptEncodingHeader):
2267         * loader/cache/CachedScript.cpp:
2268         (WebCore::CachedScript::CachedScript):
2269         * loader/cache/MemoryCache.cpp:
2270         (WebCore::MemoryCache::getOriginsWithCache):
2271         * loader/soup/ResourceLoaderSoup.cpp:
2272         (WebCore::ResourceLoader::loadGResource):
2273         * page/DOMSelection.cpp:
2274         (WebCore::DOMSelection::type const):
2275         * page/DOMWindow.cpp:
2276         (WebCore::DOMWindow::close):
2277         (WebCore::DOMWindow::addEventListener):
2278         (WebCore::DOMWindow::createWindow):
2279         * page/DebugPageOverlays.cpp:
2280         (WebCore::touchEventRegionColors):
2281         * page/DiagnosticLoggingKeys.cpp:
2282         (WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
2283         (WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
2284         (WebCore::DiagnosticLoggingKeys::memoryCacheEntryDecisionKey):
2285         (WebCore::DiagnosticLoggingKeys::memoryCacheUsageKey):
2286         (WebCore::DiagnosticLoggingKeys::missingValidatorFieldsKey):
2287         (WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
2288         (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
2289         (WebCore::DiagnosticLoggingKeys::postPageBackgroundingCPUUsageKey):
2290         (WebCore::DiagnosticLoggingKeys::postPageBackgroundingMemoryUsageKey):
2291         (WebCore::DiagnosticLoggingKeys::pageHandlesWebGLContextLossKey):
2292         (WebCore::DiagnosticLoggingKeys::postPageLoadCPUUsageKey):
2293         (WebCore::DiagnosticLoggingKeys::postPageLoadMemoryUsageKey):
2294         (WebCore::DiagnosticLoggingKeys::provisionalLoadKey):
2295         (WebCore::DiagnosticLoggingKeys::pageContainsPluginKey):
2296         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey):
2297         (WebCore::DiagnosticLoggingKeys::pageContainsMediaEngineKey):
2298         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOneMediaEngineKey):
2299         (WebCore::DiagnosticLoggingKeys::pageLoadedKey):
2300         (WebCore::DiagnosticLoggingKeys::playedKey):
2301         (WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey):
2302         (WebCore::DiagnosticLoggingKeys::entryRightlyNotWarmedUpKey):
2303         (WebCore::DiagnosticLoggingKeys::entryWronglyNotWarmedUpKey):
2304         (WebCore::DiagnosticLoggingKeys::navigationKey):
2305         (WebCore::DiagnosticLoggingKeys::needsRevalidationKey):
2306         (WebCore::DiagnosticLoggingKeys::networkCacheKey):
2307         (WebCore::DiagnosticLoggingKeys::networkCacheFailureReasonKey):
2308         (WebCore::DiagnosticLoggingKeys::networkCacheUnusedReasonKey):
2309         (WebCore::DiagnosticLoggingKeys::networkCacheReuseFailureKey):
2310         (WebCore::DiagnosticLoggingKeys::networkKey):
2311         (WebCore::DiagnosticLoggingKeys::networkProcessCrashedKey):
2312         (WebCore::DiagnosticLoggingKeys::neverSeenBeforeKey):
2313         (WebCore::DiagnosticLoggingKeys::noKey):
2314         (WebCore::DiagnosticLoggingKeys::noCacheKey):
2315         (WebCore::DiagnosticLoggingKeys::noStoreKey):
2316         (WebCore::DiagnosticLoggingKeys::nonVisibleStateKey):
2317         (WebCore::DiagnosticLoggingKeys::notInMemoryCacheKey):
2318         (WebCore::DiagnosticLoggingKeys::pageCacheKey):
2319         (WebCore::DiagnosticLoggingKeys::pageCacheFailureKey):
2320         (WebCore::DiagnosticLoggingKeys::noDocumentLoaderKey):
2321         (WebCore::DiagnosticLoggingKeys::noLongerInCacheKey):
2322         (WebCore::DiagnosticLoggingKeys::otherKey):
2323         (WebCore::DiagnosticLoggingKeys::mainDocumentErrorKey):
2324         (WebCore::DiagnosticLoggingKeys::mainResourceKey):
2325         (WebCore::DiagnosticLoggingKeys::isErrorPageKey):
2326         (WebCore::DiagnosticLoggingKeys::isExpiredKey):
2327         (WebCore::DiagnosticLoggingKeys::isReloadIgnoringCacheDataKey):
2328         (WebCore::DiagnosticLoggingKeys::loadingKey):
2329         (WebCore::DiagnosticLoggingKeys::hasPluginsKey):
2330         (WebCore::DiagnosticLoggingKeys::httpsNoStoreKey):
2331         (WebCore::DiagnosticLoggingKeys::imageKey):
2332         (WebCore::DiagnosticLoggingKeys::inMemoryCacheKey):
2333         (WebCore::DiagnosticLoggingKeys::inactiveKey):
2334         (WebCore::DiagnosticLoggingKeys::internalErrorKey):
2335         (WebCore::DiagnosticLoggingKeys::invalidSessionIDKey):
2336         (WebCore::DiagnosticLoggingKeys::isAttachmentKey):
2337         (WebCore::DiagnosticLoggingKeys::isConditionalRequestKey):
2338         (WebCore::DiagnosticLoggingKeys::isDisabledKey):
2339         (WebCore::DiagnosticLoggingKeys::noCurrentHistoryItemKey):
2340         (WebCore::DiagnosticLoggingKeys::quirkRedirectComingKey):
2341         (WebCore::DiagnosticLoggingKeys::rawKey):
2342         (WebCore::DiagnosticLoggingKeys::redirectKey):
2343         (WebCore::DiagnosticLoggingKeys::isLoadingKey):
2344         (WebCore::DiagnosticLoggingKeys::documentLoaderStoppingKey):
2345         (WebCore::DiagnosticLoggingKeys::domainCausingCrashKey):
2346         (WebCore::DiagnosticLoggingKeys::domainCausingEnergyDrainKey):
2347         (WebCore::DiagnosticLoggingKeys::domainCausingJetsamKey):
2348         (WebCore::DiagnosticLoggingKeys::simulatedPageCrashKey):
2349         (WebCore::DiagnosticLoggingKeys::exceededActiveMemoryLimitKey):
2350         (WebCore::DiagnosticLoggingKeys::exceededInactiveMemoryLimitKey):
2351         (WebCore::DiagnosticLoggingKeys::exceededBackgroundCPULimitKey):
2352         (WebCore::DiagnosticLoggingKeys::domainVisitedKey):
2353         (WebCore::DiagnosticLoggingKeys::cannotSuspendActiveDOMObjectsKey):
2354         (WebCore::DiagnosticLoggingKeys::cpuUsageKey):
2355         (WebCore::DiagnosticLoggingKeys::createSharedBufferFailedKey):
2356         (WebCore::DiagnosticLoggingKeys::activeInForegroundTabKey):
2357         (WebCore::DiagnosticLoggingKeys::activeInBackgroundTabOnlyKey):
2358         (WebCore::DiagnosticLoggingKeys::applicationCacheKey):
2359         (WebCore::DiagnosticLoggingKeys::applicationManifestKey):
2360         (WebCore::DiagnosticLoggingKeys::audioKey):
2361         (WebCore::DiagnosticLoggingKeys::backNavigationDeltaKey):
2362         (WebCore::DiagnosticLoggingKeys::canCacheKey):
2363         (WebCore::DiagnosticLoggingKeys::cacheControlNoStoreKey):
2364         (WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationKey):
2365         (WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationReasonKey):
2366         (WebCore::DiagnosticLoggingKeys::deniedByClientKey):
2367         (WebCore::DiagnosticLoggingKeys::deviceMotionKey):
2368         (WebCore::DiagnosticLoggingKeys::deviceOrientationKey):
2369         (WebCore::DiagnosticLoggingKeys::diskCacheKey):
2370         (WebCore::DiagnosticLoggingKeys::diskCacheAfterValidationKey):
2371         (WebCore::DiagnosticLoggingKeys::reloadKey):
2372         (WebCore::DiagnosticLoggingKeys::replaceKey):
2373         (WebCore::DiagnosticLoggingKeys::retrievalRequestKey):
2374         (WebCore::DiagnosticLoggingKeys::resourceLoadedKey):
2375         (WebCore::DiagnosticLoggingKeys::resourceResponseSourceKey):
2376         (WebCore::DiagnosticLoggingKeys::retrievalKey):
2377         (WebCore::DiagnosticLoggingKeys::revalidatingKey):
2378         (WebCore::DiagnosticLoggingKeys::reloadFromOriginKey):
2379         (WebCore::DiagnosticLoggingKeys::reloadRevalidatingExpiredKey):
2380         (WebCore::DiagnosticLoggingKeys::sameLoadKey):
2381         (WebCore::DiagnosticLoggingKeys::scriptKey):
2382         (WebCore::DiagnosticLoggingKeys::serviceWorkerKey):
2383         (WebCore::DiagnosticLoggingKeys::streamingMedia):
2384         (WebCore::DiagnosticLoggingKeys::styleSheetKey):
2385         (WebCore::DiagnosticLoggingKeys::successfulSpeculativeWarmupWithRevalidationKey):
2386         (WebCore::DiagnosticLoggingKeys::successfulSpeculativeWarmupWithoutRevalidationKey):
2387         (WebCore::DiagnosticLoggingKeys::svgDocumentKey):
2388         (WebCore::DiagnosticLoggingKeys::synchronousMessageFailedKey):
2389         (WebCore::DiagnosticLoggingKeys::telemetryPageLoadKey):
2390         (WebCore::DiagnosticLoggingKeys::timedOutKey):
2391         (WebCore::DiagnosticLoggingKeys::canceledLessThan2SecondsKey):
2392         (WebCore::DiagnosticLoggingKeys::canceledLessThan5SecondsKey):
2393         (WebCore::DiagnosticLoggingKeys::canceledLessThan20SecondsKey):
2394         (WebCore::DiagnosticLoggingKeys::canceledMoreThan20SecondsKey):
2395         (WebCore::DiagnosticLoggingKeys::failedLessThan2SecondsKey):
2396         (WebCore::DiagnosticLoggingKeys::failedLessThan5SecondsKey):
2397         (WebCore::DiagnosticLoggingKeys::failedLessThan20SecondsKey):
2398         (WebCore::DiagnosticLoggingKeys::failedMoreThan20SecondsKey):
2399         (WebCore::DiagnosticLoggingKeys::occurredKey):
2400         (WebCore::DiagnosticLoggingKeys::succeededLessThan2SecondsKey):
2401         (WebCore::DiagnosticLoggingKeys::succeededLessThan5SecondsKey):
2402         (WebCore::DiagnosticLoggingKeys::succeededLessThan20SecondsKey):
2403         (WebCore::DiagnosticLoggingKeys::succeededMoreThan20SecondsKey):
2404         (WebCore::DiagnosticLoggingKeys::uncacheableStatusCodeKey):
2405         (WebCore::DiagnosticLoggingKeys::underMemoryPressureKey):
2406         (WebCore::DiagnosticLoggingKeys::unknownEntryRequestKey):
2407         (WebCore::DiagnosticLoggingKeys::unlikelyToReuseKey):
2408         (WebCore::DiagnosticLoggingKeys::unsupportedHTTPMethodKey):
2409         (WebCore::DiagnosticLoggingKeys::unsuspendableDOMObjectKey):
2410         (WebCore::DiagnosticLoggingKeys::unusedKey):
2411         (WebCore::DiagnosticLoggingKeys::unusedReasonCredentialSettingsKey):
2412         (WebCore::DiagnosticLoggingKeys::unusedReasonErrorKey):
2413         (WebCore::DiagnosticLoggingKeys::unusedReasonMustRevalidateNoValidatorKey):
2414         (WebCore::DiagnosticLoggingKeys::unusedReasonNoStoreKey):
2415         (WebCore::DiagnosticLoggingKeys::unusedReasonRedirectChainKey):
2416         (WebCore::DiagnosticLoggingKeys::unusedReasonReloadKey):
2417         (WebCore::DiagnosticLoggingKeys::unusedReasonTypeMismatchKey):
2418         (WebCore::DiagnosticLoggingKeys::usedKey):
2419         (WebCore::DiagnosticLoggingKeys::userZoomActionKey):
2420         (WebCore::DiagnosticLoggingKeys::varyingHeaderMismatchKey):
2421         (WebCore::DiagnosticLoggingKeys::videoKey):
2422         (WebCore::DiagnosticLoggingKeys::visibleNonActiveStateKey):
2423         (WebCore::DiagnosticLoggingKeys::visibleAndActiveStateKey):
2424         (WebCore::DiagnosticLoggingKeys::wastedSpeculativeWarmupWithRevalidationKey):
2425         (WebCore::DiagnosticLoggingKeys::wastedSpeculativeWarmupWithoutRevalidationKey):
2426         (WebCore::DiagnosticLoggingKeys::webViewKey):
2427         (WebCore::DiagnosticLoggingKeys::yesKey):
2428         (WebCore::DiagnosticLoggingKeys::expiredKey):
2429         (WebCore::DiagnosticLoggingKeys::fontKey):
2430         (WebCore::DiagnosticLoggingKeys::prunedDueToMemoryPressureKey):
2431         (WebCore::DiagnosticLoggingKeys::prunedDueToMaxSizeReached):
2432         (WebCore::DiagnosticLoggingKeys::prunedDueToProcessSuspended):
2433         (WebCore::WebCore::DiagnosticLoggingKeys::notHTTPFamilyKey):
2434         (WebCore::WebCore::DiagnosticLoggingKeys::webGLStateKey):
2435         (WebCore::DiagnosticLoggingKeys::memoryUsageToDiagnosticLoggingKey):
2436         (WebCore::DiagnosticLoggingKeys::foregroundCPUUsageToDiagnosticLoggingKey):
2437         (WebCore::DiagnosticLoggingKeys::backgroundCPUUsageToDiagnosticLoggingKey):
2438         (WebCore::DiagnosticLoggingKeys::resourceLoadStatisticsTelemetryKey):
2439         * page/DisabledAdaptations.cpp:
2440         (WebCore::watchAdaptationName):
2441         * page/EventHandler.cpp:
2442         (WebCore::EventHandler::handlePasteGlobalSelection):
2443         (WebCore::convertDragOperationToDropZoneOperation):
2444         * page/EventSource.cpp:
2445         (WebCore::EventSource::EventSource):
2446         * page/History.cpp:
2447         (WebCore::History::stateObjectAdded):
2448         * page/NavigatorBase.cpp:
2449         (WebCore::NavigatorBase::appName):
2450         (WebCore::NavigatorBase::appCodeName):
2451         * page/Page.cpp:
2452         (WebCore::Page::logNavigation):
2453         * page/PageDebuggable.cpp:
2454         (WebCore::PageDebuggable::url const):
2455         * page/PageSerializer.cpp:
2456         (WebCore::PageSerializer::serializeCSSStyleSheet):
2457         * page/PerformanceMark.h:
2458         * page/PerformanceMeasure.h:
2459         * page/PerformanceObserver.cpp:
2460         (WebCore::PerformanceObserver::observe):
2461         * page/PerformanceResourceTiming.cpp:
2462         (WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
2463         * page/PerformanceUserTiming.cpp:
2464         (WebCore::restrictedMarkFunction):
2465         * page/PointerLockController.cpp:
2466         (WebCore::PointerLockController::requestPointerLock):
2467         * page/PrintContext.cpp:
2468         (WebCore::PrintContext::pageProperty):
2469         * page/SecurityOrigin.cpp:
2470         (WebCore::SecurityOrigin::toString const):
2471         * page/SecurityOriginData.cpp:
2472         (WebCore::SecurityOriginData::toString const):
2473         (WebCore::SecurityOriginData::databaseIdentifier const):
2474         * page/cocoa/ResourceUsageOverlayCocoa.mm:
2475         (WebCore::gcTimerString):
2476         * page/csp/ContentSecurityPolicy.cpp:
2477         (WebCore::ContentSecurityPolicy::reportViolation const):
2478         (WebCore::ContentSecurityPolicy::reportUnsupportedDirective const):
2479         * page/linux/ResourceUsageOverlayLinux.cpp:
2480         (WebCore::cpuUsageString):
2481         (WebCore::gcTimerString):
2482         * platform/ContentType.cpp:
2483         (WebCore::ContentType::codecsParameter):
2484         (WebCore::ContentType::profilesParameter):
2485         * platform/Decimal.cpp:
2486         (WebCore::Decimal::toString const):
2487         * platform/MIMETypeRegistry.cpp:
2488         (WebCore::initializeSupportedImageMIMETypes):
2489         (WebCore::typesForCommonExtension):
2490         (WebCore::initializeUnsupportedTextMIMETypes):
2491         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
2492         * platform/SchemeRegistry.cpp:
2493         (WebCore::SchemeRegistry::canServiceWorkersHandleURLScheme):
2494         * platform/URL.cpp:
2495         (WebCore::mimeTypeFromDataURL):
2496         * platform/UserAgentQuirks.cpp:
2497         (WebCore::UserAgentQuirks::stringForQuirk):
2498         * platform/cocoa/KeyEventCocoa.mm:
2499         (WebCore::keyForCharCode):
2500         * platform/cocoa/NetworkExtensionContentFilter.mm:
2501         (WebCore::NetworkExtensionContentFilter::unblockHandler const):
2502         * platform/cocoa/ParentalControlsContentFilter.mm:
2503         (WebCore::ParentalControlsContentFilter::unblockHandler const):
2504         * platform/cocoa/PasteboardCocoa.mm:
2505         (WebCore::Pasteboard::fileContentState):
2506         * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
2507         (WebCore::MacApplication::isSafari):
2508         (WebCore::MacApplication::isAppleMail):
2509         (WebCore::MacApplication::isIBooks):
2510         (WebCore::MacApplication::isITunes):
2511         (WebCore::MacApplication::isMicrosoftMessenger):
2512         (WebCore::MacApplication::isAdobeInstaller):
2513         (WebCore::MacApplication::isAOLInstantMessenger):
2514         (WebCore::MacApplication::isMicrosoftMyDay):
2515         (WebCore::MacApplication::isMicrosoftOutlook):
2516         (WebCore::MacApplication::isQuickenEssentials):
2517         (WebCore::MacApplication::isAperture):
2518         (WebCore::MacApplication::isVersions):
2519         (WebCore::MacApplication::isHRBlock):
2520         (WebCore::MacApplication::isIAdProducer):
2521         (WebCore::MacApplication::isSolidStateNetworksDownloader):
2522         (WebCore::IOSApplication::isMobileMail):
2523         (WebCore::IOSApplication::isMobileSafari):
2524         (WebCore::IOSApplication::isWebBookmarksD):
2525         (WebCore::IOSApplication::isDumpRenderTree):
2526         (WebCore::IOSApplication::isMobileStore):
2527         (WebCore::IOSApplication::isSpringBoard):
2528         (WebCore::IOSApplication::isWebApp):
2529         (WebCore::IOSApplication::isIBooks):
2530         (WebCore::IOSApplication::isIBooksStorytime):
2531         (WebCore::IOSApplication::isTheSecretSocietyHiddenMystery):
2532         (WebCore::IOSApplication::isCardiogram):
2533         (WebCore::IOSApplication::isNike):
2534         * platform/cocoa/UserAgentCocoa.mm:
2535         (WebCore::userAgentBundleVersion):
2536         * platform/gamepad/cocoa/GameControllerGamepad.mm:
2537         (WebCore::GameControllerGamepad::setupAsExtendedGamepad):
2538         (WebCore::GameControllerGamepad::setupAsGamepad):
2539         * platform/graphics/InbandTextTrackPrivateClient.h:
2540         (WebCore::GenericCueData::toJSONString const):
2541         * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
2542         (WebCore::CDMFactoryFairPlayStreaming::supportsKeySystem):
2543         * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
2544         (WebCore::isEqual):
2545         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
2546         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::keySystem const):
2547         * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
2548         (WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
2549         * platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
2550         (WebCore::CDMSessionAVStreamSession::generateKeyRequest):
2551         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2552         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
2553         * platform/graphics/ca/GraphicsLayerCA.cpp:
2554         (WebCore::propertyIdToString):
2555         * platform/graphics/ca/TileController.cpp:
2556         (WebCore::TileController::tileGridContainerLayerName):
2557         (WebCore::TileController::zoomedOutTileGridContainerLayerName):
2558         * platform/graphics/cg/ImageBufferCG.cpp:
2559         (WebCore::ImageBuffer::toDataURL const):
2560         (WebCore::dataURL):
2561         * platform/graphics/cv/VideoTextureCopierCV.cpp:
2562         (WebCore::VideoTextureCopierCV::initializeContextObjects):
2563         (WebCore::VideoTextureCopierCV::initializeUVContextObjects):
2564         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2565         (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
2566         (WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):
2567         * platform/graphics/iso/ISOVTTCue.cpp:
2568         (WebCore::ISOWebVTTCue::toJSONString const):
2569         * platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:
2570         (Nicosia::PaintingEngineThreaded::PaintingEngineThreaded):
2571         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2572         (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
2573         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2574         (WebCore::GraphicsContext3D::getUnmangledInfoLog):
2575         * platform/graphics/texmap/TextureMapperContextAttributes.cpp:
2576         (WebCore::TextureMapperContextAttributes::get):
2577         * platform/graphics/win/ImageBufferDirect2D.cpp:
2578         (WebCore::ImageBuffer::toDataURL const):
2579         (WebCore::ImageDataToDataURL):
2580         * platform/gtk/PasteboardGtk.cpp:
2581         (WebCore::Pasteboard::typesForLegacyUnsafeBindings):
2582         * platform/gtk/PasteboardHelper.cpp:
2583         * platform/gtk/PlatformKeyboardEventGtk.cpp:
2584         (WebCore::PlatformKeyboardEvent::keyValueForGdkKeyCode):
2585         (WebCore::PlatformKeyboardEvent::keyCodeForHardwareKeyCode):
2586         * platform/image-decoders/bmp/BMPImageDecoder.h:
2587         * platform/image-decoders/gif/GIFImageDecoder.h:
2588         * platform/image-decoders/ico/ICOImageDecoder.h:
2589         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2590         * platform/image-decoders/png/PNGImageDecoder.h:
2591         * platform/image-decoders/webp/WEBPImageDecoder.h:
2592         * platform/ios/Device.cpp:
2593         (WebCore::deviceName):
2594         * platform/ios/PasteboardIOS.mm:
2595         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):
2596         * platform/ios/PlatformEventFactoryIOS.mm:
2597         (WebCore::keyForKeyEvent):
2598         (WebCore::codeForKeyEvent):
2599         * platform/ios/PlatformPasteboardIOS.mm:
2600         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
2601         * platform/mac/PasteboardMac.mm:
2602         (WebCore::Pasteboard::read):
2603         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):
2604         * platform/mac/PlatformEventFactoryMac.mm:
2605         (WebCore::keyForKeyEvent):
2606         (WebCore::codeForKeyEvent):
2607         * platform/mac/PlatformPasteboardMac.mm:
2608         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
2609         * platform/mediastream/MediaConstraints.cpp:
2610         (WebCore::addDefaultVideoConstraints):
2611         * platform/mediastream/PeerMediaDescription.h:
2612         * platform/mediastream/RealtimeMediaSource.cpp:
2613         (WebCore::RealtimeMediaSource::applyConstraints):
2614         * platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:
2615         (WebCore::DisplayCaptureManagerCocoa::screenCaptureDeviceWithPersistentID):
2616         * platform/mock/MockRealtimeMediaSource.cpp:
2617         (WebCore::deviceMap):
2618         (WebCore::MockRealtimeMediaSource::audioDevices):
2619         (WebCore::MockRealtimeMediaSource::videoDevices):
2620         (WebCore::MockRealtimeMediaSource::displayDevices):
2621         * platform/mock/MockRealtimeVideoSource.cpp:
2622         (WebCore::MockRealtimeVideoSource::drawText):
2623         * platform/network/BlobRegistryImpl.cpp:
2624         (WebCore::BlobRegistryImpl::writeBlobsToTemporaryFiles):
2625         * platform/network/DataURLDecoder.cpp:
2626         (WebCore::DataURLDecoder::parseMediaType):
2627         * platform/network/FormData.cpp:
2628         (WebCore::FormData::appendMultiPartFileValue):
2629         * platform/network/HTTPParsers.cpp:
2630         (WebCore::parseHTTPRequestLine):
2631         (WebCore::parseHTTPHeader):
2632         (WebCore::normalizeHTTPMethod):
2633         * platform/network/ResourceRequestBase.cpp:
2634         (WebCore::ResourceRequestBase::redirectedRequest const):
2635         * platform/network/ResourceRequestBase.h:
2636         (WebCore::ResourceRequestBase::ResourceRequestBase):
2637         * platform/network/curl/ResourceHandleCurl.cpp:
2638         (WebCore::ResourceHandle::handleDataURL):
2639         * platform/network/curl/SynchronousLoaderClientCurl.cpp:
2640         (WebCore::SynchronousLoaderClient::platformBadResponseError):
2641         * platform/network/win/DownloadBundleWin.cpp:
2642         (WebCore::DownloadBundle::fileExtension):
2643         * platform/sql/SQLiteDatabase.cpp:
2644         (WebCore::SQLiteDatabase::open):
2645         (WebCore::SQLiteDatabase::setFullsync):
2646         (WebCore::SQLiteDatabase::maximumSize):
2647         (WebCore::SQLiteDatabase::pageSize):
2648         (WebCore::SQLiteDatabase::freeSpaceSize):
2649         (WebCore::SQLiteDatabase::totalSize):
2650         (WebCore::SQLiteDatabase::clearAllTables):
2651         (WebCore::SQLiteDatabase::runVacuumCommand):
2652         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
2653         (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
2654         * platform/sql/SQLiteFileSystem.cpp:
2655         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
2656         * platform/text/LocaleICU.cpp:
2657         (WebCore::LocaleICU::dateFormat):
2658         (WebCore::getFormatForSkeleton):
2659         * platform/text/LocaleNone.cpp:
2660         (WebCore::LocaleNone::dateFormat):
2661         (WebCore::LocaleNone::monthFormat):
2662         (WebCore::LocaleNone::shortMonthFormat):
2663         (WebCore::LocaleNone::timeFormat):
2664         (WebCore::LocaleNone::shortTimeFormat):
2665         (WebCore::LocaleNone::dateTimeFormatWithSeconds):
2666         (WebCore::LocaleNone::dateTimeFormatWithoutSeconds):
2667         * platform/text/LocaleToScriptMappingDefault.cpp:
2668         (WebCore::scriptNameToCode):
2669         (WebCore::localeToScriptCodeForFontSelection):
2670         * platform/text/TextEncodingRegistry.cpp:
2671         (WebCore::defaultTextEncodingNameForSystemLanguage):
2672         * platform/win/FileSystemWin.cpp:
2673         (WebCore::FileSystem::bundleName):
2674         * platform/wpe/RenderThemeWPE.cpp:
2675         (WebCore::RenderThemeWPE::mediaControlsStyleSheet):
2676         * rendering/RenderMenuList.cpp:
2677         (RenderMenuList::setText):
2678         * rendering/RenderThemeIOS.mm:
2679         (WebCore::RenderThemeIOS::extraDefaultStyleSheet):
2680         * svg/SVGComponentTransferFunctionElement.h:
2681         (WebCore::SVGPropertyTraits<ComponentTransferType>::toString):
2682         * svg/SVGFEColorMatrixElement.h:
2683         (WebCore::SVGPropertyTraits<ColorMatrixType>::toString):
2684         * svg/SVGFECompositeElement.h:
2685         (WebCore::SVGPropertyTraits<CompositeOperationType>::toString):
2686         * svg/SVGFEConvolveMatrixElement.h:
2687         (WebCore::SVGPropertyTraits<EdgeModeType>::toString):
2688         * svg/SVGFEDisplacementMapElement.h:
2689         (WebCore::SVGPropertyTraits<ChannelSelectorType>::toString):
2690         * svg/SVGFEMorphologyElement.h:
2691         (WebCore::SVGPropertyTraits<MorphologyOperatorType>::toString):
2692         * svg/SVGFETurbulenceElement.h:
2693         (WebCore::SVGPropertyTraits<SVGStitchOptions>::toString):
2694         (WebCore::SVGPropertyTraits<TurbulenceType>::toString):
2695         * svg/SVGGradientElement.h:
2696         (WebCore::SVGPropertyTraits<SVGSpreadMethodType>::toString):
2697         * svg/SVGLocatable.cpp:
2698         (WebCore::SVGLocatable::getTransformToElement):
2699         * svg/SVGMarkerTypes.h:
2700         (WebCore::SVGPropertyTraits<SVGMarkerUnitsType>::toString):
2701         * svg/SVGMatrixValue.h:
2702         * svg/SVGSVGElement.cpp:
2703         (WebCore::SVGSVGElement::SVGSVGElement):
2704         (WebCore::SVGSVGElement::parseAttribute):
2705         * svg/SVGTextContentElement.h:
2706         (WebCore::SVGPropertyTraits<SVGLengthAdjustType>::toString):
2707         * svg/SVGTextPathElement.h:
2708         (WebCore::SVGPropertyTraits<SVGTextPathMethodType>::toString):
2709         (WebCore::SVGPropertyTraits<SVGTextPathSpacingType>::toString):
2710         * svg/SVGToOTFFontConversion.cpp:
2711         (WebCore::SVGToOTFFontConverter::appendCFFTable):
2712         * svg/SVGUnitTypes.h:
2713         (WebCore::SVGPropertyTraits<SVGUnitTypes::SVGUnitType>::toString):
2714         * svg/SVGUseElement.cpp:
2715         (WebCore::SVGUseElement::toClipPath):
2716         * svg/graphics/SVGImage.cpp:
2717         (WebCore::SVGImage::filenameExtension const):
2718         * testing/InternalSettings.cpp:
2719         (WebCore::InternalSettings::userInterfaceDirectionPolicy):
2720         (WebCore::InternalSettings::systemLayoutDirection):
2721         * testing/Internals.cpp:
2722         (WebCore::Internals::areSVGAnimationsPaused const):
2723         (WebCore::Internals::accessKeyModifiers const):
2724         (WebCore::Internals::setMediaDeviceState):
2725         (WebCore::Internals::audioSessionCategory const):
2726         (WebCore::Internals::systemPreviewRelType):
2727         * testing/MockCDMFactory.cpp:
2728         (WebCore::MockCDM::sanitizeResponse const):
2729         (WebCore::MockCDMInstance::updateLicense):
2730         * testing/MockContentFilter.cpp:
2731         (WebCore::MockContentFilter::unblockRequestDeniedScript const):
2732         * testing/MockCredentialsMessenger.cpp:
2733         (WebCore::MockCredentialsMessenger::~MockCredentialsMessenger):
2734         (WebCore::MockCredentialsMessenger::makeCredential):
2735         (WebCore::MockCredentialsMessenger::getAssertion):
2736         * testing/MockPaymentCoordinator.cpp:
2737         (WebCore::MockPaymentCoordinator::showPaymentUI):
2738         * workers/WorkerRunLoop.cpp:
2739         (WebCore::WorkerRunLoop::debuggerMode):
2740         * workers/WorkerScriptLoader.cpp:
2741         (WebCore::WorkerScriptLoader::loadSynchronously):
2742         (WebCore::WorkerScriptLoader::createResourceRequest):
2743         (WebCore::WorkerScriptLoader::didReceiveData):
2744         * workers/service/ExtendableEvent.cpp:
2745         (WebCore::ExtendableEvent::waitUntil):
2746         * workers/service/FetchEvent.cpp:
2747         (WebCore::FetchEvent::~FetchEvent):
2748         (WebCore::FetchEvent::respondWith):
2749         (WebCore::FetchEvent::promiseIsSettled):
2750         * workers/service/SWClientConnection.cpp:
2751         (WebCore::SWClientConnection::clearPendingJobs):
2752         * workers/service/ServiceWorker.cpp:
2753         (WebCore::ServiceWorker::postMessage):
2754         * workers/service/ServiceWorkerClients.cpp:
2755         (WebCore::ServiceWorkerClients::openWindow):
2756         (WebCore::ServiceWorkerClients::claim):
2757         * workers/service/ServiceWorkerContainer.cpp:
2758         (WebCore::ServiceWorkerContainer::addRegistration):
2759         (WebCore::ServiceWorkerContainer::getRegistration):
2760         (WebCore::ServiceWorkerContainer::startScriptFetchForJob):
2761         * workers/service/ServiceWorkerJob.cpp:
2762         (WebCore::ServiceWorkerJob::fetchScriptWithContext):
2763         (WebCore::ServiceWorkerJob::didReceiveResponse):
2764         * workers/service/ServiceWorkerRegistration.cpp:
2765         (WebCore::ServiceWorkerRegistration::update):
2766         * workers/service/ServiceWorkerWindowClient.cpp:
2767         (WebCore::ServiceWorkerWindowClient::focus):
2768         (WebCore::ServiceWorkerWindowClient::navigate):
2769         * workers/service/context/ServiceWorkerDebuggable.h:
2770         * workers/service/context/ServiceWorkerFetch.cpp:
2771         (WebCore::ServiceWorkerFetch::dispatchFetchEvent):
2772         * workers/service/server/RegistrationDatabase.cpp:
2773         (WebCore::RegistrationDatabase::doPushChanges):
2774         (WebCore::RegistrationDatabase::importRecords):
2775         * workers/service/server/SWServerJobQueue.cpp:
2776         (WebCore::SWServerJobQueue::runRegisterJob):
2777         (WebCore::SWServerJobQueue::runUnregisterJob):
2778         (WebCore::SWServerJobQueue::runUpdateJob):
2779         * xml/XMLErrors.cpp:
2780         (WebCore::createXHTMLParserErrorHeader):
2781         (WebCore::XMLErrors::insertErrorMessageBlock):
2782         * xml/XMLHttpRequest.cpp:
2783         (WebCore::XMLHttpRequest::send):
2784         (WebCore::XMLHttpRequest::responseMIMEType const):
2785         * xml/XMLTreeViewer.cpp:
2786         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2787         * xml/XPathPredicate.cpp:
2788         (WebCore::XPath::evaluatePredicate):
2789         * xml/XPathValue.cpp:
2790         (WebCore::XPath::Value::toString const):
2791         * xml/parser/CharacterReferenceParserInlines.h:
2792         (WebCore::consumeCharacterReference):
2793
2794 2018-06-22  Youenn Fablet  <youenn@apple.com>
2795
2796         Disable WebSocket in WatchOS
2797         https://bugs.webkit.org/show_bug.cgi?id=186931
2798         <rdar://problem/39584458>
2799
2800         Reviewed by Wenson Hsieh.
2801
2802         Add a runtime flag to enable/disable WebSocket.
2803         By default, flag is on for all platforms except for WatchOS.
2804
2805         Test: fast/dom/Window/watchos/websocket/watchos/no-websocket-in-watchos.html
2806
2807         * Modules/websockets/WebSocket.idl:
2808         * page/RuntimeEnabledFeatures.cpp:
2809         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
2810         * page/RuntimeEnabledFeatures.h:
2811         (WebCore::RuntimeEnabledFeatures::setWebSocketEnabled):
2812         (WebCore::RuntimeEnabledFeatures::webSocketEnabled const):
2813
2814 2018-06-22  Woodrow Wang  <woodrow_wang@apple.com>
2815
2816         SubresourceLoader::didFail() should only log message if state is Initialized
2817         https://bugs.webkit.org/show_bug.cgi?id=185124
2818
2819         Reviewed by Daniel Bates.
2820
2821         Functionality does not change. Moved console logging to be 
2822         after checking state of subresource loader. We only need to 
2823         log if the state is initialized. This is consistent with other
2824         functions in the file. We can also remove a null check for the 
2825         frame pointer (m_frame). The superclass ResourceLoader constructor
2826         takes an lvalue reference and initializes m_frame, ensuring
2827         m_frame cannot be null. It is only set to null by 
2828         ResourceLoader::releaseResources(), which is only called after the 
2829         resource finishes loading or fails to load. Thus, in didFail(), 
2830         m_frame must be non-null when we're logging and up until the end of the function.  
2831
2832         * loader/SubresourceLoader.cpp:
2833         (WebCore::SubresourceLoader::didFail):
2834
2835 2018-06-22  Timothy Hatcher  <timothy@apple.com>
2836
2837         Corner of two scroll bars is white with dark mode enabled.
2838         https://bugs.webkit.org/show_bug.cgi?id=186819
2839         rdar://problem/40434350
2840
2841         Reviewed by Tim Horton.
2842
2843         * Configurations/WebCore.xcconfig:
2844         * WebCore.xcodeproj/project.pbxproj:
2845         * inspector/InspectorOverlay.cpp:
2846         (WebCore::InspectorOverlay::paint): Added LocalDefaultSystemAppearance.
2847         * page/Page.h:
2848         * platform/ScrollView.cpp:
2849         (WebCore::ScrollView::paintScrollCorner): Dropped ScrollView argument.
2850         * platform/ScrollbarTheme.h:
2851         (WebCore::ScrollbarTheme::paintScrollCorner): Ditto.
2852         * platform/ScrollbarThemeComposite.cpp:
2853         (WebCore::ScrollbarThemeComposite::paintScrollCorner): Deleted. Default is the same.
2854         * platform/ScrollbarThemeComposite.h:
2855         * platform/mac/LocalDefaultSystemAppearance.h:
2856         * platform/mac/LocalDefaultSystemAppearance.mm:
2857         (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance): Added recursion early return.
2858         (WebCore::LocalDefaultSystemAppearance::~LocalDefaultSystemAppearance): Ditto.
2859         * platform/mac/ScrollbarThemeMac.h:
2860         * platform/mac/ScrollbarThemeMac.mm:
2861         (WebCore::ScrollbarThemeMac::paintScrollCorner): Added.
2862         * rendering/RenderLayer.cpp:
2863         (WebCore::RenderLayer::paintScrollCorner): Call ScrollbarTheme::paintScrollCorner.
2864         * rendering/RenderLayerBacking.cpp:
2865         (WebCore::RenderLayerBacking::paintContents): Added LocalDefaultSystemAppearance.
2866         * rendering/RenderLayerCompositor.cpp:
2867         (WebCore::RenderLayerCompositor::paintContents): Added LocalDefaultSystemAppearance.
2868         * rendering/RenderScrollbarTheme.cpp:
2869         (WebCore::RenderScrollbarTheme::paintScrollCorner): Call ScrollbarTheme::paintScrollCorner.
2870         * rendering/RenderScrollbarTheme.h:
2871         * svg/graphics/SVGImage.cpp:
2872         (WebCore::SVGImage::draw): Added LocalDefaultSystemAppearance.
2873
2874 2018-06-22  Tim Horton  <timothy_horton@apple.com>
2875
2876         Make it possible to add a border around loading or failed-to-load images
2877         https://bugs.webkit.org/show_bug.cgi?id=186614
2878         <rdar://problem/39050152>
2879
2880         Reviewed by Zalan Bujtas.
2881
2882         Tests: http/tests/images/loading-image-border.html
2883                http/tests/images/loading-image-no-border.html
2884
2885         * rendering/RenderImage.cpp:
2886         (WebCore::RenderImage::paintIncompleteImageOutline):
2887         (WebCore::RenderImage::paintReplaced):
2888         * rendering/RenderImage.h:
2889         Factor the missing-image outline out, and - if desired - paint it in
2890         cases where the image is still loading or otherwise pending, not just
2891         when the image fails to load.
2892
2893         * page/Settings.yaml:
2894         * testing/InternalSettings.cpp:
2895         (WebCore::InternalSettings::Backup::Backup):
2896         (WebCore::InternalSettings::Backup::restoreTo):
2897         (WebCore::InternalSettings::setIncompleteImageBorderEnabled):
2898         * testing/InternalSettings.h:
2899         * testing/InternalSettings.idl:
2900         Add and expose a setting to enable the feature.
2901
2902 2018-06-22  Brady Eidson  <beidson@apple.com>
2903
2904         WKURLSchemeHandler doesn't handle sync XHR.
2905         <rdar://problem/40955884> and https://bugs.webkit.org/show_bug.cgi?id=186902
2906
2907         Reviewed by Chris Dumez.
2908
2909         * English.lproj/Localizable.strings:
2910
2911 2018-06-22  Jer Noble  <jer.noble@apple.com>
2912
2913         [Fullscreen] Restore ASSERT_NOT_REACHED() checks in exit fullscreen handler after r231924
2914         https://bugs.webkit.org/show_bug.cgi?id=186945
2915         <rdar://problem/37277469>
2916
2917         Reviewed by Simon Fraser.
2918
2919         * platform/ios/VideoFullscreenInterfaceAVKit.mm:
2920         (VideoFullscreenInterfaceAVKit::exitFullscreen):
2921         (VideoFullscreenInterfaceAVKit::exitFullscreenHandler):
2922         (VideoFullscreenInterfaceAVKit::cleanupFullscreen):
2923
2924 2018-06-22  Per Arne Vollan  <pvollan@apple.com>
2925
2926         Unreviewed build fix on Windows.
2927
2928         * testing/Internals.h:
2929
2930 2018-06-22  Youenn Fablet  <youenn@apple.com>
2931
2932         Incoming G722 doesn't work
2933         https://bugs.webkit.org/show_bug.cgi?id=186307
2934         <rdar://problem/40809745>
2935
2936         Reviewed by Eric Carlson.
2937
2938         WebRTC backends usually does the following:
2939         - Initially call RealtimeIncomingAudioSource with 16KHz data
2940         - Switch to 48KHz when actual data is decoded.
2941         We added a check that was discarding any 16KHz data, but in case of G722, the data remains as 16KHz and is then never read.
2942         The solution is to remove the check that discards 16KHz information.
2943         We then need to fix a bug in AudioTrackPrivateMediaStreamCocoa that was preventing proper handling of change of audio data configuration.
2944
2945         Test: webrtc/audio-peer-connection-g722.html
2946
2947         * platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
2948         (WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):
2949         * platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp:
2950         (WebCore::RealtimeIncomingAudioSourceCocoa::OnData):
2951
2952 2018-06-22  Timothy Hatcher  <timothy@apple.com>
2953
2954         Recalc styles every time defaultAppearance changes.
2955         https://bugs.webkit.org/show_bug.cgi?id=186866
2956         rdar://problem/41309805
2957
2958         Reviewed by Tim Horton.
2959
2960         * page/Page.cpp:
2961         (WebCore::Page::setUseSystemAppearance): Added. Recalc styles and update system colors.
2962         (WebCore::Page::setDefaultAppearance): Added. Ditto.
2963         * page/Page.h:
2964         (WebCore::Page::setUseSystemAppearance): Deleted impl.
2965         (WebCore::Page::setDefaultAppearance): Deleted impl.
2966
2967 2018-06-22  Thibault Saunier  <tsaunier@igalia.com>
2968
2969         [GStreamer] Avoid sending SELECT_STREAM events when nothing changed
2970         https://bugs.webkit.org/show_bug.cgi?id=186678
2971
2972         Reviewed by Philippe Normand.
2973
2974         This avoid extra work in decodebin3 and should work around a crash
2975         in decodebin3 when we send spurious SELECT_STREAM in the mediastream
2976         layout tests.
2977
2978         GStreamer was also missing safe guards in the GstStream APIs which have been
2979         added in gstreamer core in 8833ca942ea21c58c0f63822f0e2b61695b39447
2980         "stream: Add some missing API safe guards".
2981
2982         Should fix following flakes:
2983           - fast/mediastream/MediaStream-video-element-track-stop.html
2984           - fast/mediastream/change-tracks-media-stream-being-played.html
2985
2986         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2987         (WebCore::MediaPlayerPrivateGStreamer::enableTrack):
2988
2989 2018-06-22  Michael Catanzaro  <mcatanzaro@igalia.com>
2990
2991         REGRESSION(r230950): [GTK] WebKit::CoordinatedBackingStoreTile::setBackBuffer(): WebKitWebProcess killed by SIGSEGV (ASSERTION FAILED: it != m_tiles.end())
2992         https://bugs.webkit.org/show_bug.cgi?id=186206
2993
2994         Unreviewed manual rollout of r230950
2995
2996         * platform/graphics/texmap/TextureMapperLayer.h:
2997         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2998         (WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore const):
2999
3000 2018-06-20  Darin Adler  <darin@apple.com>
3001
3002         [Cocoa] Use the isDirectory: variants of NSURL methods more to eliminate unnecessary file system activity
3003         https://bugs.webkit.org/show_bug.cgi?id=186875
3004
3005         Reviewed by Anders Carlsson.
3006
3007         * platform/cocoa/ThemeCocoa.mm:
3008         (WebCore::passKitBundle): Use isDirectory:YES when creating a URL pointing to a framework,
3009         since frameworks are directories.
3010
3011 2018-06-22  Miguel Gomez  <magomez@igalia.com>
3012
3013         [WPE][ThreadedRendering] WPE crashes rendering SVG content when using ThreadedRendering
3014         https://bugs.webkit.org/show_bug.cgi?id=186914
3015
3016         Reviewed by Carlos Garcia Campos.
3017
3018         Add GraphicsContextImpl::clipToImageBuffer() to the interface and the implementors. Forward
3019         the call to GraphicsContext::clipToImageBuffer() to the implementation if possible in the
3020         cairo case.
3021
3022         Covered by existent tests.
3023
3024         * platform/graphics/GraphicsContextImpl.h:
3025         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3026         (WebCore::GraphicsContext::clipToImageBuffer):
3027         * platform/graphics/cairo/GraphicsContextImplCairo.cpp:
3028         (WebCore::GraphicsContextImplCairo::clipToImageBuffer):
3029         * platform/graphics/cairo/GraphicsContextImplCairo.h:
3030         * platform/graphics/displaylists/DisplayListRecorder.cpp:
3031         (WebCore::DisplayList::Recorder::clipToImageBuffer):
3032         * platform/graphics/displaylists/DisplayListRecorder.h:
3033         * platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
3034         (Nicosia::CairoOperationRecorder::clipToImageBuffer):
3035         * platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
3036
3037 2018-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
3038
3039         [CMake] Generated sources depending on SelectorPseudoClassAndCompatibilityElementMap.in are not regenerated
3040         https://bugs.webkit.org/show_bug.cgi?id=186911
3041
3042         Reviewed by Michael Catanzaro.
3043
3044         This is causing test fullscreen/fullscreen-env.html to fail since it was added in r233066 in the bots that
3045         didn't start a clean build. The problem is that the CMake command to generate
3046         SelectorPseudoClassAndCompatibilityElementMap.cpp doesn't depend on
3047         SelectorPseudoClassAndCompatibilityElementMap.in.
3048
3049         * CMakeLists.txt:
3050
3051 2018-06-22  Miguel Gomez  <magomez@igalia.com>
3052
3053         [WPE][ThreadedRendering] WPE crashes rendering some pieces of text when using ThreadedRendering
3054         https://bugs.webkit.org/show_bug.cgi?id=186886
3055
3056         Reviewed by Žan Doberšek.
3057
3058         Modify DisplayList DrawGlyphs element to use a GraphicsContext for replaying. To do so, modify
3059         GraphicsContext::drawGlyphs() API so it doesn't require a FontCascade, and update all the calls
3060         to it.
3061
3062         Covered by existent tests.
3063
3064         * platform/graphics/FontCascade.cpp:
3065         (WebCore::FontCascade::drawGlyphBuffer const):
3066         * platform/graphics/GraphicsContext.cpp:
3067         (WebCore::GraphicsContext::drawGlyphs):
3068         * platform/graphics/GraphicsContext.h:
3069         * platform/graphics/displaylists/DisplayListItems.cpp:
3070         (WebCore::DisplayList::DrawGlyphs::apply const):
3071         * rendering/mathml/MathOperator.cpp:
3072         (WebCore::MathOperator::paintGlyph):
3073         (WebCore::MathOperator::paint):
3074         * rendering/mathml/RenderMathMLToken.cpp:
3075         (WebCore::RenderMathMLToken::paint):
3076
3077 2018-06-15  Jer Noble  <jer.noble@apple.com>
3078
3079         Address fullscreen api CSS env feedback
3080         https://bugs.webkit.org/show_bug.cgi?id=186684
3081
3082         Reviewed by Simon Fraser.
3083
3084         Test: fullscreen/fullscreen-env.html
3085
3086         + Update the phishing alert text to be more explicit about the specific threats
3087           phishing sites represent.
3088         + Make the top inset static, rather than dynamic.
3089         + Add bottom, left, and right insets for completeness.
3090         + Set the fullscreen animation duration as well as delay.
3091         + Notify the page when the controls show and hide.
3092
3093         * English.lproj/Localizable.strings:
3094         * css/CSSSelector.cpp:
3095         (WebCore::CSSSelector::selectorText const):
3096         * css/CSSSelector.h:
3097         * css/SelectorChecker.cpp:
3098         (WebCore::SelectorChecker::checkOne const):
3099         * css/SelectorCheckerTestFunctions.h:
3100         (WebCore::matchesFullScreenControlsHiddenPseudoClass):
3101         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
3102         * cssjit/SelectorCompiler.cpp:
3103         (WebCore::SelectorCompiler::addPseudoClassType):
3104         * dom/ConstantPropertyMap.cpp:
3105         (WebCore::ConstantPropertyMap::nameForProperty const):
3106         (WebCore::ConstantPropertyMap::updateConstantsForFullscreenInsets):
3107         (WebCore::ConstantPropertyMap::didChangeFullscreenInsets):
3108         (WebCore::ConstantPropertyMap::setFullscreenAutoHideDuration):
3109         (WebCore::ConstantPropertyMap::setFullscreenInsetTop): Deleted.
3110         * dom/ConstantPropertyMap.h:
3111         * dom/Document.cpp:
3112         (WebCore::Document::areFullscreenControlsHidden const):
3113         (WebCore::Document::setFullscreenControlsHidden):
3114         * dom/Document.h:
3115         * page/Page.cpp:
3116         (WebCore::Page::setFullscreenInsets):
3117         (WebCore::Page::setFullscreenAutoHideDuration):
3118         (WebCore::Page::setFullscreenControlsHidden):
3119         (WebCore::Page::setFullscreenInsetTop): Deleted.
3120         * page/Page.h:
3121         (WebCore::Page::fullscreenInsets const):
3122         * testing/Internals.cpp:
3123         (WebCore::Internals::resetToConsistentState):
3124         (WebCore::Internals::setFullscreenInsets):
3125         (WebCore::Internals::setFullscreenAutoHideDuration):
3126         (WebCore::Internals::setFullscreenControlsHidden):
3127         (WebCore::Internals::setFullscreenInsetTop): Deleted.
3128         * testing/Internals.h:
3129         * testing/Internals.idl:
3130
3131 2018-06-21  Jer Noble  <jer.noble@apple.com>
3132
3133         [Fullscreen] Page sometimes ends up with an incorrect zoom level after entering fullscreen
3134         https://bugs.webkit.org/show_bug.cgi?id=186822
3135
3136         Reviewed by Simon Fraser.
3137
3138         * dom/Document.cpp:
3139         (WebCore::Document::setOverrideViewportArguments):
3140         (WebCore::Document::updateViewportArguments):
3141         * dom/Document.h:
3142
3143 2018-06-20  Said Abou-Hallawa  <sabouhallawa@apple.com>
3144
3145         RenderSVGInline has to be inline always regardless of its css display value
3146         https://bugs.webkit.org/show_bug.cgi?id=186656
3147
3148         Reviewed by Zalan Bujtas.
3149
3150         According to https://www.w3.org/TR/SVG2/text.html#TextLayout, the <text>
3151         element has to be laid out as if it were a block element and any <tspan>,
3152         <textPath>, <a> and <tref> descendants were inline elements.
3153
3154         If a css rule, which contains the property "display: block;", is applied
3155         to any of children of a <text> element, this property has to be ignored.
3156
3157         We currently ignore this property in RenderSVGInline::updateFromStyle()
3158         by forcing setInline(true). But we do not do the same thing in 
3159         RenderTreeBuilder::normalizeTreeAfterStyleChange(). In fact we allow
3160         making the children of the <text> element to be non-inline. This puts
3161         the render tree in weired state and causes many assertions to fire while
3162         laying out RenderSVGText. 
3163
3164         Test: svg/dom/svg-inline-text-display-block-crash.html
3165
3166         * rendering/updating/RenderTreeBuilder.cpp:
3167         (WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
3168
3169 2018-06-20  Zalan Bujtas  <zalan@apple.com>
3170
3171         Do not reuse generated inline renderer for the first letter.
3172         https://bugs.webkit.org/show_bug.cgi?id=186657
3173         <rdar://problem/41157892>
3174
3175         Reviewed by Simon Fraser.
3176
3177         When the first letter pseudo element is present, we construct a dedicated subtree for its content like this:
3178
3179         <div><span>foobar</span></div> -> with ::first-letter on the <div>
3180         DIV RenderBlock
3181             SPAN RenderInline
3182                 RenderInline (generated wrapper for the first letter content)
3183                     RenderText (fist letter content)
3184                 RenderText (remaining text content)
3185
3186         "display: contents" on the <span> forces us not to construct a RenderInline for the <span> (or just come up with a wrapper at best).
3187         FirstLetter::createRenderers logic needs to check for such cases and pick the correct parent for the first letter subtree accordingly.
3188
3189         Test: fast/text/first-letter-with-display-contents-crash.html
3190               imported/w3c/web-platform-tests/css/css-display/display-contents-first-letter-002.html is not crashing anymore either.
3191
3192         * rendering/updating/RenderTreeBuilderFirstLetter.cpp:
3193         (WebCore::RenderTreeBuilder::FirstLetter::createRenderers):
3194
3195 2018-06-21  Chris Dumez  <cdumez@apple.com>
3196
3197         JSPerformanceObserverCallback creates a GC strongly-referenced Function that is never cleaned up
3198         https://bugs.webkit.org/show_bug.cgi?id=186873
3199         <rdar://problem/41271574>
3200
3201         Reviewed by Simon Fraser.
3202
3203         Add [IsWeakCallback] to PerformanceObserverCallback interface so that the generated
3204         JSPerformanceObserverCallback uses a JSC::Weak instead of a JSC::Strong to store the
3205         js function. To keep the function alive, add [JSCustomMarkFunction] to PerformanceObserver
3206         interface and have its visitAdditionalChildren() visit the callback's js function.
3207         Finally, because we want the callback to still be called even if the JS does not keep
3208         the PerformanceObserver wrapper alive, add [CustomIsReachable] to PerformanceObserver
3209         interface and have its isReachableFromOpaqueRoots() return true if the observer is
3210         registered (i.e. it may need to call the callback in the future).
3211
3212         I have confirmed locally, that the Performance / PerformanceObserver / Document
3213         objects properly get destroyed if I navigate away from a page that had a performance
3214         observer and trigger a memory pressure warning. Also,
3215         `notifyutil -p com.apple.WebKit.showAllDocuments` no longer shows the old document.
3216
3217         Tests: performance-api/performance-observer-callback-after-gc.html
3218                performance-api/performance-observer-no-document-leak.html
3219
3220         * Sources.txt:
3221         * WebCore.xcodeproj/project.pbxproj:
3222         * bindings/js/JSPerformanceObserverCustom.cpp: Added.
3223         (WebCore::JSPerformanceObserver::visitAdditionalChildren):
3224         (WebCore::JSPerformanceObserverOwner::isReachableFromOpaqueRoots):
3225         * bindings/js/ScriptController.cpp:
3226         * page/PerformanceObserver.cpp:
3227         (WebCore::PerformanceObserver::disassociate):
3228         * page/PerformanceObserver.h:
3229         (WebCore::PerformanceObserver::isRegistered const):
3230         (WebCore::PerformanceObserver::callback):
3231         * page/PerformanceObserver.idl:
3232         * page/PerformanceObserverCallback.h:
3233         * page/PerformanceObserverCallback.idl:
3234
3235 2018-06-20  Antoine Quint  <graouts@apple.com>
3236
3237         [Web Animations] Make imported/mozilla/css-animations/test_animation-ready.html pass reliably
3238         https://bugs.webkit.org/show_bug.cgi?id=183830
3239         <rdar://problem/40997539>
3240
3241         Reviewed by Dean Jackson.
3242
3243         The CSS Animations Level 2 spec explains how the Web Animations API and CSS Animations interact and requires
3244         pending styles changes on the target element of a CSS Animation to be flushed when using a Web Animations API
3245         on it in order to ensure that any animation- CSS property is accounted for.
3246
3247         * animation/CSSAnimation.cpp:
3248         (WebCore::CSSAnimation::bindingsStartTime const):
3249         (WebCore::CSSAnimation::setBindingsStartTime):
3250         (WebCore::CSSAnimation::bindingsCurrentTime const):
3251         (WebCore::CSSAnimation::setBindingsCurrentTime):
3252         (WebCore::CSSAnimation::bindingsPlayState const):
3253         (WebCore::CSSAnimation::bindingsPending const):
3254         (WebCore::CSSAnimation::bindingsReady):
3255         (WebCore::CSSAnimation::bindingsFinished):
3256         (WebCore::CSSAnimation::bindingsPlay):
3257         (WebCore::CSSAnimation::bindingsPause):
3258         (WebCore::CSSAnimation::flushPendingStyleChanges const):
3259         * animation/CSSAnimation.h:
3260         * animation/WebAnimation.h:
3261         (WebCore::WebAnimation::bindingsPlayState const):
3262         (WebCore::WebAnimation::bindingsPending const):
3263         (WebCore::WebAnimation::bindingsReady):
3264         (WebCore::WebAnimation::bindingsFinished):
3265         (WebCore::WebAnimation::bindingsPlay):
3266         (WebCore::WebAnimation::bindingsPause):
3267         * animation/WebAnimation.idl:
3268
3269 2018-06-21  Jer Noble  <jer.noble@apple.com>
3270
3271         [Fullscreen] Suspend page (and pause video) while phishing warning is presented
3272         https://bugs.webkit.org/show_bug.cgi?id=186856
3273         <rdar://problem/41212444>
3274
3275         Reviewed by Tim Horton.
3276
3277         Pause the media element when the page is suspended, and unpause when the page resumes.
3278
3279         * html/HTMLMediaElement.cpp:
3280         (WebCore::HTMLMediaElement::HTMLMediaElement):
3281         (WebCore::HTMLMediaElement::suspend):
3282         (WebCore::HTMLMediaElement::resume):
3283         * html/HTMLMediaElement.h:
3284
3285 2018-06-21  Michael Catanzaro  <mcatanzaro@igalia.com>
3286
3287         Bad optional access in WebCore::ContentSecurityPolicySource::portMatches
3288         https://bugs.webkit.org/show_bug.cgi?id=186535
3289
3290         Reviewed by Daniel Bates.
3291
3292         Make sure the ports have explicit values before dereferencing them.
3293
3294         This is hard to test. If the layout test script-src-parsing-implicit-and-explicit-port-number
3295         continues to pass for WebKitLegacy, then I have at least probably not broken anything. To
3296         reproduce the crash in a layout test that I can run, I think I would need to implement
3297         internals.registerDefaultPortForProtocol for modern WebKit, which is too much work for this
3298         crash. Otherwise, we'd need to run the test server on port 80, which would be unfriendly.
3299
3300         * page/csp/ContentSecurityPolicySource.cpp:
3301         (WebCore::ContentSecurityPolicySource::portMatches const):
3302
3303 2018-06-21  Fujii Hironori  <Hironori.Fujii@sony.com>
3304
3305         [GStreamer] ASSERTION FAILED: end.isValid() in PlatformTimeRanges::add
3306         https://bugs.webkit.org/show_bug.cgi?id=186880
3307
3308         Reviewed by Xabier Rodriguez-Calvar.
3309
3310         Bug 180253 has added assertions the arugments `start` and `end` is
3311         valid MediaTime in PlatformTimeRanges::add. Since then, some
3312         LayoutTests fail due to the assertion failure.
3313
3314         The invalid MediaTime is added into the PlatformTimeRanges in
3315         MediaPlayerPrivateGStreamer::buffered. Before adding MediaTime,
3316         original implementation checks MediaTime::operator bool() returns
3317         true. But, this method returns true if the time value is invalid.
3318         Then, PlatformTimeRanges::add is called with an invalid MediaTime.
3319
3320         No new tests (No behavior change).
3321
3322         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3323         (WebCore::MediaPlayerPrivateGStreamer::buffered const): Check
3324         maxTimeLoaded() is valid before adding to `timeRanges`.
3325
3326 2018-06-20  David Kilzer  <ddkilzer@apple.com>
3327
3328         Fix leaks in WebCore found by clang static analyzer in deep mode
3329         <https://webkit.org/b/186865>
3330
3331         Reviewed by Joseph Pecoraro.
3332
3333         * platform/mac/WebCoreNSURLExtras.mm:
3334         (WebCore::mapHostNames): Fix leak of an empty NSMutableArray
3335         during an early return.  RetainPtr<> is not used here since
3336         a pointer to the NSMutableArray * is passed around.
3337         * platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
3338         (WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream):
3339         Fix leak of a CGDisplayModeRef during an early return.
3340
3341 2018-06-20  Wenson Hsieh  <wenson_hsieh@apple.com>
3342
3343         Unreviewed, fix the watchOS build after r233016.
3344
3345         * page/EventHandler.cpp:
3346         (WebCore::EventHandler::selectionExtentRespectingEditingBoundary):
3347
3348         Move this helper out of the ENABLE(DRAG_SUPPORT) guard.
3349
3350         * page/EventHandler.h:
3351
3352 2018-06-20  Simon Fraser  <simon.fraser@apple.com>
3353
3354         AnimationList wastes 60KB of vector capacity
3355         https://bugs.webkit.org/show_bug.cgi?id=186701
3356
3357         Reviewed by Chris Dumez.
3358
3359         AnimationList was the second most wasteful call site for Vector capacity on theverge.com,
3360         wasting almost 60KB. Lists had between 1 and 3 entries, so give AnimationList's vector of
3361         Animations a min capacity of zero so it doesn't grow in increments of 16.
3362         
3363         Also shrink Animation from 88 bytes to 72 bytes by optimizing packing.
3364
3365         * platform/animation/Animation.cpp:
3366         (WebCore::Animation::Animation):
3367         (WebCore::Animation::operator=):
3368         (WebCore::Animation::animationsMatch const):
3369         * platform/animation/Animation.h:
3370         (WebCore::Animation::animationMode const):
3371         (WebCore::Animation::setAnimationMode):
3372         * platform/animation/AnimationList.h:
3373
3374 2018-06-20  Simon Fraser  <simon.fraser@apple.com>
3375
3376         ContentSecurityPolicySourceList wastes 51KB of Vector capacity on cnn.com
3377         https://bugs.webkit.org/show_bug.cgi?id=186706
3378
3379         Reviewed by Chris Dumez.
3380
3381         Make ContentSecurityPolicySourceList::parse() call shrinkToFit() on m_list
3382         after parsing to eliminate wasted vector capacity.
3383         
3384         Shrink ContentSecurityPolicySource down to 40 bytes by optimizing packing.
3385
3386         * page/csp/ContentSecurityPolicySource.cpp:
3387         (WebCore::ContentSecurityPolicySource::ContentSecurityPolicySource):
3388         * page/csp/ContentSecurityPolicySource.h:
3389         * page/csp/ContentSecurityPolicySourceList.cpp:
3390         (WebCore::ContentSecurityPolicySourceList::matches const):
3391         (WebCore::ContentSecurityPolicySourceList::parse):
3392         (WebCore::ContentSecurityPolicySourceList::matches): Deleted.
3393         * page/csp/ContentSecurityPolicySourceList.h:
3394
3395 2018-06-20  Megan Gardner  <megan_gardner@apple.com>
3396
3397         Restrict Selection in contenteditable the extent of that contenteditable
3398         https://bugs.webkit.org/show_bug.cgi?id=186792
3399
3400         Reviewed by Wenson Hsieh.
3401
3402         My system currently will not allow me to run tests. I will add one when I can update.
3403
3404         Expose the already existing funcitonality to restrict a selection to a single contentenditable
3405
3406         * page/EventHandler.cpp:
3407         (WebCore::EventHandler::selectionExtentRespectingEditingBoundary):
3408         (WebCore::selectionExtentRespectingEditingBoundary): Deleted.
3409         * page/EventHandler.h:
3410         * rendering/HitTestResult.h:
3411
3412 2018-06-20  Simon Fraser  <simon.fraser@apple.com>
3413
3414         CSSFontFace wastes 59KB of Vector capacity on nytimes.com
3415         https://bugs.webkit.org/show_bug.cgi?id=186708
3416
3417         Reviewed by Anders Carlsson.
3418
3419         Most CSSFontFace have one or two CSSFontFaceSource so don't allocate
3420         vector capacity in the default 16-size chunks.
3421
3422         * css/CSSFontFace.h:
3423
3424 2018-06-20  Antoine Quint  <graouts@apple.com>
3425
3426         [Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably
3427         https://bugs.webkit.org/show_bug.cgi?id=183841
3428         <rdar://problem/40998101>
3429
3430         Reviewed by Dean Jackson.
3431
3432         We must ignore CSS Animations with "animation-name: none".
3433
3434         * animation/AnimationTimeline.cpp:
3435         (WebCore::AnimationTimeline::updateCSSAnimationsForElement):
3436
3437 2018-06-20  Miguel Gomez  <magomez@igalia.com>
3438
3439         [GTK][ThreadedRendering][Nicosia] Themed elements cannot be rendered using threaded rendering
3440         https://bugs.webkit.org/show_bug.cgi?id=186840
3441
3442         Reviewed by Carlos Garcia Campos.
3443
3444         Disable threaded rendering for GTK port.
3445
3446         * platform/graphics/nicosia/NicosiaPaintingEngine.cpp:
3447         (Nicosia::PaintingEngine::create):
3448
3449 2018-06-20  Yusuke Suzuki  <utatane.tea@gmail.com>
3450
3451         [GTK][WPE][Nicosia] Add name for Nicosia Painting Threads
3452         https://bugs.webkit.org/show_bug.cgi?id=186836
3453
3454         Reviewed by Carlos Garcia Campos.
3455
3456         Use "PaintingThread" name.
3457
3458         * platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:
3459         (Nicosia::PaintingEngineThreaded::PaintingEngineThreaded):
3460
3461 2018-06-19  Antoine Quint  <graouts@apple.com>
3462
3463         [Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably
3464         https://bugs.webkit.org/show_bug.cgi?id=183818
3465         <rdar://problem/40997015>
3466
3467         Reviewed by Dean Jackson.
3468
3469         We add a new opt-in flag to return sorted animations when calling AnimationTimeline::animationsForElement() so that
3470         Element::getAnimations() can opt into returning animations sorted by the rules defined by the CSS Transitions spec.
3471         The rule is that CSS Transitions must be sorted prior to CSS Animations and regular Web Animations, and then sorted
3472         by the time they were generated and, if generated at the same time, sorted alphabetically based on the transitioned
3473         property. To be able to accomodate this, we add a new generationTime() method to CSSTransition.
3474
3475         * animation/AnimationTimeline.cpp:
3476         (WebCore::AnimationTimeline::animationsForElement const):
3477         (WebCore::AnimationTimeline::updateCSSTransitionsForElement):
3478         * animation/AnimationTimeline.h:
3479         * animation/CSSTransition.cpp:
3480         (WebCore::CSSTransition::create):
3481         (WebCore::CSSTransition::CSSTransition):
3482         * animation/CSSTransition.h:
3483         * dom/Element.cpp:
3484         (WebCore::Element::getAnimations):
3485
3486 2018-06-19  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3487
3488         [Curl] Allow passing contents of Root CA data directly.
3489         https://bugs.webkit.org/show_bug.cgi?id=185782
3490
3491         Currently the data must be in a file and set by its path. This patch
3492         allow application to set root CA data by passing binary data directly.
3493
3494         Reviewed by Yusuke Suzuki.
3495
3496         No new tests. Tested internally.
3497
3498         * platform/network/curl/CurlRequest.cpp:
3499         (WebCore::CurlRequest::setupTransfer):
3500         * platform/network/curl/CurlSSLHandle.cpp:
3501         (WebCore::CurlSSLHandle::CurlSSLHandle):
3502         (WebCore::CurlSSLHandle::getCACertPathEnv):
3503         (WebCore::CurlSSLHandle::setCACertPath):
3504         (WebCore::CurlSSLHandle::setCACertData):
3505         (WebCore::CurlSSLHandle::clearCACertInfo):
3506         * platform/network/curl/CurlSSLHandle.h:
3507         (WebCore::CurlSSLHandle::getCipherList const):
3508         (WebCore::CurlSSLHandle::getSignatureAlgorithmsList const):
3509         (WebCore::CurlSSLHandle::getCurvesList const):
3510         (WebCore::CurlSSLHandle::setCipherList):
3511         (WebCore::CurlSSLHandle::setSignatureAlgorithmsList):
3512         (WebCore::CurlSSLHandle::setCurvesList):
3513         (WebCore::CurlSSLHandle::setIgnoreSSLErrors):
3514         (WebCore::CurlSSLHandle::getCACertInfo const):
3515         (WebCore::CurlSSLHandle::getCACertPath const): Deleted.
3516         (WebCore::CurlSSLHandle::setCACertPath): Deleted.
3517         * platform/network/curl/CurlSSLVerifier.cpp:
3518         (WebCore::CurlSSLVerifier::CurlSSLVerifier):
3519
3520 2018-06-19  Dean Jackson  <dino@apple.com>
3521
3522         ARKit badge drop shadow updates its blur radius based on page zoom
3523         https://bugs.webkit.org/show_bug.cgi?id=186829
3524         <rdar://problem/40738779>
3525
3526         Reviewed by Tim Horton.
3527
3528         We need to make sure the shadow blur radius takes into account the
3529         current zoom. Thankfully, the GraphicsContext platform code already
3530         does this, so just use it.
3531
3532         * rendering/RenderThemeIOS.mm:
3533         (WebCore::RenderThemeIOS::paintSystemPreviewBadge):
3534
3535 2018-06-19  Dean Jackson  <dino@apple.com>
3536
3537         Blank viewer comes up and then auto-dismisses when device is not connected to Internet
3538         https://bugs.webkit.org/show_bug.cgi?id=186825
3539         <rdar://problem/40294170>
3540
3541         Reviewed by Tim Horton.
3542
3543         Export isSuccessful() to WebKit.
3544
3545         * platform/network/ResourceResponseBase.h:
3546
3547 2018-06-19  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3548
3549         [Curl] Enable Proxy Authentication.
3550         https://bugs.webkit.org/show_bug.cgi?id=185266
3551
3552         Add support for Proxy Authentication to curl network layer.
3553
3554         Reviewed by Alex Christensen.
3555
3556         No new tests in public. Tested internally.
3557
3558         * platform/network/curl/AuthenticationChallenge.h:
3559         * platform/network/curl/AuthenticationChallengeCurl.cpp:
3560         (WebCore::AuthenticationChallenge::protectionSpaceServerTypeFromURI):
3561         (WebCore::AuthenticationChallenge::protectionSpaceFromHandle):
3562         (WebCore::AuthenticationChallenge::determineProxyPort):
3563         (WebCore::AuthenticationChallenge::authenticationSchemeFromCurlAuth):
3564         (WebCore::AuthenticationChallenge::parseRealm):
3565         * platform/network/curl/CurlContext.cpp:
3566         (WebCore::CurlHandle::enableProxyIfExists):
3567         (WebCore::CurlHandle::getProxyUrl):
3568         (WebCore::CurlHandle::getProxyAuthAvail):
3569         (WebCore::CurlHandle::getPrimaryPort): Deleted.
3570         * platform/network/curl/CurlContext.h:
3571         (WebCore::CurlContext::setDefaultProxyAuthMethod):
3572         (WebCore::CurlContext::setProxyAuthMethod):
3573         * platform/network/curl/CurlProxySettings.cpp:
3574         (WebCore::determineAuthMethod):
3575         (WebCore::CurlProxySettings::setAuthMethod):
3576         (WebCore::protocolIsInSocksFamily):
3577         * platform/network/curl/CurlProxySettings.h:
3578         (WebCore::CurlProxySettings::setDefaultAuthMethod):
3579         (WebCore::CurlProxySettings::authMethod const):
3580         * platform/network/curl/CurlRequest.cpp:
3581         (WebCore::CurlRequest::didReceiveHeader):
3582         * platform/network/curl/CurlResponse.h:
3583         (WebCore::CurlResponse::isolatedCopy const):
3584         * platform/network/curl/ResourceResponse.h:
3585         * platform/network/curl/ResourceResponseCurl.cpp:
3586         (WebCore::ResourceResponse::isProxyAuthenticationRequired const):
3587
3588 2018-06-19  Tim Horton  <timothy_horton@apple.com>
3589
3590         Unpainted area while scrolling in Reader is white
3591         https://bugs.webkit.org/show_bug.cgi?id=186541
3592         <rdar://problem/40471363>
3593
3594         Reviewed by Timothy Hatcher.
3595
3596         New test: tiled-drawing/simple-document-with-dynamic-background-color.html
3597
3598         For platforms that do not use the overhang layer, we depend on
3599         RenderView's background color to fill unpainted space.
3600
3601         RenderView's background color is only updated inside updateRootLayerConfiguration,
3602         and it is possible with a simple enough page to change the document's
3603         background color without running that code.
3604
3605         * page/FrameView.cpp:
3606         (WebCore::FrameView::setTransparent):
3607         (WebCore::FrameView::setBaseBackgroundColor):
3608         Make use of the newly added rootBackgroundColorOrTransparencyChanged.
3609
3610         (WebCore::FrameView::calculateExtendedBackgroundMode const):
3611         Update a comment, since the function it mentioned is no longer.
3612
3613         (WebCore::FrameView::updateTilesForExtendedBackgroundMode):
3614         Remove this code that clears the root extended background color
3615         if using tiles to extend in both directions. Two reasons:
3616         1) it seems harmless to also have a root extended background color
3617         2) this just gets clobbered by the call in RenderView::paintBoxDecorations
3618
3619         * rendering/RenderLayerCompositor.cpp:
3620         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3621         Add a bit that will do a updateConfiguration() on the root layer if no
3622         other work needs to be done, so that we can update the root layer's
3623         transparency or background color without doing a full layer rebuild.
3624
3625         (WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):
3626         Make use of the newly added rootBackgroundColorOrTransparencyChanged.
3627
3628         (WebCore::RenderLayerCompositor::rootBackgroundColorOrTransparencyChanged):
3629         Change rootBackgroundTransparencyChanged to also cover color changes.
3630         Fold setRootExtendedBackgroundColor in here, and make use of
3631         setRootLayerConfigurationNeedsUpdate() instead of doing a full rebuild.
3632         Previously, we would bail if the transparency state hadn't changed;
3633         now, we'll also update the root layer's background color and the
3634         exposed-to-WebKit extended background color if they change too.
3635
3636         (WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged): Deleted.
3637         (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor): Deleted.
3638
3639         * rendering/RenderLayerCompositor.h:
3640         Add setRootLayerConfigurationNeedsUpdate, remove setRootExtendedBackgroundColor,
3641         and add both a bit indicating that the root layer configuration needs updating
3642         and the cached view background color to make the early return in
3643         rootBackgroundColorOrTransparencyChanged possible.
3644
3645         * rendering/RenderView.cpp:
3646         (WebCore::RenderView::paintBoxDecorations):
3647         Make use of the newly added rootBackgroundColorOrTransparencyChanged.
3648
3649 2018-06-19  Youenn Fablet  <youenn@apple.com>
3650
3651         Need to properly handle removal of worker in SWServer::unregisterServiceWorkerClient timer lambda
3652         https://bugs.webkit.org/show_bug.cgi?id=186674
3653         <rdar://problem/40974812>
3654
3655         Reviewed by Chris Dumez.
3656
3657         While looping over the running workers map and trying to terminate some of the workers,
3658         there is a chance that the map will be modified synchronously which may affect iterating the map.
3659         This patch removes that potential threat.
3660
3661         * workers/service/server/SWServer.cpp:
3662         (WebCore::SWServer::unregisterServiceWorkerClient):
3663
3664 2018-06-19  Antoine Quint  <graouts@apple.com>
3665
3666         [Web Animations] Make imported/mozilla/css-animations/test_animation-playstate.html pass reliably
3667         https://bugs.webkit.org/show_bug.cgi?id=183828
3668         <rdar://problem/40997469>
3669
3670         Reviewed by Dean Jackson.
3671
3672         We need to ensure pending styles have been resolved prior to returning the play state for a CSS Animation since
3673         it can be controlled by the animation-play-state CSS property. To that end we expose a specific bindings-only
3674         method which we override for CSSAnimation to force a style update.
3675
3676         * animation/CSSAnimation.cpp:
3677         (WebCore::CSSAnimation::bindingsPlayState const):
3678         * animation/CSSAnimation.h:
3679         * animation/WebAnimation.h:
3680         (WebCore::WebAnimation::bindingsPlayState const):
3681         * animation/WebAnimation.idl:
3682
3683 2018-06-19  David Kilzer  <ddkilzer@apple.com>
3684
3685         Revert: Add logging when splashboardd enables WebThread
3686         <https://webkit.org/b/186793>
3687         <rdar://problem/41213255>
3688
3689         Turns out this isn't needed, so reverting r232959.
3690
3691         * platform/RuntimeApplicationChecks.h:
3692         * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
3693         (WebCore::IOSApplication::isSplashBoardd): Deleted.
3694         * platform/ios/wak/WebCoreThread.mm:
3695         (WebThreadEnable):
3696
3697 2018-06-19  Wenson Hsieh  <wenson_hsieh@apple.com>
3698
3699         [WebKit on watchOS] Vend username text content type when using scribble in login fields
3700         https://bugs.webkit.org/show_bug.cgi?id=186791
3701         <rdar://problem/41226935>
3702
3703         Reviewed by Beth Dakin.
3704
3705         Expose AutofillElements' autofillable username input element. See WebKit ChangeLog for more details.
3706
3707         * editing/ios/AutofillElements.h:
3708         (WebCore::AutofillElements::username const):
3709
3710 2018-06-19  Chris Dumez  <cdumez@apple.com>
3711
3712         WebCoreNSURLSessionDataTaskClient::redirectReceived() calls WebCore on non-main thread
3713         https://bugs.webkit.org/show_bug.cgi?id=186805
3714         <rdar://problem/36960714>
3715
3716         Reviewed by Youenn Fablet.
3717
3718         Make sure WebCoreNSURLSessionDataTaskClient::redirectReceived() dispatches to the main
3719         thread before calling its completion handler. Otherwise, we end up calling into WebCore
3720         on a NSOperationQueue background thread and we crash.
3721
3722         * platform/network/cocoa/WebCoreNSURLSession.mm:
3723         (WebCore::WebCoreNSURLSessionDataTaskClient::redirectReceived):
3724
3725 2018-06-19  Chris Dumez  <cdumez@apple.com>
3726
3727         HTTPHeaderMap wastes 226KB of HashTable capacity on cnn.com
3728         https://bugs.webkit.org/show_bug.cgi?id=186735
3729         <rdar://problem/41189164>
3730
3731         Reviewed by Geoffrey Garen.
3732
3733         Resource requests and responses normally do not have a large amount of HTTP headers
3734         (local testing shows 6 common headers on average and 0.3 uncommon ones).
3735         As a result, move the internal representation of HTTPHeaderMap from HashMaps to
3736         Vectors. Given the number of headers, the impact on performance should be negligible.
3737         However, the new implementation uses a lot less memory. In a follow-up, we can save
3738         even more memory by calling HTTPHeaderMap::shrinkToFit() when possible.
3739
3740         * loader/CrossOriginAccessControl.cpp:
3741         (WebCore::createAccessControlPreflightRequest):
3742         * loader/DocumentLoader.cpp:
3743         (WebCore::DocumentLoader::responseReceived):
3744         * loader/cache/CachedRawResource.cpp:
3745         (WebCore::CachedRawResource::canReuse const):
3746         * platform/network/HTTPHeaderMap.cpp:
3747         (WebCore::HTTPHeaderMap::isolatedCopy const):
3748         (WebCore::HTTPHeaderMap::get const):
3749         (WebCore::HTTPHeaderMap::set):
3750         (WebCore::HTTPHeaderMap::add):
3751         (WebCore::HTTPHeaderMap::append):
3752         (WebCore::HTTPHeaderMap::addIfNotPresent):
3753         (WebCore::HTTPHeaderMap::contains const):
3754         (WebCore::HTTPHeaderMap::remove):
3755         * platform/network/HTTPHeaderMap.h:
3756         (WebCore::HTTPHeaderMap::CommonHeader::isolatedCopy const):
3757         (WebCore::HTTPHeaderMap::CommonHeader::operator== const):
3758         (WebCore::HTTPHeaderMap::UncommonHeader::isolatedCopy const):
3759         (WebCore::HTTPHeaderMap::UncommonHeader::operator== const):
3760         (WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::HTTPHeaderMapConstIterator):
3761         (WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::updateKeyValue):
3762         (WebCore::HTTPHeaderMap::shrinkToFit):
3763         (WebCore::HTTPHeaderMap::commonHeaders const):
3764         (WebCore::HTTPHeaderMap::uncommonHeaders const):
3765         (WebCore::HTTPHeaderMap::commonHeaders):
3766         (WebCore::HTTPHeaderMap::uncommonHeaders):
3767         (WebCore::HTTPHeaderMap::CommonHeader::encode const):
3768         (WebCore::HTTPHeaderMap::CommonHeader::decode):
3769         (WebCore::HTTPHeaderMap::UncommonHeader::encode const):
3770         (WebCore::HTTPHeaderMap::UncommonHeader::decode):
3771         (WebCore::HTTPHeaderMap::encode const):
3772         (WebCore::HTTPHeaderMap::decode):
3773         * platform/network/ResourceResponseBase.cpp:
3774         (WebCore::ResourceResponseBase::filter):
3775         (WebCore::ResourceResponseBase::sanitizeHTTPHeaderFields):
3776
3777 2018-06-19  Youenn Fablet  <youenn@apple.com>
3778
3779         Network Preflights do not show in WebInspector after moving CORS checks to NetworkProcess
3780         https://bugs.webkit.org/show_bug.cgi?id=186312
3781         <rdar://problem/40495434>
3782
3783         Reviewed by Chris Dumez.
3784
3785         Test: http/wpt/fetch/inspect-preflight.html
3786
3787         No change of behavior in regular conditions.
3788         All intermediate requests/responses are now buffered in NetworkProcess if Web inspector shows up.
3789         Add NetworkLoadInformation and NetworkIntermediateLoadInformation for that purpose.
3790
3791         Add a new LoaderStrategy method to grab this information from NetworkProcess synchronously.
3792         Add Internals API for testing the storage by the Network Process and the sending to WebProcess.
3793
3794         * WebCore.xcodeproj/project.pbxproj:
3795         * loader/LoaderStrategy.cpp:
3796         (WebCore::LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):
3797         * loader/LoaderStrategy.h:
3798         * platform/network/NetworkLoadInformation.h: Added.
3799         (WebCore::NetworkTransactionInformation::encode const):
3800         (WebCore::NetworkTransactionInformation::decode):
3801         * testing/Internals.cpp:
3802         (WebCore::Internals::setCaptureExtraNetworkLoadMetricsEnabled):
3803         (WebCore::Internals::ongoingLoadDescriptions):
3804         * testing/Internals.h:
3805         * testing/Internals.idl:
3806
3807 2018-06-19  Antoine Quint  <graouts@apple.com>
3808
3809         [Web Animations] Make imported/mozilla/css-transitions/test_animation-cancel.html pass reliably
3810         https://bugs.webkit.org/show_bug.cgi?id=183821
3811         <rdar://problem/40997034>
3812
3813         Reviewed by Dean Jackson.
3814
3815         If an element gets a "display: none" style RenderTreeUpdater::tearDownRenderers() will be called with a RendererUpdateCancelingAnimations
3816         teardown type on all of its children. We need to ensure all declarative animations, and only those since regular Web Animations should be
3817         kept active regardless of their target's style, are canceled in this situation.
3818
3819         * animation/AnimationTimeline.cpp:
3820         (WebCore::AnimationTimeline::cancelDeclarativeAnimationsForElement):
3821         * animation/AnimationTimeline.h:
3822         * rendering/updating/RenderTreeUpdater.cpp:
3823         (WebCore::RenderTreeUpdater::tearDownRenderers):
3824
3825 2018-06-19  David Kilzer  <ddkilzer@apple.com>
3826
3827         Add logging when splashboardd enables WebThread
3828         <https://webkit.org/b/186793>
3829         <rdar://problem/41213255>
3830
3831         Reviewed by Daniel Bates.
3832
3833         * platform/RuntimeApplicationChecks.h:
3834         (WebCore::IOSApplication::isSplashBoardd): Add declaration.
3835         * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
3836         (WebCore::IOSApplication::isSplashBoardd): Add implementation.
3837         * platform/ios/wak/WebCoreThread.mm:
3838         (WebThreadEnable): Call RELEASE_LOG_FAULT() if this is called by
3839         splashboardd.
3840
3841 2018-06-19  Miguel Gomez  <magomez@igalia.com>
3842
3843         [GTK][WPE][Nicosia] Add environment variable to enable threaded rendering and set the number of painting threads
3844         https://bugs.webkit.org/show_bug.cgi?id=186801
3845
3846         Reviewed by Carlos Garcia Campos.
3847
3848         Add and environment variable to enable the usage of the threaded renderer and define the number
3849         of painting threads.
3850
3851         No new tests.
3852
3853         * platform/graphics/nicosia/NicosiaPaintingEngine.cpp:
3854         (Nicosia::PaintingEngine::create):
3855         * platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:
3856         (Nicosia::PaintingEngineThreaded::PaintingEngineThreaded):
3857         * platform/graphics/nicosia/NicosiaPaintingEngineThreaded.h:
3858
3859 2018-06-19  Youenn Fablet  <youenn@apple.com>
3860
3861         RTCRtpSender.replaceTrack(null) ends current track
3862         https://bugs.webkit.org/show_bug.cgi?id=184911
3863         <rdar://problem/40758138>
3864
3865         Reviewed by Eric Carlson.
3866
3867         Before the patch, when replacing the sender track by null, the previous track was stopped.
3868         Instead of doing that, the track now stays alive and it is the realtime source that is stopped.
3869         This ensures that the data is no longer sent while the track can still be used elsewhere.
3870
3871         Covered by updated and rebased tests.
3872
3873         * Modules/mediastream/PeerConnectionBackend.h:
3874         * Modules/mediastream/RTCPeerConnection.cpp:
3875         (WebCore::RTCPeerConnection::addTransceiver):
3876         (WebCore::RTCPeerConnection::enqueueReplaceTrackTask):
3877         (WebCore::RTCPeerConnection::replaceTrack):
3878         * Modules/mediastream/RTCPeerConnection.h:
3879         * Modules/mediastream/RTCRtpSender.cpp:
3880         (WebCore::RTCRtpSender::replaceTrack):
3881         * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
3882         (WebCore::updateTrackSource):
3883         (WebCore::LibWebRTCPeerConnectionBackend::replaceTrack):
3884         * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
3885
3886 2018-06-18  Chris Dumez  <cdumez@apple.com>
3887
3888         Better pack ResourceRequest
3889         https://bugs.webkit.org/show_bug.cgi?id=186717
3890
3891         Reviewed by Darin Adler.
3892
3893         Better pack ResourceRequest to reduce its size from 240 to 232 bytes
3894         on Mac.
3895
3896         * platform/network/ResourceRequestBase.h:
3897
3898 2018-06-18  Antoine Quint  <graouts@apple.com>
3899
3900         [Web Animations] Implement "Starting of transitions" section from CSS Transitions
3901         https://bugs.webkit.org/show_bug.cgi?id=186517
3902         <rdar://problem/41000798>
3903
3904         Reviewed by Dean Jackson.
3905
3906         We implement the whole section at https://drafts.csswg.org/css-transitions-1/#starting so that we have spec-compliant starting of CSS Transitions.
3907         To correctly implement this we now maintain two maps of transitions for a given property, a set of running transitions (m_elementToRunningCSSTransitionByCSSPropertyID)
3908         and a set of completed transition (m_elementToCompletedCSSTransitionByCSSPropertyID).
3909
3910         * animation/AnimationTimeline.cpp:
3911         (WebCore::removeCSSTransitionFromMap): Add a utility to remove a CSSTransition from one of the two HashMap<Element*, HashMap<CSSPropertyID, RefPtr<CSSTransition>>>
3912         managed by AnimationTimeline (m_elementToRunningCSSTransitionByCSSPropertyID and m_elementToCompletedCSSTransitionByCSSPropertyID).
3913         (WebCore::AnimationTimeline::animationWasRemovedFromElement): Use the new removeCSSTransitionFromMap() utility.
3914         (WebCore::AnimationTimeline::updateCSSAnimationsForElement): We rename "oldStyle" to "currentStyle" to align with the naming used by updateCSSAnimationsForElement().
3915         We also remove an initial check that has been pushed up to Style::TreeResolver::createAnimatedElementUpdate().
3916         (WebCore::propertyInStyleMatchesValueForTransitionInMap): When running the steps mandated by the spec we often need to check whether a given property has a transition
3917         in an AnimationList that matches the value used in a given RenderStyle.
3918         (WebCore::transitionCombinedDuration): We need to compute the combined duration twice while running the steps mandated by the spec, so we have a dedicated utility.
3919         (WebCore::transitionMatchesProperty): New utility that indicates whether a WebCore::Animation matches a given property, by virtue of targeting it directly, targeting
3920         a shorthand for which this property is a longhand, or targeting "all".
3921         (WebCore::AnimationTimeline::updateCSSTransitionsForElement): This is where all of the new implementation for starting transitions happens. We implement the steps
3922         as they appear in the spec.
3923         (WebCore::shouldBackingAnimationBeConsideredForCSSTransition): Deleted.
3924         * animation/AnimationTimeline.h:
3925         * animation/CSSAnimation.cpp:
3926         (WebCore::CSSAnimation::syncPropertiesWithBackingAnimation): Since only CSS Animations respect the delay and duration values as parsed directly in a WebCore:Animation
3927         object, we move code that was previously in DeclarativeAnimation::syncPropertiesWithBackingAnimation to this method. CSS Transitions set those values based on the
3928         delay and duration parameters passed to CSSTransition::create() and computed in AnimationTimeline::updateCSSTransitionsForElement().
3929         * animation/CSSTransition.cpp:
3930         (WebCore::CSSTransition::create): Since the transition's delay and duration is computed in AnimationTimeline::updateCSSTransitionsForElement(), we now require them
3931         to be passed when creating a CSSTransition and pass those to the new setTimingProperties() function. We also expect a target style and reversing-adjusted start style,
3932         as well as a reversing-shortening factor.
3933         (WebCore::CSSTransition::CSSTransition): 
3934         (WebCore::CSSTransition::resolve): We need to be able to query the last style computed by a call to resolve() from AnimationTimeline::updateCSSTransitionsForElement(),
3935         we subclass this newly-virtual WebAnimation method and clone the style after we blended the property targeted by this transition.
3936         (WebCore::CSSTransition::setTimingProperties): Set the transition delay and duration as provided in the call to create().
3937         (WebCore::CSSTransition::canBeListed const): Fix a crash that was found while working on this bug where we could access a null effect.
3938         (WebCore::CSSTransition::initialize): Deleted.
3939         (WebCore::CSSTransition::matchesBackingAnimationAndStyles const): Deleted.
3940         * animation/CSSTransition.h:
3941         * animation/DeclarativeAnimation.cpp:
3942         (WebCore::DeclarativeAnimation::syncPropertiesWithBackingAnimation): This virtual method now has an empty definition since the timing properties are now only set
3943         for CSSAnimation.
3944         * animation/KeyframeEffectReadOnly.cpp:
3945         (WebCore::KeyframeEffectReadOnly::stylesWouldYieldNewCSSTransitionsBlendingKeyframes const): Deleted.
3946         * animation/KeyframeEffectReadOnly.h:
3947         * animation/WebAnimation.h:
3948         * page/animation/CSSPropertyAnimation.cpp:
3949         (WebCore::AnimationPropertyWrapperBase::canInterpolate const): Since we need to be able to determine whether some property values can be interpolated, we add a new
3950         canInterpolate() method to the base wrapper class so the cases where we can't interpolate values (length with an "auto" type) may return false.
3951         (WebCore::LengthPropertyWrapper::LengthPropertyWrapper): Lengths can only be interpolated if both the start and end values are not "auto".
3952         (WebCore::LengthVariantPropertyWrapper::LengthVariantPropertyWrapper):
3953         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
3954         (WebCore::CSSPropertyAnimation::canPropertyBeInterpolated):
3955         * page/animation/CSSPropertyAnimation.h:
3956         * style/StyleTreeResolver.cpp:
3957         (WebCore::Style::TreeResolver::createAnimatedElementUpdate): Move a check found in both updateCSSAnimationsForElement() and updateCSSTransitionsForElement() to their
3958         shared call site.
3959
3960 2018-06-18  Nan Wang  <n_wang@apple.com>
3961
3962         AX: [macOS] When zoom is enabled, focus doesn't follow text cursor
3963         https://bugs.webkit.org/show_bug.cgi?id=186697
3964