3c948d92e29a05d0ff61a602c3a2459f47349ce1
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2018-05-28  Zalan Bujtas  <zalan@apple.com>
2
3         [LFC] Add formatting context testing codepath in FrameViewLayoutContext
4         https://bugs.webkit.org/show_bug.cgi?id=186036
5
6         Reviewed by Antti Koivisto.
7
8         This is to verify the formatting context layout correctness.
9
10         * layout/LayoutContext.cpp:
11         (WebCore::Layout::LayoutContext::LayoutContext):
12         (WebCore::Layout::LayoutContext::initializeRoot):
13         * layout/LayoutContext.h:
14         (WebCore::Layout::LayoutContext::displayBoxForLayoutBox const):
15         * page/FrameViewLayoutContext.cpp:
16         (WebCore::layoutUsingFormattingContext):
17         (WebCore::FrameViewLayoutContext::layout):
18
19 2018-05-28  Zalan Bujtas  <zalan@apple.com>
20
21         [LFC] Add layout tree verification.
22         https://bugs.webkit.org/show_bug.cgi?id=186018
23
24         Reviewed by Antti Koivisto.
25
26         Compare layout and render tree geometry and output the mismtaching rectangles.
27
28         * Sources.txt:
29         * WebCore.xcodeproj/project.pbxproj: Add missing headers and make then private.
30         * layout/LayoutContext.h:
31         * layout/Verification.cpp: Added.
32         (WebCore::Layout::outputMismatchedBoxInformationIfNeeded):
33         (WebCore::Layout::verifySubtree):
34         (WebCore::Layout::LayoutContext::verifyAndOutputLayoutTree const):
35
36 2018-05-28  Sam Weinig  <sam@webkit.org>
37
38         Modernize SVGRenderStyleDefs.h
39         https://bugs.webkit.org/show_bug.cgi?id=186024
40
41         Reviewed by Daniel Bates.
42
43         Modernized the set of enums in SVGRenderStyleDefs.h and WindRule.h by:
44             - Converting them to enum classes
45             - Renaming them to remove unnecessary prefix 'E's
46             - Renaming values to take advantage of enum class scoping (e.g. StyleDifferenceEqual -> StyleDifference::Equal)
47             - Renaming to match modern conventions (e.g BNONE -> None)
48
49         Modernizes the following enums:
50             SVGPaintType
51             BaselineShift (renamed from EBaselineShift)
52             TextAnchor (renamed from ETextAnchor)
53             ColorInterpolation (renamed from EColorInterpolation)
54             ColorRendering (renamed from EColorRendering)
55             ShapeRendering (renamed from EShapeRendering)
56             GlyphOrientation (renamed from EGlyphOrientation)
57             AlignmentBaseline (renamed from EAlignmentBaseline)
58             DominantBaseline (renamed from EDominantBaseline)
59             VectorEffect (renamed from EVectorEffect)
60             BufferedRendering (renamed from EBufferedRendering)
61             MaskType (renamed from EMaskType)
62             WindRule
63
64         * css/CSSBasicShapes.cpp:
65         (WebCore::buildPathString):
66         (WebCore::buildPolygonString):
67         * css/CSSBasicShapes.h:
68         * css/CSSPrimitiveValueMappings.h:
69         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
70         (WebCore::CSSPrimitiveValue::operator WindRule const):
71         (WebCore::CSSPrimitiveValue::operator AlignmentBaseline const):
72         (WebCore::CSSPrimitiveValue::operator BufferedRendering const):
73         (WebCore::CSSPrimitiveValue::operator ColorInterpolation const):
74         (WebCore::CSSPrimitiveValue::operator ColorRendering const):
75         (WebCore::CSSPrimitiveValue::operator DominantBaseline const):
76         (WebCore::CSSPrimitiveValue::operator ShapeRendering const):
77         (WebCore::CSSPrimitiveValue::operator TextAnchor const):
78         (WebCore::CSSPrimitiveValue::operator VectorEffect const):
79         (WebCore::CSSPrimitiveValue::operator MaskType const):
80         (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline const): Deleted.
81         (WebCore::CSSPrimitiveValue::operator EBufferedRendering const): Deleted.
82         (WebCore::CSSPrimitiveValue::operator EColorInterpolation const): Deleted.
83         (WebCore::CSSPrimitiveValue::operator EColorRendering const): Deleted.
84         (WebCore::CSSPrimitiveValue::operator EDominantBaseline const): Deleted.
85         (WebCore::CSSPrimitiveValue::operator EShapeRendering const): Deleted.
86         (WebCore::CSSPrimitiveValue::operator ETextAnchor const): Deleted.
87         (WebCore::CSSPrimitiveValue::operator EVectorEffect const): Deleted.
88         (WebCore::CSSPrimitiveValue::operator EMaskType const): Deleted.
89         * css/SVGCSSComputedStyleDeclaration.cpp:
90         (WebCore::glyphOrientationToCSSPrimitiveValue):
91         (WebCore::ComputedStyleExtractor::adjustSVGPaintForCurrentColor const):
92         (WebCore::ComputedStyleExtractor::svgPropertyValue):
93         * css/StyleBuilderConverter.h:
94         (WebCore::StyleBuilderConverter::convertGlyphOrientation):
95         (WebCore::StyleBuilderConverter::convertGlyphOrientationOrAuto):
96         * css/StyleBuilderCustom.h:
97         (WebCore::StyleBuilderCustom::applyValueBaselineShift):
98         (WebCore::StyleBuilderCustom::applyValueFill):
99         (WebCore::StyleBuilderCustom::applyValueStroke):
100         * css/parser/CSSPropertyParser.cpp:
101         (WebCore::consumeBasicShapePolygon):
102         (WebCore::consumeBasicShapePath):
103         * html/canvas/CanvasRenderingContext2DBase.cpp:
104         (WebCore::toWindRule):
105         * page/animation/CSSPropertyAnimation.cpp:
106         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
107         * platform/graphics/FloatPolygon.cpp:
108         (WebCore::FloatPolygon::contains const):
109         * platform/graphics/GraphicsContext.cpp:
110         (WebCore::GraphicsContext::fillRectWithRoundedHole):
111         * platform/graphics/GraphicsContext.h:
112         * platform/graphics/GraphicsLayer.cpp:
113         (WebCore::GraphicsLayer::shapeLayerWindRule const):
114         * platform/graphics/GraphicsLayer.h:
115         * platform/graphics/GraphicsTypes.cpp:
116         (WebCore::operator<<):
117         * platform/graphics/Path.h:
118         * platform/graphics/ShadowBlur.cpp:
119         (WebCore::ShadowBlur::drawInsetShadow):
120         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
121         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
122         * platform/graphics/WindRule.h:
123         (): Deleted.
124         * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
125         (PlatformCALayerCocoa::shapeWindRule const):
126         (PlatformCALayerCocoa::setShapeWindRule):
127         * platform/graphics/cg/GraphicsContextCG.cpp:
128         (WebCore::calculateDrawingMode):
129         (WebCore::GraphicsContext::fillPath):
130         (WebCore::GraphicsContext::fillRectWithRoundedHole):
131         (WebCore::GraphicsContext::clipPath):
132         * platform/graphics/cg/PathCG.cpp:
133         (WebCore::Path::contains const):
134         * platform/mock/MockRealtimeVideoSource.cpp:
135         (WebCore::MockRealtimeVideoSource::drawAnimation):
136         * rendering/FilterEffectRenderer.cpp:
137         (WebCore::FilterEffectRenderer::buildReferenceFilter):
138         * rendering/RenderBoxModelObject.cpp:
139         (WebCore::RenderBoxModelObject::paintBorder):
140         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
141         * rendering/RenderElement.cpp:
142         (WebCore::RenderElement::paintOutline):
143         * rendering/RenderLayer.cpp:
144         (WebCore::RenderLayer::computeClipPath const):
145         * rendering/style/BasicShapes.h:
146         (WebCore::BasicShape::windRule const):
147         * rendering/style/RenderStyle.h:
148         (WebCore::RenderStyle::fillPaintType const):
149         (WebCore::RenderStyle::setFillPaintColor):
150         (WebCore::RenderStyle::strokePaintType const):
151         (WebCore::RenderStyle::setStrokePaintColor):
152         * rendering/style/SVGRenderStyle.h:
153         (WebCore::SVGRenderStyle::initialAlignmentBaseline):
154         (WebCore::SVGRenderStyle::initialDominantBaseline):
155         (WebCore::SVGRenderStyle::initialBaselineShift):
156         (WebCore::SVGRenderStyle::initialVectorEffect):
157         (WebCore::SVGRenderStyle::initialBufferedRendering):
158         (WebCore::SVGRenderStyle::initialClipRule):
159         (WebCore::SVGRenderStyle::initialColorInterpolation):
160         (WebCore::SVGRenderStyle::initialColorInterpolationFilters):
161         (WebCore::SVGRenderStyle::initialColorRendering):
162         (WebCore::SVGRenderStyle::initialFillRule):
163         (WebCore::SVGRenderStyle::initialShapeRendering):
164         (WebCore::SVGRenderStyle::initialTextAnchor):
165         (WebCore::SVGRenderStyle::initialGlyphOrientationHorizontal):
166         (WebCore::SVGRenderStyle::initialGlyphOrientationVertical):
167         (WebCore::SVGRenderStyle::initialFillPaintType):
168         (WebCore::SVGRenderStyle::initialStrokePaintType):
169         (WebCore::SVGRenderStyle::initialMaskType):
170         (WebCore::SVGRenderStyle::setAlignmentBaseline):
171         (WebCore::SVGRenderStyle::setDominantBaseline):
172         (WebCore::SVGRenderStyle::setBaselineShift):
173         (WebCore::SVGRenderStyle::setVectorEffect):
174         (WebCore::SVGRenderStyle::setBufferedRendering):
175         (WebCore::SVGRenderStyle::setClipRule):
176         (WebCore::SVGRenderStyle::setColorInterpolation):
177         (WebCore::SVGRenderStyle::setColorInterpolationFilters):
178         (WebCore::SVGRenderStyle::setColorRendering):
179         (WebCore::SVGRenderStyle::setFillRule):
180         (WebCore::SVGRenderStyle::setShapeRendering):
181         (WebCore::SVGRenderStyle::setTextAnchor):
182         (WebCore::SVGRenderStyle::setGlyphOrientationHorizontal):
183         (WebCore::SVGRenderStyle::setGlyphOrientationVertical):
184         (WebCore::SVGRenderStyle::setMaskType):
185         (WebCore::SVGRenderStyle::alignmentBaseline const):
186         (WebCore::SVGRenderStyle::dominantBaseline const):
187         (WebCore::SVGRenderStyle::baselineShift const):
188         (WebCore::SVGRenderStyle::vectorEffect const):
189         (WebCore::SVGRenderStyle::bufferedRendering const):
190         (WebCore::SVGRenderStyle::clipRule const):
191         (WebCore::SVGRenderStyle::colorInterpolation const):
192         (WebCore::SVGRenderStyle::colorInterpolationFilters const):
193         (WebCore::SVGRenderStyle::colorRendering const):
194         (WebCore::SVGRenderStyle::fillRule const):
195         (WebCore::SVGRenderStyle::shapeRendering const):
196         (WebCore::SVGRenderStyle::textAnchor const):
197         (WebCore::SVGRenderStyle::glyphOrientationHorizontal const):
198         (WebCore::SVGRenderStyle::glyphOrientationVertical const):
199         (WebCore::SVGRenderStyle::fillPaintType const):
200         (WebCore::SVGRenderStyle::strokePaintType const):
201         (WebCore::SVGRenderStyle::maskType const):
202         (WebCore::SVGRenderStyle::visitedLinkFillPaintType const):
203         (WebCore::SVGRenderStyle::visitedLinkStrokePaintType const):
204         (WebCore::SVGRenderStyle::hasStroke const):
205         (WebCore::SVGRenderStyle::hasFill const):
206         (WebCore::SVGRenderStyle::setBitDefaults):
207         * rendering/style/SVGRenderStyleDefs.h:
208         (WebCore::StyleFillData::create):
209         (WebCore::StyleFillData::operator!= const):
210         (WebCore::StyleStrokeData::create):
211         (WebCore::StyleStrokeData::operator!= const):
212         (WebCore::StyleStopData::create):
213         (WebCore::StyleStopData::operator!= const):
214         (WebCore::StyleTextData::create):
215         (WebCore::StyleTextData::operator!= const):
216         (WebCore::StyleMiscData::create):
217         (WebCore::StyleMiscData::operator!= const):
218         (WebCore::StyleShadowSVGData::create):
219         (WebCore::StyleShadowSVGData::operator!= const):
220         (WebCore::StyleResourceData::create):
221         (WebCore::StyleResourceData::operator!= const):
222         (WebCore::StyleInheritedResourceData::create):
223         (WebCore::StyleInheritedResourceData::operator!= const):
224         (WebCore::StyleLayoutData::create):
225         (WebCore::StyleLayoutData::operator!= const):
226         (): Deleted.
227         * rendering/svg/RenderSVGImage.cpp:
228         (WebCore::RenderSVGImage::paint):
229         * rendering/svg/RenderSVGRect.cpp:
230         (WebCore::RenderSVGRect::updateShapeFromElement):
231         * rendering/svg/RenderSVGResource.cpp:
232         (WebCore::requestPaintingResource):
233         * rendering/svg/RenderSVGResourceClipper.cpp:
234         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
235         * rendering/svg/RenderSVGResourceFilter.cpp:
236         (WebCore::RenderSVGResourceFilter::buildPrimitives const):
237         * rendering/svg/RenderSVGResourceGradient.cpp:
238         (WebCore::RenderSVGResourceGradient::applyResource):
239         * rendering/svg/RenderSVGResourceMasker.cpp:
240         (WebCore::RenderSVGResourceMasker::applyResource):
241         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
242         * rendering/svg/RenderSVGResourcePattern.cpp:
243         (WebCore::RenderSVGResourcePattern::applyResource):
244         * rendering/svg/RenderSVGShape.cpp:
245         (WebCore::RenderSVGShape::paint):
246         * rendering/svg/RenderSVGShape.h:
247         (WebCore::RenderSVGShape::hasNonScalingStroke const):
248         * rendering/svg/SVGRenderTreeAsText.cpp:
249         (WebCore::writeStyle):
250         (WebCore::writeSVGInlineTextBox):
251         * rendering/svg/SVGResources.cpp:
252         (WebCore::paintingResourceFromSVGPaint):
253         * rendering/svg/SVGTextChunk.cpp:
254         (WebCore::SVGTextChunk::SVGTextChunk):
255         * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
256         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift const):
257         (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline const):
258         (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift const):
259         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle const):
260         * rendering/svg/SVGTextLayoutEngineBaseline.h:
261
262 2018-05-28  Carlos Garcia Campos  <cgarcia@igalia.com>
263
264         [Web Animations] Test webanimations/css-animations.html is crashing
265         https://bugs.webkit.org/show_bug.cgi?id=186031
266
267         Reviewed by Antoine Quint.
268
269         This is another case of std::optional value being used while it's nullopt, I guess this started to fail when we
270         stopped using the WTF implementation of std::optional. The problem is that we try to get the current iteration
271         of a declarative animation when the active time is unresolved.
272
273         * animation/DeclarativeAnimation.cpp:
274         (WebCore::DeclarativeAnimation::invalidateDOMEvents): Use value_or(0) instead of value() to get the current
275         iteration of the effect.
276
277 2018-05-28  Thibault Saunier  <tsaunier@igalia.com>
278
279         [GStreamer] Handle changes in the "drm-preferred-decryption-system-id" NEED_CONTEXT message.
280         https://bugs.webkit.org/show_bug.cgi?id=185948
281
282         Reviewed by Xabier Rodriguez-Calvar.
283
284         - The "stream-encryption-systems" field of the "drm-preferred-decryption-system-id" query was renamed to
285           "avalaible-stream-encryption-systems"
286         - It can now be NULL, meaning there is no decryptor avalaible.
287
288         Tests: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-*
289
290         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
291         (WebCore::extractEventsAndSystemsFromMessage): Handle NULL value for "avalaible-stream-encryption-systems",
292         moved some code to make the order of the Arrays in the pair clearer.
293
294 2018-05-27  Dan Bernstein  <mitz@apple.com>
295
296         Reverted the changes made for https://webkit.org/b/186016
297
298         They broke the USE(APPLE_INTERNAL_SDK) Sierra build.
299
300 2018-05-27  David Kilzer  <ddkilzer@apple.com>
301
302         [iOS] Fix warnings about leaks found by clang static analyzer
303         <https://webkit.org/b/186009>
304         <rdar://problem/40574267>
305
306         Reviewed by Daniel Bates.
307
308         * Modules/webauthn/cocoa/LocalAuthenticator.mm:
309         (WebCore::LocalAuthenticator::makeCredential):
310         (WebCore::LocalAuthenticator::getAssertion):
311         (WebCore::LocalAuthenticator::issueClientCertificate const):
312         - Don't leak CF objects in early return paths, and get rid of
313           `retained*` variables, by making original variables use
314           RetainPtr<>.
315         * bridge/objc/WebScriptObject.mm:
316         (+[WebUndefined allocWithZone:]): Modernize WebUndefined by
317         using NeverDestroyed<RetainPr<WebUndefined>> type.  Explicitly
318         retain the object returned on each call.
319         (+[WebUndefined undefined]): Explicitly autorelease the object
320         returned.  Note that neither of these changes fixes the static
321         analyzer warnings in this source file.
322         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
323         (WebCore::exernalDeviceDisplayNameForPlayer): Use RetainPtr<> to
324         stop leaking NSString objects in a loop.
325         * platform/ios/wak/WAKWindow.h:
326         (-[WAKWindow _newFirstResponderAfterResigning]): Mark as
327         NS_RETURNS_NOT_RETAINED like the corresponding AppKit method
328         since this doesn't return a new object.  This fixes some
329         false-positive leaks warnings.
330
331 2018-05-27  Dan Bernstein  <mitz@apple.com>
332
333         [Cocoa] Avoid importing directly from subumbrella frameworks
334         https://bugs.webkit.org/show_bug.cgi?id=186016
335
336         Reviewed by Sam Weinig.
337
338         * Configurations/WebCore.xcconfig: Removed -iframework options from OTHER_CFLAGS and
339           OTHER_CPLUSPLUSFLAGS.
340         * editing/mac/DictionaryLookup.mm: Import Quartz.h instead of a PDFKit header.
341         * html/HTMLKeygenElement.cpp: Removed "using namespace WebCore" from this WebCore
342           implementation file.
343         * platform/mac/PlatformEventFactoryMac.mm: Import Carbon.h instead of HIToolbox headers.
344         * platform/mac/PlatformScreenMac.mm: Import ApplicationServices.h instead of ColorSync.h
345           when using SDKs earlier than 10.13.
346         * platform/mediastream/CaptureDeviceManager.cpp: Enclosed the definitions in the WebCore
347           namespace and removed "using namespace WebCore" from this WebCore implementation file.
348         * platform/text/mac/TextEncodingRegistryMac.mm: Import Carbon.h instead of CarbonCore.h.
349
350 2018-05-27  Fujii Hironori  <Hironori.Fujii@sony.com>
351
352         REGRESSION(r232198) [WinCairo] cannot convert from 'WTF::StringView' to 'const WTF::String'
353         https://bugs.webkit.org/show_bug.cgi?id=186027
354
355         Unreviewed build fix
356
357         No new tests (No behavior change).
358
359         * platform/network/curl/AuthenticationChallengeCurl.cpp:
360         (WebCore::AuthenticationChallenge::protectionSpaceFromHandle):
361         * platform/network/curl/CurlRequest.cpp:
362         (WebCore::CurlRequest::setupTransfer):
363         (WebCore::CurlRequest::willSetupSslCtx):
364
365 2018-05-27  Sam Weinig  <sam@webkit.org>
366
367         Modernize RenderStyleConstants.h - Part 3
368         https://bugs.webkit.org/show_bug.cgi?id=186015
369
370         Reviewed by Yusuke Suzuki.
371
372         Modernized the third and final set of enums in RenderStyleConstants.h by:
373             - Converting them to enum classes
374             - Renaming them to remove unnecessary prefix 'E's
375             - Renaming values to take advantage of enum class scoping (e.g. StyleDifferenceEqual -> StyleDifference::Equal)
376
377         Modernizes the following enums:
378             TextDecoration
379             TextDecorationSkip (renamed from TextDecorationSkipItems)
380             TextUnderlinePosition
381             HangingPunctuation
382             SpeakAs (renamed from ESpeakAs)
383             TextEmphasisPosition (renamed from TextEmphasisPositions)
384
385         This final set of enums are mostly (TextUnderlinePosition isn't really) used as bitmasks,
386         so this change also converts their uses to use OptionSet. 
387
388         * accessibility/AccessibilityObject.h:
389         (WebCore::AccessibilityObject::speakAsProperty const):
390         * accessibility/AccessibilityRenderObject.cpp:
391         (WebCore::AccessibilityRenderObject::speakAsProperty const):
392         (WebCore::AccessibilityRenderObject::hasPlainText const):
393         (WebCore::AccessibilityRenderObject::hasUnderline const):
394         * accessibility/AccessibilityRenderObject.h:
395         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
396         (AXAttributeStringSetStyle):
397         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
398         (-[WebAccessibilityObjectWrapperBase baseAccessibilitySpeechHint]):
399         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
400         (AXAttributeStringSetStyle):
401         * css/CSSComputedStyleDeclaration.cpp:
402         (WebCore::renderTextDecorationFlagsToCSSValue):
403         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
404         (WebCore::renderEmphasisPositionFlagsToCSSValue):
405         (WebCore::speakAsToCSSValue):
406         (WebCore::hangingPunctuationToCSSValue):
407         * css/CSSLineBoxContainValue.h:
408         * css/CSSPrimitiveValueMappings.h:
409         (WebCore::CSSPrimitiveValue::operator HangingPunctuation const):
410         (WebCore::CSSPrimitiveValue::operator TextDecoration const):
411         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
412         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition const):
413         (WebCore::CSSPrimitiveValue::operator SpeakAs const):
414         (WebCore::CSSPrimitiveValue::operator ESpeakAs const): Deleted.
415         * css/StyleBuilderConverter.h:
416         (WebCore::StyleBuilderConverter::convertTextDecoration):
417         (WebCore::StyleBuilderConverter::valueToEmphasisPosition):
418         (WebCore::StyleBuilderConverter::convertTextEmphasisPosition):
419         (WebCore::StyleBuilderConverter::convertTextUnderlinePosition):
420         (WebCore::StyleBuilderConverter::valueToDecorationSkip):
421         (WebCore::StyleBuilderConverter::convertTextDecorationSkip):
422         (WebCore::StyleBuilderConverter::convertSpeakAs):
423         (WebCore::StyleBuilderConverter::convertHangingPunctuation):
424         * editing/cocoa/EditorCocoa.mm:
425         (WebCore::Editor::getTextDecorationAttributesRespectingTypingStyle const):
426         * editing/cocoa/HTMLConverter.mm:
427         (WebCore::editingAttributedStringFromRange):
428         * rendering/InlineFlowBox.cpp:
429         (WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine const):
430         (WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine const):
431         * rendering/InlineFlowBox.h:
432         * rendering/InlineTextBox.cpp:
433         (WebCore::emphasisPositionHasNeitherLeftNorRight):
434         (WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove const):
435         (WebCore::InlineTextBox::paint):
436         (WebCore::InlineTextBox::paintMarkedTextDecoration):
437         * rendering/RenderBlockFlow.cpp:
438         (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
439         * rendering/RenderBlockLineLayout.cpp:
440         (WebCore::setLogicalWidthForTextRun):
441         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
442         * rendering/RenderElement.cpp:
443         (WebCore::RenderElement::enclosingRendererWithTextDecoration const):
444         * rendering/RenderElement.h:
445         * rendering/RenderTableSection.cpp:
446         (WebCore::RenderTableSection::addCell):
447         * rendering/SimpleLineLayout.cpp:
448         (WebCore::SimpleLineLayout::canUseForStyle):
449         (WebCore::SimpleLineLayout::canUseForWithReason):
450         * rendering/SimpleLineLayoutFunctions.cpp:
451         (WebCore::SimpleLineLayout::paintFlow):
452         * rendering/TextDecorationPainter.cpp:
453         (WebCore::TextDecorationPainter::TextDecorationPainter):
454         (WebCore::TextDecorationPainter::paintTextDecoration):
455         (WebCore::collectStylesForRenderer):
456         (WebCore::TextDecorationPainter::stylesForRenderer):
457         * rendering/TextDecorationPainter.h:
458         * rendering/TextPaintStyle.cpp:
459         (WebCore::computeTextPaintStyle):
460         * rendering/line/BreakingContext.h:
461         (WebCore::BreakingContext::handleText):
462         * rendering/style/RenderStyle.cpp:
463         (WebCore::RenderStyle::RenderStyle):
464         (WebCore::RenderStyle::changeAffectsVisualOverflow const):
465         * rendering/style/RenderStyle.h:
466         (WebCore::RenderStyle::textDecorationsInEffect const):
467         (WebCore::RenderStyle::textDecoration const):
468         (WebCore::RenderStyle::textDecorationSkip const):
469         (WebCore::RenderStyle::hangingPunctuation const):
470         (WebCore::RenderStyle::textEmphasisPosition const):
471         (WebCore::RenderStyle::speakAs const):
472         (WebCore::RenderStyle::addToTextDecorationsInEffect):
473         (WebCore::RenderStyle::setTextDecorationsInEffect):
474         (WebCore::RenderStyle::setTextDecoration):
475         (WebCore::RenderStyle::setTextDecorationSkip):
476         (WebCore::RenderStyle::setSpeakAs):
477         (WebCore::RenderStyle::setTextEmphasisPosition):
478         (WebCore::RenderStyle::setHangingPunctuation):
479         (WebCore::RenderStyle::initialHangingPunctuation):
480         (WebCore::RenderStyle::initialTextDecoration):
481         (WebCore::RenderStyle::initialTextDecorationSkip):
482         (WebCore::RenderStyle::initialTextUnderlinePosition):
483         (WebCore::RenderStyle::initialSpeakAs):
484         (WebCore::RenderStyle::initialTextEmphasisPosition):
485         * rendering/style/RenderStyleConstants.h:
486         (WebCore::operator|): Deleted.
487         (WebCore::operator|=): Deleted.
488         * rendering/style/StyleRareInheritedData.cpp:
489         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
490         * rendering/style/StyleVisualData.cpp:
491         (WebCore::StyleVisualData::StyleVisualData):
492         * rendering/svg/SVGInlineTextBox.cpp:
493         (WebCore::SVGInlineTextBox::paint):
494         (WebCore::positionOffsetForDecoration):
495         (WebCore::thicknessForDecoration):
496         (WebCore::findRendererDefininingTextDecoration):
497         (WebCore::SVGInlineTextBox::paintDecoration):
498         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
499         * rendering/svg/SVGInlineTextBox.h:
500         * style/InlineTextBoxStyle.cpp:
501         (WebCore::computeUnderlineOffset):
502         (WebCore::visualOverflowForDecorations):
503
504 2018-05-26  Zalan Bujtas  <zalan@apple.com>
505
506         [LFC] Implement margin computation
507         https://bugs.webkit.org/show_bug.cgi?id=186008
508
509         Reviewed by Antti Koivisto.
510
511         * WebCore.xcodeproj/project.pbxproj:
512         * layout/FormattingContext.cpp:
513         (WebCore::Layout::FormattingContext::computeMargin const):
514         (WebCore::Layout::FormattingContext::marginTop const): Deleted.
515         (WebCore::Layout::FormattingContext::marginLeft const): Deleted.
516         (WebCore::Layout::FormattingContext::marginBottom const): Deleted.
517         (WebCore::Layout::FormattingContext::marginRight const): Deleted.
518         * layout/FormattingContext.h:
519         * layout/blockformatting/BlockFormattingContext.cpp:
520         (WebCore::Layout::BlockFormattingContext::layout const):
521         (WebCore::Layout::BlockFormattingContext::computeMargin const):
522         (WebCore::Layout::BlockFormattingContext::marginTop const): Deleted.
523         (WebCore::Layout::BlockFormattingContext::marginBottom const): Deleted.
524         * layout/blockformatting/BlockFormattingContext.h:
525         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
526         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeight):
527         (WebCore::Layout::BlockFormattingContext::Geometry::computedMargin):
528         * layout/blockformatting/BlockMarginCollapse.cpp:
529         (WebCore::Layout::_isMarginBottomCollapsedWithParent):
530         (WebCore::Layout::collapsedMarginBottomFromLastChild):
531         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
532         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBottom):
533         (WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginBottomCollapsedWithParent):
534         (WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginTopCollapsedWithParentMarginBottom):
535         (WebCore::Layout::BlockMarginCollapse::marginTop): Deleted.
536         (WebCore::Layout::BlockMarginCollapse::marginBottom): Deleted.
537         (WebCore::Layout::BlockMarginCollapse::isMarginBottomCollapsedWithParent): Deleted.
538         (WebCore::Layout::BlockMarginCollapse::isMarginTopCollapsedWithParentMarginBottom): Deleted.
539         * layout/blockformatting/BlockMarginCollapse.h: Removed.
540
541 2018-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
542
543         [Cocoa] Delete unnecessary WebCascadeList in ComplexTextController
544         https://bugs.webkit.org/show_bug.cgi?id=186007
545
546         Reviewed by Zalan Bujtas.
547
548         Inside ComplexTextController::collectComplexTextRuns(), we chop up text based on which fonts should be
549         used to render which grapheme clusters. For each grapheme cluster, we run through the font-family list
550         in FontCascade::fontForCombiningCharacterSequence() and find the first font that can render the cluster.
551         If no items can render the cluster, we construct a WebCascadeList and let CoreText try to figure out
552         which fonts can render which clusters.
553
554         Except there's no point, because we just determined that no font in the list can be used to render the
555         cluster. CoreText isn't magic; it isn't going to somehow disagree with us. WebCascadeList is just
556         useless code.
557
558         No new tests because there is no behavior change.
559
560         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
561         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
562         (-[WebCascadeList initWithFont:character:]): Deleted.
563         (-[WebCascadeList count]): Deleted.
564         (-[WebCascadeList objectAtIndex:]): Deleted.
565
566 2018-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
567
568         Improve the performance of Font::canRenderCombiningCharacterSequence()
569         https://bugs.webkit.org/show_bug.cgi?id=185933
570
571         Reviewed by Ryosuke Niwa.
572
573         We don't need to create a whole CTLine just to determine whether or not a font supports rendering a grapheme cluster.
574         Instead, the right way to do it is just see if the font's cmap table supports every code point in the cluster.
575
576         This patch reports a 2% progression on the attached PerformanceTest.
577
578         Test: Layout/ComplexLongUnique.html
579
580         * platform/graphics/Font.cpp:
581         (WebCore::Font::canRenderCombiningCharacterSequence const):
582         * platform/graphics/Font.h:
583         * platform/graphics/cocoa/FontCocoa.mm:
584         (WebCore::provideStringAndAttributes): Deleted.
585         (WebCore::Font::canRenderCombiningCharacterSequence const): Deleted.
586         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
587         (WebCore::Font::canRenderCombiningCharacterSequence const): Deleted.
588
589 2018-05-25  Eric Carlson  <eric.carlson@apple.com>
590
591         Captions are sized incorrectly in PiP mode
592         https://bugs.webkit.org/show_bug.cgi?id=186005
593         <rdar://problem/39729718>
594
595         Reviewed by Dean Jackson.
596
597         * html/shadow/MediaControlElements.cpp:
598         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Only sync text track bounds 
599         when the size actually changes.
600
601         * platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.mm:
602         (WebCore::VideoFullscreenLayerManagerObjC::setVideoFullscreenFrame): Call syncTextTrackBounds.
603         (WebCore::VideoFullscreenLayerManagerObjC::syncTextTrackBounds): Set the text track layer size
604         to m_videoFullscreenFrame, it is always set the size of the PiP/Fullscreen layer.
605
606 2018-05-25  Timothy Hatcher  <timothy@apple.com>
607
608         Setting drawsBackground to YES on a WKView doesn't take effect immediately
609         https://bugs.webkit.org/show_bug.cgi?id=185885
610         rdar://problem/39706506
611
612         Reviewed by Simon Fraser.
613
614         * page/Frame.cpp:
615         (WebCore::Frame::createView): Always call updateBackgroundRecursively, it handles
616         invalid colors correctly already.
617         * page/FrameView.cpp:
618         (WebCore::FrameView::setTransparent): Call setNeedsLayout() since base background color
619         and transparent is used to update layers.
620         (WebCore::FrameView::setBaseBackgroundColor): Ditto.
621         (WebCore::FrameView::updateBackgroundRecursively): Schedule layout if needed.
622         * page/FrameView.h:
623         * rendering/RenderLayerCompositor.cpp:
624         (WebCore::RenderLayerCompositor::viewHasTransparentBackground const): Use baseBackgroundColor
625         instead of hardcoding white.
626         (WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged): Fixed incorrect changed logging.
627
628 2018-05-25  Youenn Fablet  <youenn@apple.com>
629
630         Migrate From-Origin to Cross-Origin-Resource-Policy
631         https://bugs.webkit.org/show_bug.cgi?id=185840
632
633         Reviewed by Chris Dumez.
634
635         Tests: http/wpt/cross-origin-resource-policy/fetch-in-iframe.html
636                http/wpt/cross-origin-resource-policy/fetch.html
637                http/wpt/cross-origin-resource-policy/iframe-loads.html
638                http/wpt/cross-origin-resource-policy/image-loads.html
639                http/wpt/cross-origin-resource-policy/script-loads.html
640
641         * platform/network/HTTPHeaderNames.in:
642         * platform/network/HTTPParsers.cpp:
643         (WebCore::parseCrossOriginResourcePolicyHeader):
644         * platform/network/HTTPParsers.h:
645
646 2018-05-25  Daniel Bates  <dabates@apple.com>
647
648         NavigationAction should not hold a strong reference to a Document
649         https://bugs.webkit.org/show_bug.cgi?id=185712
650         <rdar://problem/40320916>
651
652         Reviewed by Brent Fulgham.
653
654         Have NavigationAction store all the relevant details callers need to know about the document
655         that initiated the navigation in an independent data structure, called NavigationAction::Requester,
656         as opposed to holding a RefPtr to the document itself. The benefit of this approach is that it
657         is a step towards ensuring that NavigationAction does not keep the document alive after navigating
658         to a new document given that DocumentLoader stores the NavigationAction for the last navigation.
659
660         * loader/NavigationAction.cpp:
661         (WebCore::NavigationAction::Requester::Requester): Track all relevant details of the document that
662         requested this navigation that are needed to support WebKit API/SPI. We hold the SecurityOrigin in
663         a RefPtr to avoid the need to explicitly define a copy constructor and copy-assignment constructor
664         because Requester needs to be copyable as NavigationAction, which owns a Requester, is copyable.
665         (WebCore::shouldTreatAsSameOriginNavigation): Fix some style nits.
666         (WebCore::NavigationAction::NavigationAction): Instantiate a Requester from the specified document.
667         * loader/NavigationAction.h:
668         (WebCore::NavigationAction::Requester::url const): Added.
669         (WebCore::NavigationAction::Requester::securityOrigin const): Added.
670         (WebCore::NavigationAction::Requester::pageID const): Added.
671         (WebCore::NavigationAction::Requester::frameID const): Added.
672         (WebCore::NavigationAction::requester const): Returns details about the document that requested
673         this navigation, if applicable.
674         (WebCore::NavigationAction::isEmpty const): Update criterion for being empty to consider the
675         requester.
676         (WebCore::NavigationAction::setOpener): Extracted out the datatype of the parameter into a
677         type alias to avoid duplication and updated this code to use the alias.
678         (WebCore::NavigationAction::opener const): Ditto.
679         (WebCore::NavigationAction::sourceDocument const): Deleted.
680
681 2018-05-25  Jeremy Jones  <jeremyj@apple.com>
682
683         Fullscreen element can be clipped by ancestor.
684         https://bugs.webkit.org/show_bug.cgi?id=185980
685         rdar://problem/40320006
686
687         Reviewed by Jer Noble.
688
689         Adds style to fullscreen css to prevent the fullscreen element from being clipped by an ancestor element.
690
691         * css/fullscreen.css:
692         (:-webkit-full-screen-ancestor:not(iframe)):
693
694 2018-05-25  Jeremy Jones  <jeremyj@apple.com>
695
696         Use correct AVKit delegate for picture in picture failure.
697         https://bugs.webkit.org/show_bug.cgi?id=185981
698         rdar://problem/40549652
699
700         Reviewed by Eric Carlson.
701
702         No new tests since we don't have a way to simulate picture-in-picture failure.
703
704         Use the new name for this delegate callback.
705
706         * platform/ios/VideoFullscreenInterfaceAVKit.mm:
707         (-[WebAVPlayerViewControllerDelegate playerViewController:failedToStartPictureInPictureWithError:]):
708         (-[WebAVPlayerViewControllerDelegate playerViewControllerFailedToStartPictureInPicture:withError:]): Deleted.
709
710 2018-05-25  Zalan Bujtas  <zalan@apple.com>
711
712         iBooks: text can disappear/flash during finger drag highlight
713         https://bugs.webkit.org/show_bug.cgi?id=185993
714         <rdar://problem/34026943>
715
716         Reviewed by Simon Fraser.
717
718         Reuse existing tiles when override rect is fully covered by the active grid.
719         Also, recover dropped tiles if override rect forces us to create new ones. 
720
721         Unable to create a reproducible test case.
722
723         * platform/ios/LegacyTileCache.h:
724         * platform/ios/LegacyTileCache.mm:
725         (WebCore::LegacyTileCache::setOverrideVisibleRect):
726         * platform/ios/LegacyTileLayer.mm:
727         (-[LegacyTileHostLayer renderInContext:]):
728
729 2018-05-25  Eric Carlson  <eric.carlson@apple.com>
730
731         Encode ISOWebVTTCue "strings" when logging
732         https://bugs.webkit.org/show_bug.cgi?id=185991
733         <rdar://problem/40563902>
734
735         Reviewed by Jer Noble.
736
737         * platform/graphics/iso/ISOVTTCue.cpp:
738         (WebCore::ISOWebVTTCue::toJSONString const): Use encodeWithURLEscapeSequences for all Strings
739         taken from ISO boxes.
740
741 2018-05-25  Alex Christensen  <achristensen@webkit.org>
742
743         URL::host should return a StringView to reduce allocations
744         https://bugs.webkit.org/show_bug.cgi?id=185986
745
746         Reviewed by Geoff Garen.
747
748         No change in behaviour.  Just fewer allocations.
749
750         * Modules/plugins/YouTubePluginReplacement.cpp:
751         (WebCore::isYouTubeURL):
752         (WebCore::processAndCreateYouTubeURL):
753         * Modules/websockets/WebSocketHandshake.cpp:
754         (WebCore::hostName):
755         (WebCore::WebSocketHandshake::host const):
756         * contentextensions/ContentExtension.cpp:
757         (WebCore::ContentExtensions::ContentExtension::populateConditionCacheIfNeeded):
758         * html/HTMLAnchorElement.cpp:
759         (WebCore::HTMLAnchorElement::parseAttribute):
760         * html/HTMLMediaElement.cpp:
761         (WebCore::HTMLMediaElement::mediaSessionTitle const):
762         (WebCore::needsSeekingSupportQuirk):
763         * html/HTMLPlugInImageElement.cpp:
764         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):
765         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
766         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
767         * html/ImageDocument.cpp:
768         (WebCore::ImageDocument::finishedParsing):
769         * html/URLUtils.h:
770         (WebCore::URLUtils<T>::hostname const):
771         * loader/FrameLoader.cpp:
772         (WebCore::FrameLoader::setFirstPartyForCookies):
773         * loader/LinkLoader.cpp:
774         (WebCore::LinkLoader::loadLink):
775         * loader/ResourceLoadStatistics.cpp:
776         (WebCore::ResourceLoadStatistics::primaryDomain):
777         * loader/mac/LoaderNSURLExtras.mm:
778         (suggestedFilenameWithMIMEType):
779         * page/Chrome.cpp:
780         (WebCore::Chrome::mouseDidMoveOverElement):
781         * page/Location.cpp:
782         (WebCore::Location::hostname const):
783         * page/Page.cpp:
784         (WebCore::Page::mainFrameLoadStarted):
785         * page/PerformanceMonitor.cpp:
786         (WebCore::reportPageOverPostLoadResourceThreshold):
787         * page/SecurityOrigin.cpp:
788         (WebCore::isLoopbackIPAddress):
789         (WebCore::shouldTreatAsPotentiallyTrustworthy):
790         (WebCore::SecurityOrigin::isLocalHostOrLoopbackIPAddress):
791         * page/SecurityOrigin.h:
792         * page/SecurityOriginData.h:
793         (WebCore::SecurityOriginData::fromURL):
794         * page/UserContentURLPattern.cpp:
795         (WebCore::UserContentURLPattern::matchesHost const):
796         * page/csp/ContentSecurityPolicySource.cpp:
797         (WebCore::ContentSecurityPolicySource::hostMatches const):
798         * platform/PublicSuffix.h:
799         * platform/URL.cpp:
800         (WebCore::URL::host const):
801         (WebCore::URL::hostAndPort const):
802         (WebCore::URL::isMatchingDomain const):
803         * platform/URL.h:
804         * platform/mac/SSLKeyGeneratorMac.mm:
805         (WebCore::signedPublicKeyAndChallengeString):
806         * platform/network/ResourceRequestBase.h:
807         (WebCore::registrableDomainsAreEqual):
808         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
809         (WebCore::getPartitioningDomain):
810         * platform/network/cf/SocketStreamHandleImplCFNet.cpp:
811         (WebCore::SocketStreamHandleImpl::createStreams):
812         * workers/WorkerLocation.cpp:
813         (WebCore::WorkerLocation::hostname const):
814         * workers/service/server/SWServer.cpp:
815         (WebCore::SWServer::performGetOriginsWithRegistrationsCallbacks):
816
817 2018-05-24  Dean Jackson  <dino@apple.com>
818
819         Need to provide a way to feature detect support for system preview
820         https://bugs.webkit.org/show_bug.cgi?id=185970
821         <rdar://problem/40538321>
822
823         Reviewed by Sam Weinig.
824
825         Update the supports function in the DOMTokenList that HTMLAnchorElement
826         produces for relList to return true for the system preview token.
827
828         Tested internally.
829
830         * html/HTMLAnchorElement.cpp:
831         (WebCore::HTMLAnchorElement::relList const):
832
833 2018-05-25  Chris Dumez  <cdumez@apple.com>
834
835         Minor ApplicationCacheStorage clean up
836         https://bugs.webkit.org/show_bug.cgi?id=185984
837
838         Reviewed by Youenn Fablet.
839
840         * loader/appcache/ApplicationCacheStorage.cpp:
841         (WebCore::ApplicationCacheStorage::getManifestURLs):
842         (WebCore::ApplicationCacheStorage::deleteCacheGroup):
843         (WebCore::ApplicationCacheStorage::originsWithCache):
844         (WebCore::ApplicationCacheStorage::deleteAllCaches):
845         (WebCore::ApplicationCacheStorage::deleteCacheForOrigin):
846         (WebCore::ApplicationCacheStorage::ApplicationCacheStorage):
847         (WebCore::ApplicationCacheStorage::cacheDirectory const): Deleted.
848         (WebCore::ApplicationCacheStorage::cacheGroupSize): Deleted.
849         (WebCore::ApplicationCacheStorage::getOriginsWithCache): Deleted.
850         (WebCore::ApplicationCacheStorage::create): Deleted.
851         * loader/appcache/ApplicationCacheStorage.h:
852         (WebCore::ApplicationCacheStorage::create):
853
854 2018-05-25  Sihui Liu  <sihui_liu@apple.com>
855
856         [WKHTTPCookieStore getAllCookies] returns inconsistent creation time
857         https://bugs.webkit.org/show_bug.cgi?id=185041
858         <rdar://problem/34684214>
859
860         Reviewed by Geoffrey Garen.
861
862         Set creationtime property when creating Cookie object to keep consistency after conversion.
863
864         New API test: WebKit.WKHTTPCookieStoreCreationTime.
865
866         * platform/network/cocoa/CookieCocoa.mm:
867         (WebCore::Cookie::operator NSHTTPCookie * const):
868
869 2018-05-25  Zalan Bujtas  <zalan@apple.com>
870
871         [LFC] Implement border and padding computation
872         https://bugs.webkit.org/show_bug.cgi?id=185972
873
874         Reviewed by Antti Koivisto.
875
876         This patch also removes redundant Display::Box methods and adds a lightweight Edge struct.
877         (Since padding is optional, if during layout we mistakenly try to access paddingTop/Left/Bottom/Right, Display::Box will assert!)
878
879         * layout/FormattingContext.cpp:
880         (WebCore::Layout::FormattingContext::computeBorderAndPadding const):
881         * layout/FormattingContext.h:
882         * layout/FormattingContextGeometry.cpp:
883         (WebCore::Layout::FormattingContext::Geometry::computedBorder):
884         (WebCore::Layout::FormattingContext::Geometry::computedPadding):
885         * layout/blockformatting/BlockFormattingContext.cpp:
886         (WebCore::Layout::BlockFormattingContext::layout const):
887         * layout/displaytree/DisplayBox.cpp:
888         (WebCore::Display::Box::marginBox const):
889         (WebCore::Display::Box::paddingBox const):
890         (WebCore::Display::Box::contentBox const):
891         * layout/displaytree/DisplayBox.h:
892         (WebCore::Display::Box::Edges::Edges):
893         (WebCore::Display::Box::setHasValidPosition):
894         (WebCore::Display::Box::setWidth):
895         (WebCore::Display::Box::setHeight):
896         (WebCore::Display::Box::setMargin):
897         (WebCore::Display::Box::setBorder):
898         (WebCore::Display::Box::setPadding):
899         (WebCore::Display::Box::marginTop const):
900         (WebCore::Display::Box::marginLeft const):
901         (WebCore::Display::Box::marginBottom const):
902         (WebCore::Display::Box::marginRight const):
903         (WebCore::Display::Box::paddingTop const):
904         (WebCore::Display::Box::paddingLeft const):
905         (WebCore::Display::Box::paddingBottom const):
906         (WebCore::Display::Box::paddingRight const):
907         (WebCore::Display::Box::borderTop const):
908         (WebCore::Display::Box::borderLeft const):
909         (WebCore::Display::Box::borderBottom const):
910         (WebCore::Display::Box::borderRight const):
911         (WebCore::Display::Box::invalidateSize): Deleted.
912         (WebCore::Display::Box::setHasValidSize): Deleted.
913         (WebCore::Display::Box::setHasValidGeometry): Deleted.
914         (WebCore::Display::Box::setRect): Deleted.
915         (WebCore::Display::Box::setSize): Deleted.
916         * layout/layouttree/LayoutBox.cpp:
917         (WebCore::Layout::Box::isPaddingEnabled const):
918         * layout/layouttree/LayoutBox.h:
919
920 2018-05-25  David Kilzer  <ddkilzer@apple.com>
921
922         Fix issues with -dealloc methods found by clang static analyzer
923         <https://webkit.org/b/185887>
924
925         Reviewed by Joseph Pecoraro.
926
927         * platform/ios/WebAVPlayerController.mm:
928         (-[WebAVPlayerController dealloc]): Release `_minTiming` and
929         `_maxTiming` to fix leaks.
930         * platform/ios/WebBackgroundTaskController.mm:
931         (-[WebBackgroundTaskController dealloc]): Release
932         `_backgroundTaskStartBlock` and `_backgroundTaskEndBlock` to fix
933         leaks.
934         * platform/ios/WebItemProviderPasteboard.mm:
935         (-[WebItemProviderRegistrationInfoList dealloc]): Release
936         `_teamData` to fix leak.
937
938 2018-05-25  Antoine Quint  <graouts@apple.com>
939
940         [Web Animations] WebAnimation objects never get destroyed
941         https://bugs.webkit.org/show_bug.cgi?id=185917
942         <rdar://problem/39539371>
943
944         Reviewed by Dean Jackson and Antti Koivisto.
945
946         The AnimationTimeline class keeps references to WebAnimation objects organized in various ways. First, there
947         are three main maps across which all animations are stored, one for non-subclass WebAnimation objects
948         (m_elementToAnimationsMap), one for CSSSAnimation objects (m_elementToCSSAnimationsMap) and one for CSSTranstion
949         objects (m_elementToCSSTransitionsMap). On top of that, we also keep a map to access CSSAnimation objects for
950         a given element by CSS animation name (m_elementToCSSAnimationByName) and another map to access CSSTransition 
951         objects for a given element by CSS property (m_elementToCSSTransitionByCSSPropertyID).
952
953         None of the RefPtr<WebAnimation> stored in these maps would get cleared when the document would get torn down,
954         which would also prevent the AnimationTimeline (and its DocumentTimeline subclass) from being destroyed.
955
956         We now ensure that element and document tear-down correctly removes animations and clears those maps, which
957         in turn allows the DocumentTimeline to be destroyed, fixing the significant memory leak introduced by Web Animations
958         so far.
959
960         Finally, we change the collection type for those maps to be ListHashRef instead of Vector to guarantee we only
961         add an animation once per collection due to changes in how setEffect() and setTimeline() operate.
962
963         Test: animations/leak-document-with-css-animation.html
964
965         * animation/AnimationTimeline.cpp:
966         (WebCore::AnimationTimeline::~AnimationTimeline): There is no need to clear those tables as they'll need to be empty
967         for the AnimationTimeline to even be destroyed.
968         (WebCore::AnimationTimeline::relevantMapForAnimation): Change to use ListHashRef instead of Vector.
969         (WebCore::AnimationTimeline::animationWasAddedToElement): Change to use ListHashRef instead of Vector.
970         (WebCore::AnimationTimeline::animationWasRemovedFromElement): When an animation is removed from an element, ensure that
971         references to this animation stored in the m_elementToCSSAnimationByName and m_elementToCSSTransitionByCSSPropertyID maps
972         are cleared.
973         (WebCore::AnimationTimeline::animationsForElement const): Change to use ListHashRef instead of Vector.
974         (WebCore::AnimationTimeline::removeAnimationsForElement): Instead of just calling cancel() on all known declarative animations
975         (this method used to be called cancelDeclarativeAnimationsForElement()), we now set the effect of known animations, declarative
976         or not, for the provided element which will in turn call animationWasRemovedFromElement() and remove the animation from all
977         maps that might keep a reference to it.
978         (WebCore::AnimationTimeline::updateCSSTransitionsForElement): Replace call to removeDeclarativeAnimation() with a simple call
979         to removeAnimation() which will remove references for this animation from the relevant maps.
980         (WebCore::AnimationTimeline::cancelOrRemoveDeclarativeAnimation): Ditto.
981         (WebCore::AnimationTimeline::cancelDeclarativeAnimationsForElement): Deleted.
982         (WebCore::AnimationTimeline::removeDeclarativeAnimation): Deleted.
983         * animation/AnimationTimeline.h:
984         (WebCore::AnimationTimeline::elementToAnimationsMap): Change to use ListHashRef instead of Vector.
985         (WebCore::AnimationTimeline::elementToCSSAnimationsMap): Change to use ListHashRef instead of Vector.
986         (WebCore::AnimationTimeline::elementToCSSTransitionsMap): Change to use ListHashRef instead of Vector.
987         * animation/WebAnimation.cpp:
988         (WebCore::WebAnimation::setEffect): In the case of a declarative animation, we don't want to remove the animation from the relevant
989         maps because while the effect was set via the API, the element still has a transition or animation set up and we must not break the
990         timeline-to-animation relationship.
991         (WebCore::WebAnimation::setEffectInternal): Factor parts of setEffect() out into a new method that can be called from
992         AnimationTimeline::removeAnimationsForElement() to reset the m_effect member and correctly call animationWasRemovedFromElement()
993         without all the Web Animations machinery of setEffect(), which is a public API that has unwanted side effects (such as rejecting
994         promises).
995         (WebCore::WebAnimation::setTimeline): In the case of a declarative animation, we don't want to remove the animation from the
996         relevant maps because, while the timeline was set via the API, the element still has a transition or animation set up and we must
997         not break the relationship.
998         * animation/DocumentTimeline.cpp:
999         (WebCore::DocumentTimeline::~DocumentTimeline):
1000         (WebCore::DocumentTimeline::detachFromDocument): Close the GenericTaskQueues when detaching from the document as it's too late to
1001         perform this work in the destructor. We also cancel the schedule timer which we had forgotten to do before.
1002         * animation/WebAnimation.h:
1003         * dom/Document.cpp:
1004         (WebCore::Document::prepareForDestruction):
1005         * dom/Element.cpp:
1006         (WebCore::Element::removedFromAncestor):
1007         * dom/PseudoElement.cpp:
1008         (WebCore::PseudoElement::clearHostElement):
1009         * rendering/updating/RenderTreeUpdater.cpp:
1010         (WebCore::RenderTreeUpdater::tearDownRenderers):
1011
1012 2018-05-24  Chris Dumez  <cdumez@apple.com>
1013
1014         Avoid doing unnecessary work in Document::shouldEnforceContentDispositionAttachmentSandbox() when setting is disabled
1015         https://bugs.webkit.org/show_bug.cgi?id=185964
1016
1017         Reviewed by Geoffrey Garen.
1018
1019         * dom/Document.cpp:
1020         (WebCore::Document::shouldEnforceContentDispositionAttachmentSandbox const):
1021
1022 2018-05-24  Chris Dumez  <cdumez@apple.com>
1023
1024         [iOS] Avoid dlopening QuickLooks in the common case where the main resource is HTML or plain text
1025         https://bugs.webkit.org/show_bug.cgi?id=185966
1026
1027         Reviewed by Geoffrey Garen.
1028
1029         Avoid dlopening QuickLooks in the common case where the main resource is HTML or plain text
1030         for performance reasons.
1031
1032         * loader/ios/PreviewLoader.mm:
1033         (WebCore::PreviewLoader::shouldCreateForMIMEType):
1034
1035 2018-05-24  Sam Weinig  <sam@webkit.org>
1036
1037         Modernize RenderStyleConstants.h - Part 2
1038         https://bugs.webkit.org/show_bug.cgi?id=185901
1039
1040         Reviewed by Simon Fraser.
1041
1042         Modernized the second set of enums in RenderStyleConstants.h by:
1043             - Converting them to enum classes
1044             - Renaming them to remove unnecessary prefix 'E's
1045             - Renaming values to take advantage of enum class scoping (e.g. StyleDifferenceEqual -> StyleDifference::Equal)
1046             - Renaming to match modern conventions (e.g BNONE -> None)
1047             - Reformatting them so that each value is on its own line.
1048
1049         Modernizes the following enums:
1050             PseudoId
1051             ListStyleType (renamed from EListStyleType)
1052             BorderFit (renamed from EBorderFit)
1053             AnimationFillMode (renamed from EAnimationFillMode)
1054             AnimationPlayState (renamed from EAnimPlayState)
1055             WhiteSpace (renamed from EWhiteSpace)
1056             TextAlignMode (renamed from ETextAlign)
1057             TextTransform (renamed from ETextTransform)
1058             TextDecorationStyle
1059             TextAlignLast
1060             TextJustify
1061             TextZoom
1062             BreakBetween
1063             BreakInside
1064             EmptyCell (renamed from EEmptyCell)
1065             CaptionSide (renamed from ECaptionSide)
1066             ListStylePosition (renamed from EListStylePosition)
1067             Visibility (renamed from EVisibility)
1068             CursorType (renamed from ECursor)
1069             CursorVisibility
1070             DisplayType (renamed from EDisplay)
1071             InsideLink (renamed from EInsideLink)
1072             PointerEvents (renamed from EPointerEvents)
1073             Hyphens
1074             TextEmphasisFill
1075             TextEmphasisMark
1076             ImageResolutionSource
1077             ImageResolutionSnap
1078             Order
1079             ColumnAxis
1080             ColumnProgression
1081             LineSnap
1082             LineAlign
1083             RubyPosition
1084             AutoRepeatType
1085             CSSBoxType
1086
1087         * accessibility/AXObjectCache.cpp:
1088         (WebCore::AXObjectCache::isNodeVisible const):
1089         * accessibility/AccessibilityList.cpp:
1090         (WebCore::AccessibilityList::determineAccessibilityRole):
1091         * accessibility/AccessibilityMediaControls.cpp:
1092         (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored const):
1093         (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored const):
1094         * accessibility/AccessibilityObject.cpp:
1095         (WebCore::AccessibilityObject::isDOMHidden const):
1096         * accessibility/AccessibilityRenderObject.cpp:
1097         (WebCore::AccessibilityRenderObject::defaultObjectInclusion const):
1098         (WebCore::AccessibilityRenderObject::isUnvisited const):
1099         (WebCore::AccessibilityRenderObject::isVisited const):
1100         (WebCore::AccessibilityRenderObject::setValue):
1101         * accessibility/AccessibilityTable.cpp:
1102         (WebCore::AccessibilityTable::isDataTable const):
1103         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1104         (getAttributeSetForAccessibilityObject):
1105         * animation/AnimationTimeline.cpp:
1106         (WebCore::AnimationTimeline::updateCSSAnimationsForElement):
1107         (WebCore::AnimationTimeline::updateCSSTransitionsForElement):
1108         * animation/CSSAnimation.cpp:
1109         (WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
1110         * animation/DeclarativeAnimation.cpp:
1111         (WebCore::DeclarativeAnimation::initialize):
1112         * animation/KeyframeEffectReadOnly.cpp:
1113         (WebCore::KeyframeEffectReadOnly::backingAnimationForCompositedRenderer const):
1114         * css/CSSComputedStyleDeclaration.cpp:
1115         (WebCore::renderTextDecorationStyleFlagsToCSSValue):
1116         (WebCore::convertToPageBreak):
1117         (WebCore::convertToColumnBreak):
1118         (WebCore::ComputedStyleExtractor::styledElement const):
1119         (WebCore::ComputedStyleExtractor::styledRenderer const):
1120         (WebCore::computeRenderStyleForProperty):
1121         (WebCore::shapePropertyValue):
1122         (WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
1123         * css/CSSComputedStyleDeclaration.h:
1124         * css/CSSPrimitiveValueMappings.h:
1125         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1126         (WebCore::CSSPrimitiveValue::operator CaptionSide const):
1127         (WebCore::CSSPrimitiveValue::operator CursorType const):
1128         (WebCore::CSSPrimitiveValue::operator CursorVisibility const):
1129         (WebCore::CSSPrimitiveValue::operator DisplayType const):
1130         (WebCore::CSSPrimitiveValue::operator EmptyCell const):
1131         (WebCore::CSSPrimitiveValue::operator ListStylePosition const):
1132         (WebCore::CSSPrimitiveValue::operator ListStyleType const):
1133         (WebCore::CSSPrimitiveValue::operator BreakBetween const):
1134         (WebCore::CSSPrimitiveValue::operator BreakInside const):
1135         (WebCore::CSSPrimitiveValue::operator TextAlignMode const):
1136         (WebCore::CSSPrimitiveValue::operator TextAlignLast const):
1137         (WebCore::CSSPrimitiveValue::operator TextJustify const):
1138         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle const):
1139         (WebCore::CSSPrimitiveValue::operator TextTransform const):
1140         (WebCore::CSSPrimitiveValue::operator Visibility const):
1141         (WebCore::CSSPrimitiveValue::operator WhiteSpace const):
1142         (WebCore::CSSPrimitiveValue::operator RubyPosition const):
1143         (WebCore::CSSPrimitiveValue::operator TextEmphasisFill const):
1144         (WebCore::CSSPrimitiveValue::operator TextEmphasisMark const):
1145         (WebCore::CSSPrimitiveValue::operator PointerEvents const):
1146         (WebCore::CSSPrimitiveValue::operator Hyphens const):
1147         (WebCore::CSSPrimitiveValue::operator LineSnap const):
1148         (WebCore::CSSPrimitiveValue::operator LineAlign const):
1149         (WebCore::CSSPrimitiveValue::operator Order const):
1150         (WebCore::CSSPrimitiveValue::operator BorderFit const):
1151         (WebCore::CSSPrimitiveValue::operator ColumnAxis const):
1152         (WebCore::CSSPrimitiveValue::operator ColumnProgression const):
1153         (WebCore::CSSPrimitiveValue::operator CSSBoxType const):
1154         (WebCore::CSSPrimitiveValue::operator TextZoom const):
1155         (WebCore::CSSPrimitiveValue::operator ECaptionSide const): Deleted.
1156         (WebCore::CSSPrimitiveValue::operator ECursor const): Deleted.
1157         (WebCore::CSSPrimitiveValue::operator EDisplay const): Deleted.
1158         (WebCore::CSSPrimitiveValue::operator EEmptyCell const): Deleted.
1159         (WebCore::CSSPrimitiveValue::operator EListStylePosition const): Deleted.
1160         (WebCore::CSSPrimitiveValue::operator EListStyleType const): Deleted.
1161         (WebCore::CSSPrimitiveValue::operator ETextAlign const): Deleted.
1162         (WebCore::CSSPrimitiveValue::operator ETextTransform const): Deleted.
1163         (WebCore::CSSPrimitiveValue::operator EVisibility const): Deleted.
1164         (WebCore::CSSPrimitiveValue::operator EWhiteSpace const): Deleted.
1165         (WebCore::CSSPrimitiveValue::operator EPointerEvents const): Deleted.
1166         (WebCore::CSSPrimitiveValue::operator EBorderFit const): Deleted.
1167         * css/CSSSelector.cpp:
1168         (WebCore::CSSSelector::pseudoId):
1169         * css/CSSToStyleMap.cpp:
1170         (WebCore::CSSToStyleMap::mapAnimationFillMode):
1171         (WebCore::CSSToStyleMap::mapAnimationPlayState):
1172         * css/CSSValueKeywords.in:
1173         * css/ElementRuleCollector.cpp:
1174         (WebCore::ElementRuleCollector::collectMatchingRules):
1175         (WebCore::ElementRuleCollector::ruleMatches):
1176         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
1177         * css/ElementRuleCollector.h:
1178         * css/SelectorChecker.cpp:
1179         (WebCore::SelectorChecker::match const):
1180         (WebCore::SelectorChecker::matchHostPseudoClass const):
1181         (WebCore::hasScrollbarPseudoElement):
1182         (WebCore::SelectorChecker::matchRecursively const):
1183         * css/SelectorChecker.h:
1184         * css/StyleBuilderConverter.h:
1185         (WebCore::StyleBuilderConverter::convertTextAlign):
1186         (WebCore::StyleBuilderConverter::convertClipPath):
1187         (WebCore::StyleBuilderConverter::convertShapeValue):
1188         (WebCore::StyleBuilderConverter::createGridTrackList):
1189         (WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor):
1190         (WebCore::StyleBuilderConverter::convertPageBreakBetween):
1191         (WebCore::StyleBuilderConverter::convertPageBreakInside):
1192         (WebCore::StyleBuilderConverter::convertColumnBreakBetween):
1193         (WebCore::StyleBuilderConverter::convertColumnBreakInside):
1194         * css/StyleBuilderCustom.h:
1195         (WebCore::StyleBuilderCustom::applyValueImageResolution):
1196         (WebCore::computeBaseSpecifiedFontSize):
1197         (WebCore::StyleBuilderCustom::applyValueWebkitTextZoom):
1198         (WebCore::StyleBuilderCustom::isValidDisplayValue):
1199         (WebCore::StyleBuilderCustom::applyInheritDisplay):
1200         (WebCore::StyleBuilderCustom::applyValueDisplay):
1201         (WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
1202         (WebCore::StyleBuilderCustom::applyValueCursor):
1203         (WebCore::StyleBuilderCustom::applyValueContent):
1204         (WebCore::StyleBuilderCustom::determineRubyTextSizeMultiplier):
1205         (WebCore::StyleBuilderCustom::applyValueAlt):
1206         * css/StyleResolver.cpp:
1207         (WebCore::StyleResolver::styleForElement):
1208         (WebCore::equivalentBlockDisplay):
1209         (WebCore::doesNotInheritTextDecoration):
1210         (WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
1211         (WebCore::adjustDisplayContentsStyle):
1212         (WebCore::StyleResolver::adjustSVGElementStyle):
1213         (WebCore::StyleResolver::adjustRenderStyle):
1214         (WebCore::StyleResolver::styleRulesForElement):
1215         (WebCore::isCacheableInMatchedPropertiesCache):
1216         (WebCore::StyleResolver::applyMatchedProperties):
1217         (WebCore::StyleResolver::CascadedProperties::Property::apply):
1218         * css/StyleResolver.h:
1219         (WebCore::StyleResolver::State::elementLinkState const):
1220         * cssjit/SelectorCompiler.cpp:
1221         (WebCore::SelectorCompiler::constructFragmentsInternal):
1222         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
1223         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):
1224         * dom/Document.cpp:
1225         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
1226         (WebCore::Document::isPageBoxVisible):
1227         (WebCore::Document::setVisuallyOrdered):
1228         * dom/Document.h:
1229         * dom/Element.cpp:
1230         (WebCore::Element::isFocusable const):
1231         (WebCore::Element::hasDisplayContents const):
1232         (WebCore::Element::storeDisplayContentsStyle):
1233         (WebCore::Element::rendererIsNeeded):
1234         (WebCore::beforeOrAfterPseudoElement):
1235         (WebCore::Element::computedStyle):
1236         * dom/Element.h:
1237         * dom/Node.cpp:
1238         (WebCore::computeEditabilityFromComputedStyle):
1239         * dom/Node.h:
1240         (WebCore::Node::isPseudoElement const):
1241         (WebCore::Node::isBeforePseudoElement const):
1242         (WebCore::Node::isAfterPseudoElement const):
1243         (WebCore::Node::pseudoId const):
1244         (WebCore::Node::customPseudoId const):
1245         * dom/Position.cpp:
1246         (WebCore::Position::upstream const):
1247         (WebCore::Position::downstream const):
1248         (WebCore::Position::isCandidate const):
1249         (WebCore::Position::rendersInDifferentPosition const):
1250         * dom/PositionIterator.cpp:
1251         (WebCore::PositionIterator::isCandidate const):
1252         * dom/PseudoElement.cpp:
1253         (WebCore::PseudoElement::pseudoElementNameForEvents):
1254         (WebCore::PseudoElement::PseudoElement):
1255         * dom/VisitedLinkState.cpp:
1256         (WebCore::VisitedLinkState::determineLinkStateSlowCase):
1257         * dom/VisitedLinkState.h:
1258         (WebCore::VisitedLinkState::determineLinkState):
1259         * editing/Editing.cpp:
1260         (WebCore::isSpecialHTMLElement):
1261         (WebCore::isNodeRendered):
1262         * editing/TextIterator.cpp:
1263         (WebCore::hasVisibleTextNode):
1264         (WebCore::TextIterator::handleTextNode):
1265         (WebCore::TextIterator::handleTextBox):
1266         (WebCore::TextIterator::handleTextNodeFirstLetter):
1267         (WebCore::TextIterator::handleReplacedElement):
1268         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
1269         (WebCore::SimplifiedBackwardsTextIterator::advance):
1270         * editing/VisibleUnits.cpp:
1271         (WebCore::findStartOfParagraph):
1272         (WebCore::findEndOfParagraph):
1273         * editing/ios/EditorIOS.mm:
1274         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
1275         * html/HTMLAreaElement.cpp:
1276         (WebCore::HTMLAreaElement::isFocusable const):
1277         * html/HTMLFormElement.cpp:
1278         (WebCore::HTMLFormElement::rendererIsNeeded):
1279         * html/HTMLIFrameElement.cpp:
1280         (WebCore::HTMLIFrameElement::rendererIsNeeded):
1281         * html/HTMLInputElement.cpp:
1282         (WebCore::HTMLInputElement::createInnerTextStyle):
1283         * html/HTMLOptGroupElement.cpp:
1284         (WebCore::HTMLOptGroupElement::isFocusable const):
1285         * html/HTMLOptionElement.cpp:
1286         (WebCore::HTMLOptionElement::isFocusable const):
1287         * html/HTMLTextAreaElement.cpp:
1288         (WebCore::HTMLTextAreaElement::createInnerTextStyle):
1289         * html/HTMLTextFormControlElement.cpp:
1290         (WebCore::HTMLTextFormControlElement::setSelectionRange):
1291         (WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
1292         * html/MediaElementSession.cpp:
1293         (WebCore::MediaElementSession::autoplayPermitted const):
1294         (WebCore::isMainContentForPurposesOfAutoplay):
1295         * html/RubyElement.cpp:
1296         (WebCore::RubyElement::createElementRenderer):
1297         * html/RubyTextElement.cpp:
1298         (WebCore::RubyTextElement::createElementRenderer):
1299         * html/shadow/TextControlInnerElements.cpp:
1300         (WebCore::TextControlInnerElement::resolveCustomStyle):
1301         (WebCore::TextControlPlaceholderElement::resolveCustomStyle):
1302         * inspector/InspectorOverlay.cpp:
1303         (WebCore::buildObjectForElementData):
1304         * inspector/agents/InspectorCSSAgent.cpp:
1305         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1306         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1307         * inspector/agents/InspectorDOMAgent.cpp:
1308         (WebCore::pseudoElementType):
1309         (WebCore::InspectorDOMAgent::buildObjectForNode):
1310         * inspector/agents/InspectorLayerTreeAgent.cpp:
1311         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1312         * layout/layouttree/LayoutBox.cpp:
1313         (WebCore::Layout::Box::isInlineBlockBox const):
1314         (WebCore::Layout::Box::isBlockLevelBox const):
1315         (WebCore::Layout::Box::isInlineLevelBox const):
1316         (WebCore::Layout::Box::isBlockContainerBox const):
1317         * page/EventHandler.cpp:
1318         (WebCore::EventHandler::selectCursor):
1319         * page/Frame.cpp:
1320         (WebCore::Frame::searchForLabelsAboveCell):
1321         (WebCore::Frame::searchForLabelsBeforeElement):
1322         * page/FrameView.cpp:
1323         (WebCore::FrameView::createScrollbar):
1324         (WebCore::FrameView::adjustScrollStepForFixedContent):
1325         (WebCore::FrameView::updateScrollCorner):
1326         * page/animation/AnimationBase.cpp:
1327         (WebCore::AnimationBase::playStatePlaying const):
1328         (WebCore::AnimationBase::updatePlayState):
1329         * page/animation/AnimationBase.h:
1330         * page/animation/CSSPropertyAnimation.cpp:
1331         (WebCore::blendFunc):
1332         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1333         * page/animation/CompositeAnimation.cpp:
1334         (WebCore::CompositeAnimation::updateTransitions):
1335         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1336         (WebCore::CompositeAnimation::suspendAnimations):
1337         (WebCore::CompositeAnimation::resumeAnimations):
1338         * page/animation/KeyframeAnimation.cpp:
1339         (WebCore::KeyframeAnimation::animate):
1340         * page/ios/FrameIOS.mm:
1341         (WebCore::Frame::nodeRespondingToClickEvents):
1342         * platform/animation/Animation.cpp:
1343         (WebCore::Animation::Animation):
1344         * platform/animation/Animation.h:
1345         (WebCore::Animation::clearPlayState):
1346         (WebCore::Animation::fillMode const):
1347         (WebCore::Animation::playState const):
1348         (WebCore::Animation::setFillMode):
1349         (WebCore::Animation::setPlayState):
1350         (WebCore::Animation::fillsBackwards const):
1351         (WebCore::Animation::fillsForwards const):
1352         (WebCore::Animation::initialFillMode):
1353         (WebCore::Animation::initialPlayState):
1354         * platform/graphics/GraphicsTypes.h:
1355         * platform/graphics/ca/GraphicsLayerCA.cpp:
1356         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1357         * platform/ios/wak/WAKWindow.mm:
1358         (-[WAKWindow dumpTiles]):
1359         * platform/mac/WebCoreNSURLExtras.mm:
1360         (WebCore::isLookalikeCharacter):
1361         * rendering/ClipPathOperation.h:
1362         * rendering/InlineBox.h:
1363         (WebCore::InlineBox::visibleToHitTesting const):
1364         * rendering/InlineFlowBox.cpp:
1365         (WebCore::InlineFlowBox::addToLine):
1366         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1367         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1368         (WebCore::InlineFlowBox::paint):
1369         (WebCore::InlineFlowBox::paintBoxDecorations):
1370         (WebCore::InlineFlowBox::paintMask):
1371         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment const):
1372         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment const):
1373         (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder const):
1374         * rendering/InlineFlowBox.h:
1375         (WebCore::InlineFlowBox::InlineFlowBox):
1376         * rendering/InlineTextBox.cpp:
1377         (WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove const):
1378         (WebCore::InlineTextBox::paint):
1379         (WebCore::InlineTextBox::createTextRun const):
1380         * rendering/PointerEventsHitRules.cpp:
1381         (WebCore::PointerEventsHitRules::PointerEventsHitRules):
1382         * rendering/PointerEventsHitRules.h:
1383         * rendering/RenderBlock.cpp:
1384         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
1385         (WebCore::RenderBlock::paint):
1386         (WebCore::RenderBlock::paintObject):
1387         (WebCore::RenderBlock::shouldPaintSelectionGaps const):
1388         (WebCore::RenderBlock::adjustLogicalLeftOffsetForLine const):
1389         (WebCore::RenderBlock::adjustLogicalRightOffsetForLine const):
1390         (WebCore::isChildHitTestCandidate):
1391         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths const):
1392         (WebCore::RenderBlock::firstLineBlock const):
1393         (WebCore::findFirstLetterBlock):
1394         (WebCore::RenderBlock::getFirstLetter):
1395         (WebCore::RenderBlock::createAnonymousBlockWithStyleAndDisplay):
1396         (WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation const):
1397         (WebCore::RenderBlock::constructTextRun):
1398         (WebCore::RenderBlock::layoutExcludedChildren):
1399         * rendering/RenderBlock.h:
1400         (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
1401         (WebCore::RenderBlock::createAnonymousBlock const):
1402         * rendering/RenderBlockFlow.cpp:
1403         (WebCore::RenderBlockFlow::willCreateColumns const):
1404         (WebCore::RenderBlockFlow::layoutBlock):
1405         (WebCore::RenderBlockFlow::applyBeforeBreak):
1406         (WebCore::RenderBlockFlow::applyAfterBreak):
1407         (WebCore::RenderBlockFlow::adjustForUnsplittableChild):
1408         (WebCore::RenderBlockFlow::updateStylesForColumnChildren):
1409         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
1410         (WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom const):
1411         (WebCore::RenderBlockFlow::adjustForBorderFit const):
1412         (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
1413         (WebCore::RenderBlockFlow::lineAtIndex const):
1414         (WebCore::RenderBlockFlow::lineCount const):
1415         (WebCore::getHeightForLineCount):
1416         (WebCore::RenderBlockFlow::clearTruncation):
1417         (WebCore::RenderBlockFlow::findClosestTextAtAbsolutePoint):
1418         (WebCore::RenderBlockFlow::lineCountForTextAutosizing):
1419         (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
1420         (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
1421         (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed const):
1422         (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed const):
1423         * rendering/RenderBlockFlow.h:
1424         * rendering/RenderBlockLineLayout.cpp:
1425         (WebCore::RenderBlockFlow::constructLine):
1426         (WebCore::RenderBlockFlow::textAlignmentForLine const):
1427         (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
1428         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
1429         (WebCore::expansionBehaviorForInlineTextBox):
1430         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
1431         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
1432         (WebCore::RenderBlockFlow::checkFloatInCleanLine):
1433         (WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
1434         (WebCore::RenderBlockFlow::checkLinesForTextOverflow):
1435         (WebCore::RenderBlockFlow::startAlignedOffsetForLine):
1436         * rendering/RenderBox.cpp:
1437         (WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const):
1438         (WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const):
1439         (WebCore::isCandidateForOpaquenessTest):
1440         (WebCore::RenderBox::paintMask):
1441         (WebCore::RenderBox::paintClippingMask):
1442         (WebCore::RenderBox::positionLineBox):
1443         (WebCore::RenderBox::clippedOverflowRectForRepaint const):
1444         (WebCore::RenderBox::computeLogicalWidthInFragment const):
1445         (WebCore::RenderBox::computeInlineDirectionMargins const):
1446         (WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation const):
1447         (WebCore::RenderBox::positionForPoint):
1448         (WebCore::RenderBox::isUnsplittableForPagination const):
1449         * rendering/RenderBoxModelObject.cpp:
1450         (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
1451         * rendering/RenderBoxModelObject.h:
1452         * rendering/RenderCounter.cpp:
1453         (WebCore::planCounter):
1454         (WebCore::RenderCounter::originalText const):
1455         * rendering/RenderDeprecatedFlexibleBox.cpp:
1456         (WebCore::childDoesNotAffectWidthOrFlexing):
1457         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1458         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1459         * rendering/RenderDetailsMarker.cpp:
1460         (WebCore::RenderDetailsMarker::paint):
1461         * rendering/RenderElement.cpp:
1462         (WebCore::RenderElement::createFor):
1463         (WebCore::RenderElement::computeFirstLineStyle const):
1464         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
1465         (WebCore::RenderElement::styleWillChange):
1466         (WebCore::RenderElement::insertedIntoTree):
1467         (WebCore::RenderElement::willBeRemovedFromTree):
1468         (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
1469         (WebCore::RenderElement::isVisibleInDocumentRect const):
1470         (WebCore::RenderElement::getCachedPseudoStyle const):
1471         (WebCore::RenderElement::getUncachedPseudoStyle const):
1472         (WebCore::RenderElement::selectionPseudoStyle const):
1473         * rendering/RenderElement.h:
1474         (WebCore::RenderElement::visibleToHitTesting const):
1475         * rendering/RenderFileUploadControl.cpp:
1476         (WebCore::RenderFileUploadControl::paintObject):
1477         * rendering/RenderFullScreen.cpp:
1478         (WebCore::createFullScreenStyle):
1479         * rendering/RenderGrid.cpp:
1480         (WebCore::RenderGrid::computeEmptyTracksForAutoRepeat const):
1481         * rendering/RenderImage.cpp:
1482         (WebCore::RenderImage::repaintOrMarkForLayout):
1483         * rendering/RenderInline.cpp:
1484         (WebCore::RenderInline::willBeDestroyed):
1485         (WebCore::updateStyleOfAnonymousBlockContinuations):
1486         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
1487         (WebCore::RenderInline::clippedOverflowRectForRepaint const):
1488         (WebCore::RenderInline::addAnnotatedRegions):
1489         * rendering/RenderLayer.cpp:
1490         (WebCore::RenderLayer::RenderLayer):
1491         (WebCore::RenderLayer::updateDescendantDependentFlags):
1492         (WebCore::RenderLayer::createScrollbar):
1493         (WebCore::styleRequiresScrollbar):
1494         (WebCore::styleDefinesAutomaticScrollbar):
1495         (WebCore::computeReferenceBox):
1496         (WebCore::RenderLayer::calculateClipRects const):
1497         * rendering/RenderLayerBacking.cpp:
1498         (WebCore::RenderLayerBacking::updateAfterDescendants):
1499         * rendering/RenderLayerCompositor.cpp:
1500         (WebCore::scrollbarHasDisplayNone):
1501         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin const):
1502         (WebCore::RenderLayerCompositor::requiresCompositingForFrame const):
1503         * rendering/RenderListBox.cpp:
1504         (WebCore::RenderListBox::paintObject):
1505         (WebCore::itemOffsetForAlignment):
1506         (WebCore::RenderListBox::paintItemForeground):
1507         (WebCore::RenderListBox::paintItemBackground):
1508         (WebCore::RenderListBox::createScrollbar):
1509         * rendering/RenderListItem.cpp:
1510         (WebCore::RenderListItem::computeMarkerStyle const):
1511         * rendering/RenderListMarker.cpp:
1512         (WebCore::effectiveListMarkerType):
1513         (WebCore::listMarkerSuffix):
1514         (WebCore::listMarkerText):
1515         (WebCore::RenderListMarker::paint):
1516         (WebCore::RenderListMarker::updateContent):
1517         (WebCore::RenderListMarker::computePreferredLogicalWidths):
1518         (WebCore::RenderListMarker::updateMargins):
1519         (WebCore::RenderListMarker::suffix const):
1520         (WebCore::RenderListMarker::isInside const):
1521         (WebCore::RenderListMarker::getRelativeMarkerRect):
1522         * rendering/RenderListMarker.h:
1523         * rendering/RenderMediaControlElements.cpp:
1524         (WebCore::RenderMediaVolumeSliderContainer::layout):
1525         (WebCore::RenderTextTrackContainerElement::layout):
1526         * rendering/RenderMenuList.cpp:
1527         (WebCore::RenderMenuList::adjustInnerStyle):
1528         (WebCore::if):
1529         (RenderMenuList::itemStyle const):
1530         (RenderMenuList::menuStyle const):
1531         (RenderMenuList::createScrollbar):
1532         * rendering/RenderMultiColumnSpannerPlaceholder.cpp:
1533         (WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
1534         * rendering/RenderObject.cpp:
1535         (WebCore::RenderObject::addAnnotatedRegions):
1536         * rendering/RenderObject.h:
1537         (WebCore::RenderObject::isAnonymousBlock const):
1538         (WebCore::RenderObject::isBeforeContent const):
1539         (WebCore::RenderObject::isAfterContent const):
1540         * rendering/RenderReplaced.cpp:
1541         (WebCore::RenderReplaced::shouldPaint):
1542         (WebCore::RenderReplaced::clippedOverflowRectForRepaint const):
1543         * rendering/RenderRubyBase.cpp:
1544         (WebCore::RenderRubyBase::textAlignmentForLine const):
1545         * rendering/RenderRubyBase.h:
1546         * rendering/RenderRubyRun.cpp:
1547         (WebCore::RenderRubyRun::createRubyBase const):
1548         (WebCore::RenderRubyRun::staticCreateRubyRun):
1549         (WebCore::RenderRubyRun::layoutBlock):
1550         * rendering/RenderRubyText.cpp:
1551         (WebCore::RenderRubyText::textAlignmentForLine const):
1552         (WebCore::RenderRubyText::adjustInlineDirectionLineBounds const):
1553         * rendering/RenderRubyText.h:
1554         * rendering/RenderScrollbar.cpp:
1555         (WebCore::pseudoForScrollbarPart):
1556         (WebCore::RenderScrollbar::updateScrollbarPart):
1557         * rendering/RenderSearchField.cpp:
1558         (WebCore::RenderSearchField::updateCancelButtonVisibility const):
1559         (WebCore::RenderSearchField::visibilityForCancelButton const):
1560         (WebCore::RenderSearchField::menuStyle const):
1561         (WebCore::RenderSearchField::createScrollbar):
1562         * rendering/RenderSearchField.h:
1563         * rendering/RenderTable.cpp:
1564         (WebCore::RenderTable::willInsertTableSection):
1565         (WebCore::RenderTable::layoutCaptions):
1566         (WebCore::RenderTable::layout):
1567         (WebCore::RenderTable::paintObject):
1568         (WebCore::RenderTable::adjustBorderBoxRectForPainting):
1569         (WebCore::RenderTable::paintMask):
1570         (WebCore::RenderTable::recalcSections const):
1571         (WebCore::RenderTable::createTableWithStyle):
1572         * rendering/RenderTableCell.cpp:
1573         (WebCore::RenderTableCell::styleDidChange):
1574         (WebCore::RenderTableCell::paintCollapsedBorders):
1575         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1576         (WebCore::RenderTableCell::paintBoxDecorations):
1577         (WebCore::RenderTableCell::paintMask):
1578         (WebCore::RenderTableCell::createTableCellWithStyle):
1579         * rendering/RenderTableCol.cpp:
1580         (WebCore::RenderTableCol::updateFromElement):
1581         (WebCore::RenderTableCol::isChildAllowed const):
1582         * rendering/RenderTableCol.h:
1583         * rendering/RenderTableRow.cpp:
1584         (WebCore::RenderTableRow::styleDidChange):
1585         (WebCore::RenderTableRow::paintOutlineForRowIfNeeded):
1586         (WebCore::RenderTableRow::createTableRowWithStyle):
1587         * rendering/RenderTableSection.cpp:
1588         (WebCore::RenderTableSection::addCell):
1589         (WebCore::RenderTableSection::paint):
1590         (WebCore::RenderTableSection::createTableSectionWithStyle):
1591         * rendering/RenderText.cpp:
1592         (WebCore::RenderText::styleDidChange):
1593         (WebCore::RenderText::computePreferredLogicalWidths):
1594         (WebCore::applyTextTransform):
1595         * rendering/RenderTextFragment.cpp:
1596         (WebCore::RenderTextFragment::styleDidChange):
1597         (WebCore::RenderTextFragment::blockForAccompanyingFirstLetter):
1598         * rendering/RenderTheme.cpp:
1599         (WebCore::RenderTheme::adjustStyle):
1600         * rendering/RenderThemeMac.mm:
1601         (WebCore::RenderThemeMac::adjustMenuListStyle const):
1602         * rendering/RenderThemeWin.cpp:
1603         (WebCore::RenderThemeWin::adjustMenuListButtonStyle const):
1604         * rendering/RenderView.cpp:
1605         (WebCore::rendererObscuresBackground):
1606         * rendering/RenderWidget.cpp:
1607         (WebCore::RenderWidget::setWidget):
1608         (WebCore::RenderWidget::styleDidChange):
1609         * rendering/RootInlineBox.cpp:
1610         (WebCore::RootInlineBox::paintEllipsisBox const):
1611         (WebCore::RootInlineBox::lineSnapAdjustment const):
1612         (WebCore::RootInlineBox::lineSelectionGap):
1613         (WebCore::RootInlineBox::computeCaretRect const):
1614         * rendering/SimpleLineLayout.cpp:
1615         (WebCore::SimpleLineLayout::canUseForFontAndText):
1616         (WebCore::SimpleLineLayout::canUseForStyle):
1617         (WebCore::SimpleLineLayout::computeLineLeft):
1618         (WebCore::SimpleLineLayout::updateLineConstrains):
1619         (WebCore::SimpleLineLayout::createLineRuns):
1620         (WebCore::SimpleLineLayout::textAlignForLine):
1621         (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
1622         * rendering/SimpleLineLayoutFunctions.cpp:
1623         (WebCore::SimpleLineLayout::paintFlow):
1624         (WebCore::SimpleLineLayout::hitTestFlow):
1625         * rendering/SimpleLineLayoutTextFragmentIterator.cpp:
1626         (WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
1627         * rendering/SimpleLineLayoutTextFragmentIterator.h:
1628         * rendering/TextDecorationPainter.cpp:
1629         (WebCore::textDecorationStyleToStrokeStyle):
1630         (WebCore::TextDecorationPainter::paintTextDecoration):
1631         (WebCore::collectStylesForRenderer):
1632         * rendering/TextDecorationPainter.h:
1633         * rendering/line/BreakingContext.h:
1634         (WebCore::BreakingContext::BreakingContext):
1635         (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
1636         (WebCore::BreakingContext::handleBR):
1637         (WebCore::BreakingContext::handleOutOfFlowPositioned):
1638         (WebCore::BreakingContext::handleText):
1639         (WebCore::BreakingContext::canBreakAtThisPosition):
1640         (WebCore::BreakingContext::handleEndOfLine):
1641         * rendering/line/LineInlineHeaders.h:
1642         (WebCore::shouldCollapseWhiteSpace):
1643         * rendering/line/LineWidth.cpp:
1644         (WebCore::newFloatShrinksLine):
1645         * rendering/mathml/MathOperator.cpp:
1646         (WebCore::MathOperator::paint):
1647         * rendering/mathml/RenderMathMLFraction.cpp:
1648         (WebCore::RenderMathMLFraction::paint):
1649         * rendering/mathml/RenderMathMLMath.cpp:
1650         (WebCore::RenderMathMLMath::layoutBlock):
1651         * rendering/mathml/RenderMathMLMenclose.cpp:
1652         (WebCore::RenderMathMLMenclose::paint):
1653         * rendering/mathml/RenderMathMLRoot.cpp:
1654         (WebCore::RenderMathMLRoot::paint):
1655         * rendering/mathml/RenderMathMLToken.cpp:
1656         (WebCore::RenderMathMLToken::paint):
1657         * rendering/shapes/BoxShape.cpp:
1658         (WebCore::computeRoundedRectForBoxShape):
1659         * rendering/shapes/ShapeOutsideInfo.cpp:
1660         (WebCore::referenceBox):
1661         (WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
1662         (WebCore::ShapeOutsideInfo::logicalTopOffset const):
1663         (WebCore::ShapeOutsideInfo::logicalLeftOffset const):
1664         * rendering/style/CounterContent.h:
1665         (WebCore::CounterContent::CounterContent):
1666         (WebCore::CounterContent::listStyle const):
1667         * rendering/style/RenderStyle.cpp:
1668         (WebCore::RenderStyle::createAnonymousStyleWithDisplay):
1669         (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle):
1670         (WebCore::RenderStyle::RenderStyle):
1671         (WebCore::RenderStyle::hasUniquePseudoStyle const):
1672         (WebCore::RenderStyle::getCachedPseudoStyle const):
1673         (WebCore::RenderStyle::addCachedPseudoStyle):
1674         (WebCore::RenderStyle::changeRequiresLayout const):
1675         (WebCore::requiresPainting):
1676         (WebCore::RenderStyle::hyphenString const):
1677         (WebCore::RenderStyle::textEmphasisMarkString const):
1678         (WebCore::RenderStyle::visitedDependentColor const):
1679         (WebCore::RenderStyle::textEmphasisMark const):
1680         (WebCore::RenderStyle::setColumnStylesFromPaginationMode):
1681         * rendering/style/RenderStyle.h:
1682         (WebCore::RenderStyle::setStyleType):
1683         (WebCore::RenderStyle::setRTLOrdering):
1684         (WebCore::RenderStyle::display const):
1685         (WebCore::RenderStyle::visibility const):
1686         (WebCore::RenderStyle::textAlign const):
1687         (WebCore::RenderStyle::textTransform const):
1688         (WebCore::RenderStyle::whiteSpace const):
1689         (WebCore::RenderStyle::emptyCells const):
1690         (WebCore::RenderStyle::captionSide const):
1691         (WebCore::RenderStyle::listStyleType const):
1692         (WebCore::RenderStyle::listStylePosition const):
1693         (WebCore::RenderStyle::cursor const):
1694         (WebCore::RenderStyle::insideLink const):
1695         (WebCore::RenderStyle::borderFit const):
1696         (WebCore::RenderStyle::pointerEvents const):
1697         (WebCore::RenderStyle::setDisplay):
1698         (WebCore::RenderStyle::setOriginalDisplay):
1699         (WebCore::RenderStyle::setVisibility):
1700         (WebCore::RenderStyle::setTextAlign):
1701         (WebCore::RenderStyle::setTextTransform):
1702         (WebCore::RenderStyle::setTextDecorationStyle):
1703         (WebCore::RenderStyle::setTextDecorationSkip):
1704         (WebCore::RenderStyle::setTextUnderlinePosition):
1705         (WebCore::RenderStyle::setDirection):
1706         (WebCore::RenderStyle::setTextZoom):
1707         (WebCore::RenderStyle::setWhiteSpace):
1708         (WebCore::RenderStyle::setEmptyCells):
1709         (WebCore::RenderStyle::setCaptionSide):
1710         (WebCore::RenderStyle::setListStyleType):
1711         (WebCore::RenderStyle::setListStylePosition):
1712         (WebCore::RenderStyle::setCursor):
1713         (WebCore::RenderStyle::setCursorVisibility):
1714         (WebCore::RenderStyle::setInsideLink):
1715         (WebCore::RenderStyle::setHyphens):
1716         (WebCore::RenderStyle::setBorderFit):
1717         (WebCore::RenderStyle::setColumnAxis):
1718         (WebCore::RenderStyle::setColumnProgression):
1719         (WebCore::RenderStyle::setTextEmphasisFill):
1720         (WebCore::RenderStyle::setTextEmphasisMark):
1721         (WebCore::RenderStyle::setRubyPosition):
1722         (WebCore::RenderStyle::setBreakBefore):
1723         (WebCore::RenderStyle::setBreakAfter):
1724         (WebCore::RenderStyle::setBreakInside):
1725         (WebCore::RenderStyle::setHangingPunctuation):
1726         (WebCore::RenderStyle::setLineSnap):
1727         (WebCore::RenderStyle::setLineAlign):
1728         (WebCore::RenderStyle::setPointerEvents):
1729         (WebCore::RenderStyle::initialDisplay):
1730         (WebCore::RenderStyle::initialBreakBetween):
1731         (WebCore::RenderStyle::initialBreakInside):
1732         (WebCore::RenderStyle::initialCaptionSide):
1733         (WebCore::RenderStyle::initialColumnAxis):
1734         (WebCore::RenderStyle::initialColumnProgression):
1735         (WebCore::RenderStyle::initialEmptyCells):
1736         (WebCore::RenderStyle::initialListStylePosition):
1737         (WebCore::RenderStyle::initialListStyleType):
1738         (WebCore::RenderStyle::initialTextTransform):
1739         (WebCore::RenderStyle::initialVisibility):
1740         (WebCore::RenderStyle::initialWhiteSpace):
1741         (WebCore::RenderStyle::initialCursor):
1742         (WebCore::RenderStyle::initialTextAlign):
1743         (WebCore::RenderStyle::initialTextDecorationStyle):
1744         (WebCore::RenderStyle::initialTextZoom):
1745         (WebCore::RenderStyle::initialHyphens):
1746         (WebCore::RenderStyle::initialBorderFit):
1747         (WebCore::RenderStyle::initialRTLOrdering):
1748         (WebCore::RenderStyle::initialPointerEvents):
1749         (WebCore::RenderStyle::initialTextEmphasisColor):
1750         (WebCore::RenderStyle::initialTextEmphasisFill):
1751         (WebCore::RenderStyle::initialTextEmphasisMark):
1752         (WebCore::RenderStyle::initialRubyPosition):
1753         (WebCore::RenderStyle::initialImageResolutionSource):
1754         (WebCore::RenderStyle::initialImageResolutionSnap):
1755         (WebCore::RenderStyle::initialTextAlignLast):
1756         (WebCore::RenderStyle::initialTextJustify):
1757         (WebCore::RenderStyle::initialCursorVisibility):
1758         (WebCore::RenderStyle::initialGridAutoRepeatType):
1759         (WebCore::RenderStyle::initialLineSnap):
1760         (WebCore::RenderStyle::initialLineAlign):
1761         (WebCore::RenderStyle::NonInheritedFlags::hasAnyPublicPseudoStyles const):
1762         (WebCore::RenderStyle::originalDisplay const):
1763         (WebCore::RenderStyle::NonInheritedFlags::hasPseudoStyle const):
1764         (WebCore::RenderStyle::NonInheritedFlags::setHasPseudoStyle):
1765         (WebCore::RenderStyle::NonInheritedFlags::setHasPseudoStyles):
1766         (WebCore::RenderStyle::autoWrap):
1767         (WebCore::RenderStyle::preserveNewline):
1768         (WebCore::RenderStyle::collapseWhiteSpace):
1769         (WebCore::RenderStyle::breakOnlyAfterWhiteSpace const):
1770         (WebCore::RenderStyle::hasInlineColumnAxis const):
1771         (WebCore::RenderStyle::isDisplayRegionType const):
1772         (WebCore::RenderStyle::isDisplayReplacedType):
1773         (WebCore::RenderStyle::isDisplayInlineType):
1774         (WebCore::RenderStyle::isDisplayFlexibleBox):
1775         (WebCore::RenderStyle::isDisplayGridBox):
1776         (WebCore::RenderStyle::isDisplayFlexibleOrGridBox):
1777         (WebCore::pseudoElementRendererIsNeeded):
1778         * rendering/style/RenderStyleConstants.cpp:
1779         (WebCore::operator<<):
1780         (WebCore::alwaysPageBreak):
1781         * rendering/style/RenderStyleConstants.h:
1782         (WebCore::PseudoIdSet::has const):
1783         (WebCore::PseudoIdSet::add):
1784         * rendering/style/ShapeValue.h:
1785         * rendering/style/StyleMultiColData.cpp:
1786         (WebCore::StyleMultiColData::StyleMultiColData):
1787         * rendering/style/StyleRareInheritedData.cpp:
1788         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1789         * rendering/style/StyleRareNonInheritedData.cpp:
1790         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1791         * rendering/style/StyleRareNonInheritedData.h:
1792         * rendering/svg/RenderSVGContainer.cpp:
1793         (WebCore::RenderSVGContainer::paint):
1794         * rendering/svg/RenderSVGImage.cpp:
1795         (WebCore::RenderSVGImage::paint):
1796         (WebCore::RenderSVGImage::nodeAtFloatPoint):
1797         * rendering/svg/RenderSVGInlineText.cpp:
1798         (WebCore::RenderSVGInlineText::styleDidChange):
1799         * rendering/svg/RenderSVGModelObject.cpp:
1800         (WebCore::RenderSVGModelObject::checkIntersection):
1801         (WebCore::RenderSVGModelObject::checkEnclosure):
1802         * rendering/svg/RenderSVGResource.cpp:
1803         (WebCore::requestPaintingResource):
1804         * rendering/svg/RenderSVGResourceClipper.cpp:
1805         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
1806         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1807         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
1808         * rendering/svg/RenderSVGResourceMasker.cpp:
1809         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
1810         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
1811         * rendering/svg/RenderSVGRoot.cpp:
1812         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint const):
1813         * rendering/svg/RenderSVGShape.cpp:
1814         (WebCore::RenderSVGShape::paint):
1815         (WebCore::RenderSVGShape::nodeAtFloatPoint):
1816         * rendering/svg/RenderSVGText.cpp:
1817         (WebCore::RenderSVGText::nodeAtFloatPoint):
1818         * rendering/svg/SVGInlineTextBox.cpp:
1819         (WebCore::SVGInlineTextBox::paintSelectionBackground):
1820         (WebCore::SVGInlineTextBox::paint):
1821         (WebCore::SVGInlineTextBox::constructTextRun const):
1822         (WebCore::SVGInlineTextBox::paintDecoration):
1823         (WebCore::SVGInlineTextBox::nodeAtPoint):
1824         * rendering/svg/SVGRenderSupport.cpp:
1825         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
1826         * rendering/svg/SVGRenderingContext.cpp:
1827         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1828         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1829         (WebCore::processRenderSVGInlineText):
1830         * rendering/svg/SVGTextMetricsBuilder.cpp:
1831         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
1832         * rendering/updating/RenderTreeBuilderBlock.cpp:
1833         (WebCore::RenderTreeBuilder::Block::detach):
1834         * rendering/updating/RenderTreeBuilderFirstLetter.cpp:
1835         (WebCore::styleForFirstLetter):
1836         (WebCore::RenderTreeBuilder::FirstLetter::updateAfterDescendants):
1837         (WebCore::RenderTreeBuilder::FirstLetter::updateStyle):
1838         (WebCore::RenderTreeBuilder::FirstLetter::createRenderers):
1839         * rendering/updating/RenderTreeBuilderInline.cpp:
1840         (WebCore::RenderTreeBuilder::Inline::attachIgnoringContinuation):
1841         (WebCore::RenderTreeBuilder::Inline::newChildIsInline):
1842         * rendering/updating/RenderTreeBuilderList.cpp:
1843         (WebCore::RenderTreeBuilder::List::updateItemMarker):
1844         * rendering/updating/RenderTreeBuilderMathML.cpp:
1845         (WebCore::RenderTreeBuilder::MathML::createMathMLOperator):
1846         * rendering/updating/RenderTreeBuilderMultiColumn.cpp:
1847         (WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
1848         (WebCore::RenderTreeBuilder::MultiColumn::processPossibleSpannerDescendant):
1849         * rendering/updating/RenderTreeBuilderRuby.cpp:
1850         (WebCore::isAnonymousRubyInlineBlock):
1851         (WebCore::isRubyBeforeBlock):
1852         (WebCore::isRubyAfterBlock):
1853         (WebCore::createAnonymousRubyInlineBlock):
1854         * rendering/updating/RenderTreeBuilderTable.cpp:
1855         (WebCore::RenderTreeBuilder::Table::findOrCreateParentForChild):
1856         * rendering/updating/RenderTreeUpdater.cpp:
1857         (WebCore::RenderTreeUpdater::updateBeforeDescendants):
1858         (WebCore::RenderTreeUpdater::updateAfterDescendants):
1859         (WebCore::RenderTreeUpdater::updateElementRenderer):
1860         (WebCore::elementImplicitVisibility):
1861         (WebCore::CheckForVisibilityChange::CheckForVisibilityChange):
1862         (WebCore::CheckForVisibilityChange::~CheckForVisibilityChange):
1863         * rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
1864         (WebCore::RenderTreeUpdater::GeneratedContent::updatePseudoElement):
1865         * style/InlineTextBoxStyle.cpp:
1866         (WebCore::visualOverflowForDecorations):
1867         * style/StyleChange.cpp:
1868         (WebCore::Style::determineChange):
1869         * style/StyleFontSizeFunctions.cpp:
1870         (WebCore::Style::computedFontSizeFromSpecifiedSize):
1871         * style/StyleResolveForDocument.cpp:
1872         (WebCore::Style::resolveForDocument):
1873         * style/StyleSharingResolver.cpp:
1874         * style/StyleTreeResolver.cpp:
1875         (WebCore::Style::affectsRenderedSubtree):
1876         (WebCore::Style::TreeResolver::resolveElement):
1877         (WebCore::Style::TreeResolver::resolvePseudoStyle):
1878         (WebCore::Style::TreeResolver::parentBoxStyle const):
1879         (WebCore::Style::createInheritedDisplayContentsStyleIfNeeded):
1880         (WebCore::Style::TreeResolver::resolveComposedTree):
1881         * svg/SVGElement.h:
1882         * svg/SVGGElement.cpp:
1883         (WebCore::SVGGElement::createElementRenderer):
1884
1885 2018-05-24  Chris Dumez  <cdumez@apple.com>
1886
1887         Enable subsampling for progressive JPEG images
1888         https://bugs.webkit.org/show_bug.cgi?id=185956
1889
1890         Reviewed by Said Abou-Hallawa.
1891
1892         Enable subsampling for progressive JPEG images now that it is supposed (rdar://problem/5191418).
1893         I verified locally that such images are still loading and do not cause any hang on iOS.
1894
1895         * platform/graphics/cg/ImageDecoderCG.cpp:
1896         (WebCore::ImageDecoderCG::frameAllowSubsamplingAtIndex const):
1897
1898 2018-05-24  Chris Dumez  <cdumez@apple.com>
1899
1900         Reduce copying of FontCascadeDescription objects by moving them around
1901         https://bugs.webkit.org/show_bug.cgi?id=185963
1902
1903         Reviewed by Simon Fraser.
1904
1905         Reduce copying of FontCascadeDescription objects by moving them around when possible.
1906
1907         * css/StyleBuilderCustom.h:
1908         (WebCore::StyleBuilderCustom::applyValueWebkitLocale):
1909         (WebCore::StyleBuilderCustom::applyInitialFontFamily):
1910         (WebCore::StyleBuilderCustom::applyInheritFontFamily):
1911         (WebCore::StyleBuilderCustom::applyValueFontFamily):
1912         (WebCore::StyleBuilderCustom::applyInheritFontVariantLigatures):
1913         (WebCore::StyleBuilderCustom::applyInitialFontVariantLigatures):
1914         (WebCore::StyleBuilderCustom::applyValueFontVariantLigatures):
1915         (WebCore::StyleBuilderCustom::applyInheritFontVariantNumeric):
1916         (WebCore::StyleBuilderCustom::applyInitialFontVariantNumeric):
1917         (WebCore::StyleBuilderCustom::applyValueFontVariantNumeric):
1918         (WebCore::StyleBuilderCustom::applyInheritFontVariantEastAsian):
1919         (WebCore::StyleBuilderCustom::applyInitialFontVariantEastAsian):
1920         (WebCore::StyleBuilderCustom::applyValueFontVariantEastAsian):
1921         (WebCore::StyleBuilderCustom::applyInitialFontSize):
1922         (WebCore::StyleBuilderCustom::applyInheritFontSize):
1923         (WebCore::StyleBuilderCustom::applyInitialFontStyle):
1924         (WebCore::StyleBuilderCustom::applyInheritFontStyle):
1925         (WebCore::StyleBuilderCustom::applyValueFontStyle):
1926         (WebCore::StyleBuilderCustom::applyValueFontSize):
1927         * css/StyleResolver.cpp:
1928         (WebCore::checkForOrientationChange):
1929         (WebCore::StyleResolver::checkForTextSizeAdjust):
1930         (WebCore::StyleResolver::checkForZoomChange):
1931         (WebCore::StyleResolver::checkForGenericFamilyChange):
1932         (WebCore::StyleResolver::initializeFontStyle):
1933         * css/StyleResolver.h:
1934         (WebCore::StyleResolver::State::setFontDescription):
1935         (WebCore::StyleResolver::setFontDescription):
1936         * css/makeprop.pl:
1937         (generateInitialValueSetter):
1938         (generateInheritValueSetter):
1939         (generateValueSetter):
1940         * html/canvas/CanvasRenderingContext2D.cpp:
1941         (WebCore::CanvasRenderingContext2D::setFont):
1942         * page/DebugPageOverlays.cpp:
1943         (WebCore::NonFastScrollableRegionOverlay::drawRect):
1944         * page/linux/ResourceUsageOverlayLinux.cpp:
1945         * platform/graphics/FontCascade.cpp:
1946         (WebCore::FontCascade::FontCascade):
1947         * platform/graphics/FontCascade.h:
1948         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1949         (PlatformCALayerWin::drawTextAtPoint const):
1950         * platform/mock/MockRealtimeVideoSource.cpp:
1951         (WebCore::MockRealtimeVideoSource::drawText):
1952         * platform/win/DragImageWin.cpp:
1953         (WebCore::dragLabelFont):
1954         * platform/win/PopupMenuWin.cpp:
1955         (WebCore::PopupMenuWin::calculatePositionAndSize):
1956         (WebCore::PopupMenuWin::paint):
1957         * rendering/RenderBox.cpp:
1958         (WebCore::RenderBox::styleDidChange):
1959         * rendering/RenderCombineText.cpp:
1960         (WebCore::RenderCombineText::combineTextIfNeeded):
1961         * rendering/RenderEmbeddedObject.cpp:
1962         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry const):
1963         * rendering/RenderListBox.cpp:
1964         (WebCore::bolder):
1965         (WebCore::RenderListBox::paintItemForeground):
1966         * rendering/RenderListItem.cpp:
1967         (WebCore::RenderListItem::computeMarkerStyle const):
1968         * rendering/RenderTheme.cpp:
1969         (WebCore::RenderTheme::adjustStyle):
1970         * rendering/RenderThemeMac.mm:
1971         (WebCore::RenderThemeMac::setFontFromControlSize const):
1972         * rendering/TextAutoSizing.cpp:
1973         (WebCore::TextAutoSizingValue::adjustTextNodeSizes):
1974         (WebCore::TextAutoSizingValue::reset):
1975         * rendering/style/RenderStyle.cpp:
1976         (WebCore::RenderStyle::setFontDescription):
1977         (WebCore::RenderStyle::setFontSize):
1978         (WebCore::RenderStyle::setFontVariationSettings):
1979         (WebCore::RenderStyle::setFontWeight):
1980         (WebCore::RenderStyle::setFontStretch):
1981         (WebCore::RenderStyle::setFontItalic):
1982         * rendering/style/RenderStyle.h:
1983         * rendering/svg/RenderSVGInlineText.cpp:
1984         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
1985         * rendering/updating/RenderTreeBuilderFirstLetter.cpp:
1986         (WebCore::styleForFirstLetter):
1987         * style/StyleResolveForDocument.cpp:
1988         (WebCore::Style::resolveForDocument):
1989
1990 2018-05-24  Chris Dumez  <cdumez@apple.com>
1991
1992         Avoid constructing the string "all" repeatedly in MediaQueryParser
1993         https://bugs.webkit.org/show_bug.cgi?id=185961
1994
1995         Reviewed by Simon Fraser.
1996
1997         Avoid constructing the string "all" repeatedly in MediaQueryParser by:
1998         - Having MediaQueryData use an std::optional<String> instead of a String
1999         - Updating MediaQueryParser to use a static to store the default media type
2000           and use it when the MediaQueryData's media type is std::nullopt.
2001
2002         Also do some cleanup.
2003
2004         * css/parser/MediaQueryParser.cpp:
2005         (WebCore::MediaQueryParser::commitMediaQuery):
2006         (WebCore::MediaQueryParser::MediaQueryData::MediaQueryData):
2007         (WebCore::MediaQueryParser::MediaQueryData::clear):
2008         (WebCore::MediaQueryParser::MediaQueryData::addExpression):
2009         (WebCore::MediaQueryParser::MediaQueryData::lastExpressionValid):
2010         (WebCore::MediaQueryParser::MediaQueryData::removeLastExpression):
2011         * css/parser/MediaQueryParser.h:
2012         (WebCore::MediaQueryParser::MediaQueryData::setMediaType):
2013         (WebCore::MediaQueryParser::MediaQueryData::restrictor const):
2014         (WebCore::MediaQueryParser::MediaQueryData::expressions):
2015         (WebCore::MediaQueryParser::MediaQueryData::mediaType const):
2016         (WebCore::MediaQueryParser::MediaQueryData::currentMediaQueryChanged const):
2017         (WebCore::MediaQueryParser::MediaQueryData::restrictor):
2018         (WebCore::MediaQueryParser::MediaQueryData::setRestrictor):
2019         (WebCore::MediaQueryParser::MediaQueryData::setMediaFeature):
2020         (WebCore::MediaQueryParser::MediaQueryData::setMediaQueryParserContext):
2021
2022 2018-05-24  Joseph Pecoraro  <pecoraro@apple.com>
2023
2024         [iOS] Hard link AppSupport instead of soft linking
2025         https://bugs.webkit.org/show_bug.cgi?id=185959
2026         <rdar://problem/40506538>
2027
2028         Reviewed by Timothy Horton.
2029
2030         * Configurations/WebCore.xcconfig:
2031         * platform/network/ios/NetworkStateNotifierIOS.mm:
2032         (-[WebNetworkStateObserver initWithBlock:]):
2033         (WebCore::NetworkStateNotifier::updateStateWithoutNotifying):
2034
2035 2018-05-24  Chris Dumez  <cdumez@apple.com>
2036
2037         Cache navigator.userAgent for performance
2038         https://bugs.webkit.org/show_bug.cgi?id=185952
2039
2040         Reviewed by Geoffrey Garen.
2041
2042         Cache navigator.userAgent for performance. Previously, we would ask the client 5 times
2043         while loading apple.com.
2044
2045         * page/Navigator.cpp:
2046         (WebCore::Navigator::userAgent const):
2047         * page/Navigator.h:
2048         * page/NavigatorBase.h:
2049         * page/NavigatorID.idl:
2050         * page/WorkerNavigator.cpp:
2051         (WebCore::WorkerNavigator::userAgent const):
2052         * page/WorkerNavigator.h:
2053
2054 2018-05-24  Chris Dumez  <cdumez@apple.com>
2055
2056         Some of the work in initializeLogChannelsIfNecessary() is unnecessary for release builds
2057         https://bugs.webkit.org/show_bug.cgi?id=185951
2058
2059         Reviewed by Geoffrey Garen.
2060
2061         Some of the work in initializeLogChannelsIfNecessary() is unnecessary for release builds and slows down
2062         launch time. In particular, it is unnecessary to read NSDefaults to figure out which logging channels
2063         should be enabled.
2064
2065         * platform/mac/LoggingMac.mm:
2066         (WebCore::logLevelString):
2067         * platform/unix/LoggingUnix.cpp:
2068         (WebCore::logLevelString):
2069         * platform/win/LoggingWin.cpp:
2070         (WebCore::logLevelString):
2071
2072 2018-05-24  Chris Dumez  <cdumez@apple.com>
2073
2074         [iOS WK2] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/update-after-navigation-fetch-event.https.html is a flaky failure
2075         https://bugs.webkit.org/show_bug.cgi?id=181499
2076         <rdar://problem/36443428>
2077
2078         Reviewed by Youenn Fablet.
2079
2080         After resolving a registration promise, we send an IPC back to the StorageProcess
2081         for synchronization purposes, to make sure the registration does not get updated
2082         before the promise's JS code has been executed. However, resolving a promise
2083         schedules a microtask to run the JS and we would therefore send the IPC back too
2084         early, thus causing flakiness. We now only send the IPC back back only after that
2085         microtask has run and the JS has been executed.
2086
2087         * bindings/js/JSDOMPromiseDeferred.cpp:
2088         (WebCore::DeferredPromise::callFunction):
2089         (WebCore::DeferredPromise::whenSettled):
2090         * bindings/js/JSDOMPromiseDeferred.h:
2091         * workers/service/ServiceWorkerContainer.cpp:
2092         (WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
2093
2094 2018-05-24  Jinho Bang  <zino@chromium.org>
2095
2096         [PaymentRequest] Remove currencySystem member
2097         https://bugs.webkit.org/show_bug.cgi?id=185860
2098
2099         Reviewed by Andy Estes.
2100
2101         After a long discussion, Web Payment Working Group decided to remove
2102         the `currencySystem` member[1]. The currency code should be well-formed
2103         3-letter alphabetic code and is allowed even if that is not part of
2104         the official ISO 4217 list.
2105
2106         [1] https://github.com/w3c/payment-request/pull/694
2107
2108         Test: http/tests/inspector/paymentrequest/payment-request-internal-properties.https.html
2109
2110         * Modules/paymentrequest/PaymentCurrencyAmount.h:
2111         * Modules/paymentrequest/PaymentCurrencyAmount.idl:
2112         * Modules/paymentrequest/PaymentRequest.cpp:
2113         (WebCore::checkAndCanonicalizeAmount):
2114         (WebCore::checkAndCanonicalizeTotal):
2115         * inspector/WebInjectedScriptHost.cpp:
2116         (WebCore::objectForPaymentCurrencyAmount):
2117
2118 2018-05-24  Zalan Bujtas  <zalan@apple.com>
2119
2120         [LFC] Implement position computation for inflow positioned elements
2121         https://bugs.webkit.org/show_bug.cgi?id=185936
2122
2123         Reviewed by Antti Koivisto.
2124
2125         * layout/blockformatting/BlockFormattingContext.cpp:
2126         (WebCore::Layout::BlockFormattingContext::computeInFlowPositionedPosition const):
2127         * layout/blockformatting/BlockFormattingContext.h:
2128         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
2129         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowPositionedPosition):
2130
2131 2018-05-24  Zalan Bujtas  <zalan@apple.com>
2132
2133         [LFC] Implement FormattingContext::placeInFlowPositionedChildren
2134         https://bugs.webkit.org/show_bug.cgi?id=185934
2135
2136         Reviewed by Antti Koivisto.
2137
2138         * layout/FormattingContext.cpp:
2139         (WebCore::Layout::FormattingContext::computeInFlowPositionedPosition const):
2140         (WebCore::Layout::FormattingContext::placeInFlowPositionedChildren const):
2141         * layout/FormattingContext.h:
2142         * layout/blockformatting/BlockFormattingContext.cpp:
2143         (WebCore::Layout::BlockFormattingContext::layout const):
2144
2145 2018-05-23  Joseph Pecoraro  <pecoraro@apple.com>
2146
2147         Use ASCIILiteral with applicationBundleIsEqualTo in RuntimeApplicationChecksCocoa
2148         https://bugs.webkit.org/show_bug.cgi?id=185935
2149
2150         Reviewed by Yusuke Suzuki.
2151
2152         * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
2153         (WebCore::MacApplication::isSafari):
2154         (WebCore::MacApplication::isAppleMail):
2155         (WebCore::MacApplication::isIBooks):
2156         (WebCore::MacApplication::isITunes):
2157         (WebCore::MacApplication::isMicrosoftMessenger):
2158         (WebCore::MacApplication::isAdobeInstaller):
2159         (WebCore::MacApplication::isAOLInstantMessenger):
2160         (WebCore::MacApplication::isMicrosoftMyDay):
2161         (WebCore::MacApplication::isMicrosoftOutlook):
2162         (WebCore::MacApplication::isQuickenEssentials):
2163         (WebCore::MacApplication::isAperture):
2164         (WebCore::MacApplication::isVersions):
2165         (WebCore::MacApplication::isHRBlock):
2166         (WebCore::MacApplication::isIAdProducer):
2167         (WebCore::MacApplication::isSolidStateNetworksDownloader):
2168         (WebCore::IOSApplication::isMobileMail):
2169         (WebCore::IOSApplication::isMobileSafari):
2170         (WebCore::IOSApplication::isWebBookmarksD):
2171         (WebCore::IOSApplication::isDumpRenderTree):
2172         (WebCore::IOSApplication::isMobileStore):
2173         (WebCore::IOSApplication::isSpringBoard):
2174         (WebCore::IOSApplication::isWebApp):
2175         (WebCore::IOSApplication::isIBooks):
2176         (WebCore::IOSApplication::isIBooksStorytime):
2177         (WebCore::IOSApplication::isTheSecretSocietyHiddenMystery):
2178         (WebCore::IOSApplication::isCardiogram):
2179         (WebCore::IOSApplication::isNike):
2180
2181 2018-05-23  Brent Fulgham  <bfulgham@apple.com>
2182
2183         Avoid keeping FormState alive longer than necessary
2184         https://bugs.webkit.org/show_bug.cgi?id=185877
2185         <rdar://problem/39329219>
2186
2187         Reviewed by Ryosuke Niwa.
2188
2189         A number of crash fixes were done to prevent FormState objects from being
2190         accessed after their relevant Frames had been destroyed. Unfortunately, this
2191         could cause the FormState to persist after the owning Frame had been
2192         destroyed, resulting in nullptr dereferences.
2193
2194         This patch does the following:
2195
2196         1. Uses WeakPtr's for FormState objects passed to completion handlers, rather
2197            than RefPtr, since those completion handlers might fire as part of the
2198            clean-up process during Frame destruction. This allows us to use the FormState
2199            if they are still valid, but gracefully handle cases where a form submission
2200            is cancelled in-flight.
2201         2. Moves FormState object as they pass through the loader.
2202         3. Removes some extraneous WTFMove() calls being made on bare FormState pointers.
2203         4. Changes FormSubmission to hold a RefPtr so we can move the FormState to the
2204            loader in the code path that uses it (the FormSubmission is always destroyed
2205            shortly afterwards).
2206         5. Changes the trap from Bug 183704 so that it only fires if the FormState object
2207            is being retained more than once.
2208
2209         * loader/DocumentLoader.cpp:
2210         (WebCore::DocumentLoader::willSendRequest): Update for new CompletionHandler
2211         signature.
2212         * loader/FormState.cpp:
2213         (WebCore::FormState::willDetachPage): Revise trap to check for retain counts
2214         above one.
2215         * loader/FormState.h:
2216         (WebCore::FormState::weakPtrFactory const): Added.
2217         * loader/FormSubmission.h:
2218         (WebCore::FormSubmission::state const): Revised for change to RefPtr.
2219         (WebCore::FormSubmission::takeState): Added.
2220         * loader/FrameLoader.cpp:
2221         (WebCore::FrameLoader::urlSelected): Update for new CompletionHandler signature.
2222         (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
2223         (WebCore::FrameLoader::loadFrameRequest): Ditto.
2224         (WebCore::FrameLoader::loadURL): Ditto.
2225         (WebCore::FrameLoader::load): Ditto.
2226         (WebCore::FrameLoader::loadWithNavigationAction): Ditto.
2227         (WebCore::FrameLoader::loadWithDocumentLoader): Ditto.
2228         (WebCore::FrameLoader::reloadWithOverrideEncoding): Ditto.
2229         (WebCore::FrameLoader::reload): Ditto.
2230         (WebCore::FrameLoader::loadPostRequest): Ditto.
2231         (WebCore::FrameLoader::loadDifferentDocumentItem): Ditto.
2232         * loader/FrameLoader.h:
2233         * loader/NavigationScheduler.cpp:
2234         * loader/PolicyChecker.cpp:
2235         (WebCore::PolicyChecker::checkNavigationPolicy):Revise to use WeakPtr for
2236         FormState passed to the completion handler. Remove some extraneous WTFMove()
2237         calls on bare pointers.
2238         (WebCore::PolicyChecker::checkNewWindowPolicy): Ditto.
2239         * loader/PolicyChecker.h:
2240         * page/ContextMenuController.cpp:
2241         (WebCore::openNewWindow): Revise for new signatures.
2242         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
2243
2244 2018-05-23  Keith Miller  <keith_miller@apple.com>
2245
2246         Expose $vm if window.internals is exposed
2247         https://bugs.webkit.org/show_bug.cgi?id=185900
2248
2249         Reviewed by Mark Lam.
2250
2251         This is useful for testing vm internals when running LayoutTests.
2252
2253         * testing/js/WebCoreTestSupport.cpp:
2254         (WebCoreTestSupport::injectInternalsObject):
2255
2256 2018-05-23  David Kilzer  <ddkilzer@apple.com>
2257
2258         Don't create the SubimageCache just to clear an image from it
2259         <https://webkit.org/b/185757>
2260
2261         Reviewed by Said Abou-Hallawa.
2262
2263         To fix this we make SubimageCacheWithTimer::clearImage() a
2264         static class method that checks whether the cache exists before
2265         removing it.  We also make SubimageCacheWithTimer::getImage() a
2266         static class method, and move more methods into the
2267         SubimageCacheWithTimer class and make them private to reduce API
2268         footprint.
2269
2270         * platform/graphics/cg/GraphicsContextCG.cpp:
2271         (WebCore::GraphicsContext::drawNativeImage): Switch to use new
2272         SubimageCacheWithTimer::getSubimage() static class method.
2273         * platform/graphics/cg/NativeImageCG.cpp:
2274         (WebCore::clearNativeImageSubimages): Switch to use new
2275         SubimageCacheWithTimer::clearImage() static class method which
2276         returns early if the subimage cache has not been created yet.
2277         This fixes the bug.
2278
2279         * platform/graphics/cg/SubimageCacheWithTimer.cpp:
2280         (WebCore::SubimageCacheWithTimer::s_cache): Allocate space for
2281         static class variable.
2282         (WebCore::SubimageCacheWithTimer::getSubimage): Replace instance
2283         method with new static class method that gets the subimage cache
2284         singleton and calls the subimage() instance method.
2285         (WebCore::SubimageCacheWithTimer::clearImage): Replace instance
2286         methdod with new static class method that returns early if the
2287         static cache singleton doesn't exist (fixes the bug), otherwise
2288         calls the clearImageAndSubimages() instance method.
2289         (WebCore::SubimageCacheWithTimer::subimage): Rename from
2290         getSubimage().  Use `auto` after renaming SubimageCache typedef
2291         to SubimageCacheHashSet.
2292         (WebCore::SubimageCacheWithTimer::clearImageAndSubimages):
2293         Rename from clearImage().  Modernize loops.
2294         (WebCore::SubimageCacheWithTimer::subimageCache): Change
2295         WebCore::subimageCache() to a static class method that creates
2296         the subimage cache singleton if it doesn't exist yet, and
2297         returns it.
2298         (WebCore::SubimageCacheWithTimer::subimageCacheExists): Add.
2299         Returns false if the subimage cache singleton has not been
2300         created yet.
2301
2302         * platform/graphics/cg/SubimageCacheWithTimer.h:
2303         - Rename typedef SubimageCache to SubimageCacheHashSet to avoid
2304           general confusion.
2305         (WebCore::SubimageCacheWithTimer::getSubimage):
2306         (WebCore::SubimageCacheWithTimer::clearImage):
2307         - Change to static class methods.
2308         (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer):
2309         - Make private.
2310         (WebCore::SubimageCacheWithTimer::subimage):
2311         - Rename from getSubimage() and make private.
2312         (WebCore::SubimageCacheWithTimer::clearImageAndSubimages):
2313         - Rename from clearImage() and make private.
2314         (WebCore::SubimageCacheWithTimer::subimageCache):
2315         - Rename from WebCore::subimageCache() and make a private static
2316           class method.
2317         (WebCore::SubimageCacheWithTimer::subimageCacheExists):
2318         - Add private static class method.
2319         (WebCore::SubimageCacheWithTimer::s_cache):
2320         - Declare private static variable to hold singleton.
2321
2322 2018-05-23  Eric Carlson  <eric.carlson@apple.com>
2323
2324         Avoid loading AVFoundation to check supported MIME types if possible
2325         https://bugs.webkit.org/show_bug.cgi?id=185839
2326         <rdar://problem/40182010>
2327
2328         Reviewed by Jer Noble.
2329
2330         Avoid loading AVFoundation to call +[AVURLAssetClass audiovisualMIMETypes] as long as possible,
2331         and when they are loaded send the list to the UI process so it can pass it to all extant
2332         and all new web processes so they can won't have call it at all.
2333
2334         * WebCore.xcodeproj/project.pbxproj:
2335         * platform/graphics/ImageDecoder.cpp:
2336         (WebCore::ImageDecoder::create): Don't call ImageDecoderAVFObjC::canDecodeType if 
2337         ImageDecoderCG can decode the type so we don't have to load AVFoundation.
2338         (WebCore::ImageDecoder::supportsMediaType): Return as soon as a decoder class says
2339         it supports a media type to avoid calling more than one. Call ImageDecoderAVFObjC last.
2340
2341         * platform/graphics/avfoundation/objc/AVFoundationMIMETypeCache.h:
2342         (WebCore::AVFoundationMIMETypeCache::setCacheMIMETypesCallback):
2343         * platform/graphics/avfoundation/objc/AVFoundationMIMETypeCache.mm:
2344         (WebCore::AVFoundationMIMETypeCache::singleton): Simplify.
2345         (WebCore::AVFoundationMIMETypeCache::setSupportedTypes): Cache the supplied list of types
2346         so we won't have to load AVFoundation when asked for types later.
2347         (WebCore::AVFoundationMIMETypeCache::types):
2348         (WebCore::AVFoundationMIMETypeCache::supportsContentType): New convenience routine.
2349         (WebCore::AVFoundationMIMETypeCache::canDecodeType): Ditto.
2350         (WebCore::AVFoundationMIMETypeCache::isAvailable const): New, check to see if AVFoundation.framework
2351         is available without actually loading it.
2352         (WebCore::AVFoundationMIMETypeCache::loadMIMETypes): Load types if possible.
2353         (WebCore::AVFoundationMIMETypeCache::AVFoundationMIMETypeCache): Deleted.
2354         (WebCore::AVFoundationMIMETypeCache::loadTypes): Deleted.
2355
2356         * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
2357         (WebCore::ImageDecoderAVFObjC::create): Use AVFoundationMIMETypeCache::isAvailable instead
2358         of loading the frameworks.
2359         (WebCore::ImageDecoderAVFObjC::supportsMediaType): Ditto.
2360         (WebCore::ImageDecoderAVFObjC::supportsContentType): Use AVFoundationMIMETypeCache::supportsContentType.
2361         (WebCore::ImageDecoderAVFObjC::canDecodeType): Use AVFoundationMIMETypeCache::canDecodeType.
2362
2363         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2364         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): ASSERT if the 
2365         AVFoundationMIMETypeCache is empty, it shouldn't be possible to get here in that state.
2366         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Use AVFoundationMIMETypeCache::supportsContentType.
2367         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem): Use AVFoundationMIMETypeCache::canDecodeType.
2368
2369         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2370         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): ASSERT if the 
2371         AVFoundationMIMETypeCache is empty, it shouldn't be possible to get here in that state.
2372         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Use AVFoundationMIMETypeCache::canDecodeType.
2373
2374         * platform/graphics/cg/ImageDecoderCG.cpp:
2375         (WebCore::ImageDecoderCG::canDecodeType): New.
2376         * platform/graphics/cg/ImageDecoderCG.h:
2377
2378 2018-05-23  Chris Dumez  <cdumez@apple.com>
2379
2380         RenderLayer::scrollRectToVisible() should not propagate a subframe's scroll to its cross-origin parent
2381         https://bugs.webkit.org/show_bug.cgi?id=185664
2382         <rdar://problem/36185260>
2383
2384         Reviewed by Simon Fraser.
2385
2386         RenderLayer::scrollRectToVisible() should not propagate a subframe's scroll to its
2387         cross-origin parent. There was logic in FrameLoader::scrollToFragmentWithParentBoundary()
2388         to temporarily set the 'safeToPropagateScrollToParent' flag to false on the cross-origin
2389         ancestor frame during the call to FrameView::scrollToFragment(). This would correctly
2390         prevent RenderLayer::scrollRectToVisible() to propagate the scroll to the cross-origin
2391         ancestor frame when scrollRectToVisible() is called synchronously. However,
2392         scrollRectToVisible() can get called asynchronously in case of a dirty layout, as part
2393         of the post layout tasks.
2394
2395         To address the issue, we get rid of the safeToPropagateScrollToParent flag on FrameView
2396         and instead update FrameView::safeToPropagateScrollToParent() to do the cross-origin
2397         check. FrameView::safeToPropagateScrollToParent() is called by RenderLayer::scrollRectToVisible()
2398         and this is a lot more robust than relying on a flag which gets temporarily set.
2399
2400         Test: http/tests/navigation/fragment-navigation-cross-origin-subframe-no-scrolling-parent.html
2401
2402         * dom/Document.cpp:
2403         * dom/Document.h:
2404         * loader/FrameLoader.cpp:
2405         (WebCore::FrameLoader::scrollToFragmentWithParentBoundary):
2406         * page/FrameView.cpp:
2407         (WebCore::FrameView::FrameView):
2408         (WebCore::FrameView::reset):
2409         (WebCore::FrameView::safeToPropagateScrollToParent const):
2410         * page/FrameView.h:
2411
2412 2018-05-23  Youenn Fablet  <youenn@apple.com>
2413
2414         NetworkLoadChecker should check cached redirections
2415         https://bugs.webkit.org/show_bug.cgi?id=185849
2416
2417         Reviewed by Chris Dumez.
2418
2419         Covered by rebased tests.
2420
2421         * loader/SubresourceLoader.cpp:
2422         (WebCore::SubresourceLoader::willSendRequestInternal):
2423        Log the case of a redirection with fetch error mode.
2424
2425 2018-05-23  Nan Wang  <n_wang@apple.com>
2426
2427         AX: setValue on contenteditable should preserve whitespace
2428         https://bugs.webkit.org/show_bug.cgi?id=185897
2429
2430         Reviewed by Chris Fleizach.
2431
2432         RenderText is using its parent renderer's style to determine if
2433         whitespace collapsing is necessary. So when setting the innerText
2434         of the element in setValue, let's also set its style in order to 
2435         preserve whitespaces.
2436
2437         Modified an existing test to cover this change.
2438
2439         * accessibility/AccessibilityRenderObject.cpp:
2440         (WebCore::AccessibilityRenderObject::setValue):
2441
2442 2018-05-23  Michael Catanzaro  <mcatanzaro@igalia.com>
2443
2444         [GTK] Silence GCC 8 warnings
2445         https://bugs.webkit.org/show_bug.cgi?id=185556
2446
2447         Reviewed by Žan Doberšek.
2448
2449         Silence remaining -Wcast-function-type warnings by casting through void (*)(void), aka
2450         GCallback.
2451
2452         * accessibility/atk/WebKitAccessibleHyperlink.cpp:
2453         (webkitAccessibleHyperlinkSetProperty):
2454         (webkitAccessibleHyperlinkGetType):
2455         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2456         (webkitAccessibleGetType):
2457         * platform/network/soup/NetworkStorageSessionSoup.cpp:
2458         (WebCore::NetworkStorageSession::getCredentialFromPersistentStorage):
2459
2460 2018-05-23  Zalan Bujtas  <zalan@apple.com>
2461
2462         [LFC] Move sizing/positioning logic to helper classes
2463         https://bugs.webkit.org/show_bug.cgi?id=185898
2464
2465         Reviewed by Antti Koivisto.
2466
2467         The idea here is to move all the sizing and positioning logic to helper classes so that
2468         the formatting context code stays lean.
2469         This is similar to the dedicated BlockMarginCollapse class for the collapsing logic.
2470         The helper classes have only static functions. These static functions do not mutate the associated DisplayBoxes,
2471         but instead they simply retun the computed values.
2472
2473         * Sources.txt:
2474         * WebCore.xcodeproj/project.pbxproj:
2475         * layout/FormattingContext.cpp:
2476         (WebCore::Layout::FormattingContext::computeOutOfFlowPosition const):
2477         (WebCore::Layout::FormattingContext::computeOutOfFlowWidth const):
2478         (WebCore::Layout::FormattingContext::computeFloatingWidth const):
2479         (WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
2480         (WebCore::Layout::FormattingContext::computeFloatingHeight const):
2481         (WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedHeight const): Deleted.
2482         (WebCore::Layout::FormattingContext::computeFloatingNonReplacedHeight const): Deleted.
2483         (WebCore::Layout::FormattingContext::computeReplacedHeight const): Deleted.
2484         (WebCore::Layout::FormattingContext::computeReplacedWidth const): Deleted.
2485         (WebCore::Layout::FormattingContext::contentHeightForFormattingContextRoot const): Deleted.
2486         (WebCore::Layout::FormattingContext::computeFloatingNonReplacedWidth const): Deleted.
2487         (WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedWidth const): Deleted.
2488         (WebCore::Layout::FormattingContext::computeOutOfFlowReplacedHeight const): Deleted.
2489         (WebCore::Layout::FormattingContext::computeOutOfFlowReplacedWidth const): Deleted.
2490         (WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedPosition const): Deleted.
2491         (WebCore::Layout::FormattingContext::computeOutOfFlowReplacedPosition const): Deleted.
2492         (WebCore::Layout::FormattingContext::shrinkToFitWidth const): Deleted.
2493         * layout/FormattingContext.h:
2494         * layout/FormattingContextGeometry.cpp: Copied from Source/WebCore/layout/FormattingContext.cpp.
2495         (WebCore::Layout::contentHeightForFormattingContextRoot):
2496         (WebCore::Layout::shrinkToFitWidth):
2497         (WebCore::Layout::FormattingContextGeometry::outOfFlowNonReplacedHeight):
2498         (WebCore::Layout::FormattingContextGeometry::outOfFlowNonReplacedWidth):
2499         (WebCore::Layout::FormattingContextGeometry::outOfFlowReplacedHeight):
2500         (WebCore::Layout::FormattingContextGeometry::outOfFlowReplacedWidth):
2501         (WebCore::Layout::FormattingContextGeometry::floatingNonReplacedHeight):
2502         (WebCore::Layout::FormattingContextGeometry::floatingNonReplacedWidth):
2503         (WebCore::Layout::FormattingContextGeometry::floatingReplacedHeight):
2504         (WebCore::Layout::FormattingContextGeometry::floatingReplacedWidth):
2505         (WebCore::Layout::FormattingContextGeometry::outOfFlowNonReplacedPosition):
2506         (WebCore::Layout::FormattingContextGeometry::outOfFlowReplacedPosition):
2507         (WebCore::Layout::FormattingContextGeometry::replacedHeight):
2508         (WebCore::Layout::FormattingContextGeometry::replacedWidth):
2509         * layout/FormattingContextGeometry.h: Copied from Source/WebCore/layout/blockformatting/BlockFormattingContext.h.
2510         * layout/blockformatting/BlockFormattingContext.cpp:
2511         (WebCore::Layout::BlockFormattingContext::computeStaticPosition const):
2512         (WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
2513         (WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):
2514         (WebCore::Layout::BlockFormattingContext::computeInFlowNonReplacedWidth const): Deleted.
2515         (WebCore::Layout::BlockFormattingContext::computeInFlowNonReplacedHeight const): Deleted.
2516         * layout/blockformatting/BlockFormattingContext.h:
2517         * layout/blockformatting/BlockFormattingContextGeometry.cpp: Added.
2518         (WebCore::Layout::BlockFormattingContextGeometry::inFlowNonReplacedHeight):
2519         (WebCore::Layout::BlockFormattingContextGeometry::inFlowNonReplacedWidth):
2520         (WebCore::Layout::BlockFormattingContextGeometry::inFlowReplacedHeight):
2521         (WebCore::Layout::BlockFormattingContextGeometry::inFlowReplacedWidth):
2522         (WebCore::Layout::BlockFormattingContextGeometry::staticPosition):
2523         * layout/blockformatting/BlockFormattingContextGeometry.h: Copied from Source/WebCore/layout/blockformatting/BlockFormattingContext.h.
2524         * layout/displaytree/DisplayBox.h:
2525
2526 2018-05-23  Antti Koivisto  <antti@apple.com>
2527
2528         Page keeps reloading when viewing photos in google drive (due to too high canvas memory limits)
2529         https://bugs.webkit.org/show_bug.cgi?id=185903
2530         <rdar://problem/38420562>
2531
2532         Reviewed by Simon Fraser.
2533
2534         The canvas memory usage limits don't work on iOS since the current 2GB minimum limit is
2535         larger than the maximum process size.
2536
2537         * html/HTMLCanvasElement.cpp:
2538         (WebCore::maxActivePixelMemory):
2539
2540         Always base this on the reported ramSize() on iOS. Make it still fairly large to not risk breaking
2541         any currently working content. In practice the limit computes to 448MB on device at the moment.
2542
2543 2018-05-23  Zalan Bujtas  <zalan@apple.com>
2544
2545         [LFC] Implement positioning for replaced out-of-flow elements
2546         https://bugs.webkit.org/show_bug.cgi?id=185902
2547
2548         Reviewed by Antti Koivisto.
2549
2550         * layout/FormattingContext.cpp:
2551         (WebCore::Layout::FormattingContext::computeOutOfFlowReplacedPosition const):
2552
2553 2018-05-22  Myles C. Maxfield  <mmaxfield@apple.com>
2554
2555         Text can wrap between hyphens and commas
2556         https://bugs.webkit.org/show_bug.cgi?id=185899
2557         <rdar://problem/40118983>
2558
2559         Reviewed by Zalan Bujtas.
2560
2561         Chrome, Firefox, and ICU all agree that text shouldn't wrap there.
2562
2563         Test: fast/text/line-break-hyphen-comma.html
2564
2565         * rendering/BreakLines.cpp:
2566
2567 2018-05-22  Simon Fraser  <simon.fraser@apple.com>
2568
2569         Add notifyutil callbacks to dump the memory cache, and the list of live Pages and Documents
2570         https://bugs.webkit.org/show_bug.cgi?id=185853
2571
2572         Reviewed by Keith Miller.
2573
2574         Add a notifyutil callback to dump the PageCache, which dumps the stats, and the list of live pages.
2575         This can be invoked on iOS and macOS via "notifyutil -p com.apple.WebKit.showPageCache".
2576         
2577         Add a notifyutil callback that dumps the list of all Pages, and the list of all Documents, with
2578         Document pointer address and URL.
2579         This can be invoked on iOS and macOS via "notifyutil -p com.apple.WebKit.showAllDocuments".
2580
2581         * history/PageCache.cpp:
2582         (WebCore::PageCache::PageCache):
2583         (WebCore::PageCache::dump const):
2584         * history/PageCache.h:
2585         * loader/cache/CachedResource.h:
2586         (WebCore::CachedResource::numberOfClients const):
2587         (WebCore::CachedResource::count const): Deleted.
2588         * loader/cache/MemoryCache.cpp:
2589         (WebCore::MemoryCache::MemoryCache):
2590         (WebCore::MemoryCache::pruneLiveResourcesToSize):
2591         (WebCore::MemoryCache::dumpStats):
2592         (WebCore::MemoryCache::dumpLRULists const):
2593         * loader/cache/MemoryCache.h:
2594         * page/mac/PageMac.mm:
2595         (WebCore::Page::platformInitialize):
2596
2597 2018-05-22  Dean Jackson  <dino@apple.com>
2598
2599         Optimized path zoom animation needs a valid UIImage and CGRect
2600         https://bugs.webkit.org/show_bug.cgi?id=185883
2601         <rdar://problem/40306056>
2602
2603         Build fix.
2604
2605         * loader/FrameLoadRequest.h:
2606
2607 2018-05-22  Commit Queue  <commit-queue@webkit.org>
2608
2609         Unreviewed, rolling out r232081.
2610         https://bugs.webkit.org/show_bug.cgi?id=185895
2611
2612         Broke two API tests (Requested by bfulgham_ on #webkit).
2613
2614         Reverted changeset:
2615
2616         "Avoid keeping FormState alive longer than necessary"
2617         https://bugs.webkit.org/show_bug.cgi?id=185877
2618         https://trac.webkit.org/changeset/232081
2619
2620 2018-05-22  Dean Jackson  <dino@apple.com>
2621
2622         Optimized path zoom animation needs a valid UIImage and CGRect
2623         https://bugs.webkit.org/show_bug.cgi?id=185883
2624         <rdar://problem/40306056>
2625
2626         Reviewed by Jon Lee.
2627
2628         Pass the bounding box of the element that was clicked onto
2629         the UI process, so it can perform an animation from that spot.
2630
2631         This involved adding an IntRect to the ResourceRequest, and passing
2632         that info into it from the HTMLAnchorElement, using a new struct
2633         called SystemPreviewInfo.
2634
2635         * html/HTMLAnchorElement.cpp:
2636         (WebCore::HTMLAnchorElement::handleClick):
2637         * loader/FrameLoadRequest.cpp:
2638         (WebCore::FrameLoadRequest::FrameLoadRequest):
2639         * loader/FrameLoadRequest.h:
2640         (WebCore::FrameLoadRequest::FrameLoadRequest):
2641         (WebCore::FrameLoadRequest::isSystemPreview const):
2642         (WebCore::FrameLoadRequest::systemPreviewRect const):
2643         * loader/FrameLoader.cpp:
2644         (WebCore::FrameLoader::urlSelected):
2645         (WebCore::FrameLoader::loadURL):
2646         * loader/FrameLoader.h:
2647         (WebCore::FrameLoader::urlSelected):
2648         * loader/FrameLoaderTypes.h:
2649         * platform/network/ResourceRequestBase.cpp:
2650         (WebCore::ResourceRequestBase::systemPreviewRect const):
2651         (WebCore::ResourceRequestBase::setSystemPreviewRect):
2652         * platform/network/ResourceRequestBase.h:
2653
2654 2018-05-22  Chris Dumez  <cdumez@apple.com>
2655
2656         [POSIX] Use access() instead of stat() in FileSystem::fileExists()
2657         https://bugs.webkit.org/show_bug.cgi?id=185882
2658
2659         Reviewed by Geoffrey Garen.
2660
2661         Use access() instead of stat() in FileSystem::fileExists(). stat() returns a lot of information we
2662         do not leverage and local benchmarking on macOS shows access() being > 80% faster than stat():
2663         stat: 0.31567 (lower is better)
2664         access: 0.16074 (lower is better)
2665         stat: 0.303665 (lower is better)
2666         access: 0.165468 (lower is better)
2667
2668         * platform/posix/FileSystemPOSIX.cpp:
2669         (WebCore::FileSystem::fileExists):
2670
2671 2018-05-22  Brent Fulgham  <bfulgham@apple.com>
2672
2673         Avoid keeping FormState alive longer than necessary
2674         https://bugs.webkit.org/show_bug.cgi?id=185877
2675         <rdar://problem/39329219>
2676
2677         Reviewed by Ryosuke Niwa.
2678
2679         A number of crash fixes were done to prevent FormState objects from being
2680         accessed after their relevant Frames had been destroyed. Unfortunately, this
2681         could cause the FormState to persist after the owning Frame had been
2682         destroyed, resulting in nullptr dereferences.
2683
2684         This patch does the following:
2685
2686         1. Changes to use WeakPtr's for FormState objects passed to completion handlers,
2687            rather than RefPtr, since those completion handlers might fire as part of
2688            the clean-up process during Frame destruction. This allows us to use the FormState
2689            if they are still valid, but gracefully handle cases where a form submission
2690            is cancelled in-flight.
2691         2. Removes some extraneous WTFMove() calls being made on bare FormState pointers.
2692         3. Changes the trap from Bug 183704 so that it only fires if the FormState object
2693            is being retained more than once.
2694
2695         * loader/DocumentLoader.cpp:
2696         (WebCore::DocumentLoader::willSendRequest): Update for new CompletionHandler
2697         signature.
2698         * loader/FormState.cpp:
2699         (WebCore::FormState::willDetachPage): Revise trap to check for retain counts
2700         above one.
2701         * loader/FormState.h:
2702         (WebCore::FormState::weakPtrFactory const): Added.
2703         * loader/FrameLoader.cpp:
2704         (WebCore::FrameLoader::loadFrameRequest): Revise to use WeakPtr for FormState
2705         passed to the completion handler.
2706         (WebCore::FrameLoader::loadURL): Update for new CompletionHandler signature.
2707         (WebCore::FrameLoader::load): Ditto.
2708         (WebCore::FrameLoader::loadWithDocumentLoader): Ditto.
2709         (WebCore::FrameLoader::loadPostRequest): Ditto.
2710         * loader/PolicyChecker.cpp:
2711         (WebCore::PolicyChecker::checkNavigationPolicy): Revise to use WeakPtr for
2712         FormState passed to the completion handler. Remove some extraneous WTFMove()
2713         calls on bare pointers.
2714         (WebCore::PolicyChecker::checkNewWindowPolicy): Ditto.
2715         * loader/PolicyChecker.h:
2716
2717 2018-05-22  Sihui Liu  <sihui_liu@apple.com>
2718
2719         Conversion between SecurityOriginData and DatabaseIdentifier is asymmetric when port is null
2720         https://bugs.webkit.org/show_bug.cgi?id=185715
2721
2722         Reviewed by Geoffrey Garen.
2723
2724         Fixed the issue of null port when converting between SecurityOriginData and DatabaseIdentifier.
2725
2726         Test: WKWebView.LocalStorageFetchDataRecords.
2727
2728         * page/SecurityOriginData.cpp:
2729         (WebCore::SecurityOriginData::fromDatabaseIdentifier):
2730
2731 2018-05-22  Keith Miller  <keith_miller@apple.com>
2732
2733         We should have a CoW storage for NewArrayBuffer arrays.
2734         https://bugs.webkit.org/show_bug.cgi?id=185003
2735
2736         Reviewed by Filip Pizlo.
2737
2738         * bindings/js/JSDOMConvertSequences.h:
2739         (WebCore::Detail::NumericSequenceConverter::convertArray):
2740         (WebCore::Detail::SequenceConverter::convertArray):
2741
2742 2018-05-22  Ryan Haddad  <ryanhaddad@apple.com>
2743
2744         Unreviewed, rolling out r232052.
2745
2746         Breaks internal builds.
2747
2748         Reverted changeset:
2749
2750         "Use more C++17"
2751         https://bugs.webkit.org/show_bug.cgi?id=185176
2752         https://trac.webkit.org/changeset/232052
2753
2754 2018-05-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2755
2756         [GTK] WebDriver: Network process crash when running imported/w3c/webdriver/tests/delete_cookie/delete.py::test_unknown_cookie
2757         https://bugs.webkit.org/show_bug.cgi?id=185867
2758
2759         Reviewed by Michael Catanzaro.
2760
2761         We need to null check the value returned by URL::createSoupURI() before passing it to soup.
2762
2763         * platform/network/soup/CookieJarSoup.cpp:
2764         (WebCore::setCookiesFromDOM):
2765         (WebCore::cookiesForSession):
2766         (WebCore::getRawCookies):
2767         (WebCore::deleteCookie):
2768         * platform/network/soup/NetworkStorageSessionSoup.cpp:
2769         (WebCore::NetworkStorageSession::getCookies):
2770
2771 2018-05-22  Zalan Bujtas  <zalan@apple.com>
2772
2773         [LFC] Implement positioning for non-replaced out-of-flow elements.
2774         https://bugs.webkit.org/show_bug.cgi?id=185858
2775
2776         Reviewed by Antti Koivisto.
2777
2778         In certain cases, the out-of-flow element's final position depends on the element's size.
2779         Call computeOutOfFlowPosition() after width/height are resolved.
2780
2781         * layout/FormattingContext.cpp:
2782         (WebCore::Layout::FormattingContext::computeOutOfFlowPosition const):
2783         (WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
2784         (WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedPosition const):
2785         (WebCore::Layout::FormattingContext::computeOutOfFlowReplacedPosition const):
2786         * layout/FormattingContext.h:
2787
2788 2018-05-22  Olivier Blin  <olivier.blin@softathome.com>
2789
2790         Fix build without MathML
2791         https://bugs.webkit.org/show_bug.cgi?id=185865
2792
2793         Reviewed by Frédéric Wang.
2794
2795         Regression(r226654): [RenderTreeBuilder] Move MathML addChild logic to RenderTreeBuilder
2796         https://bugs.webkit.org/show_bug.cgi?id=181443
2797
2798         Regression(r229694): Put the DOM in IsoHeaps
2799         https://bugs.webkit.org/show_bug.cgi?id=183546
2800
2801         No new tests, build fix.
2802
2803         * mathml/MathMLUnknownElement.cpp:
2804         * mathml/MathMLUnknownElement.h:
2805         * rendering/updating/RenderTreeBuilder.cpp:
2806         (WebCore::RenderTreeBuilder::RenderTreeBuilder):
2807         (WebCore::RenderTreeBuilder::attach):
2808         * rendering/updating/RenderTreeBuilder.h:
2809         * rendering/updating/RenderTreeBuilderMathML.cpp:
2810         * rendering/updating/RenderTreeBuilderMathML.h:
2811
2812 2018-05-22  Yacine Bandou  <yacine.bandou_ext@softathome.com>
2813
2814         [GStreamer] Don't set the ReadyState to HaveNothing when an error occurs in playback pipeline
2815         https://bugs.webkit.org/show_bug.cgi?id=185725
2816
2817         Reviewed by Philippe Normand.
2818
2819         The ReadyState should not be set to HaveNothing when an error occurs in playback pipeline, because
2820         at least we should have the metadata in order to have an error in pipeline.
2821
2822         Here is the definition of HaveNothing state in W3C spec https://dev.w3.org/html5/spec-preview/media-elements.html#ready-states
2823         "HAVE_NOTHING (numeric value 0): No information regarding the media resource is available. No data for the current
2824         playback position is available. Media elements whose networkState attribute is NETWORK_EMPTY are always in the HAVE_NOTHING state."
2825
2826         In MSE case, this patch fixes the crashes of the followings WPT encrypted-media tests:
2827         - clearkey-mp4-playback-temporary-clear-encrypted.https.html
2828         - clearkey-mp4-playback-temporary-multikey-sequential.https.html
2829         - clearkey-mp4-playback-temporary-multikey-sequential-readyState.https.html
2830
2831         Here is the cause of the crashes: When an error occurs in playback pipeline like no decipher key, in case of encrypted content,
2832         the MediaPlayerPrivateGstreamer sets NetworkState to FormatError which causes the detachment of MediaElement from MediaSource,
2833         then MediaPlayerPrivateGstreamer sets the ReadyState to HaveNothing which causes a trying again to play the same URI,
2834         thus the crash occurs because the MediaElement is detached from MediaSource, see bugzilla for more details.
2835         Note: these crashes should be fixed in 185242 but unfortunately it isn't the case. See bug 185242 for more details.
2836
2837         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2838         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
2839
2840 2018-05-22  Yacine Bandou  <yacine.bandou_ext@softathome.com>
2841
2842         [MSE][GStreamer] Fix the deadlock caused by bug 185242 (r231351)
2843         https://bugs.webkit.org/show_bug.cgi?id=185723
2844
2845         Reviewed by Xabier Rodriguez-Calvar.
2846
2847         After a detailed investigation, we found that, the patch r231351 doesn't fix the crash that expected to fix,
2848         it just replaces it by a deadlock. Now the crash is fixed in the bug 185725.
2849
2850         This Patch will remove a part of r231351 that causes the deadlock.
2851
2852         * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
2853         (webKitMediaSrcFreeStream):
2854
2855 2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
2856
2857         Use more C++17
2858         https://bugs.webkit.org/show_bug.cgi?id=185176
2859
2860         Reviewed by JF Bastien.
2861
2862         * Configurations/Base.xcconfig:
2863         * DerivedSources.make:
2864         * platform/ios/LegacyTileGrid.mm:
2865         (WebCore::LegacyTileGrid::dropDistantTiles):
2866
2867 2018-05-21  Zalan Bujtas  <zalan@apple.com>
2868
2869         [LFC] Box::isDescendantOf() should work with out-of-flow elements.
2870         https://bugs.webkit.org/show_bug.cgi?id=185812
2871
2872         Reviewed by Antti Koivisto.
2873
2874         Use the containing block chain instead of the parent chain to check for isDescendantOf().
2875         (containing block is not always the direct parent)
2876
2877         * layout/layouttree/LayoutBox.cpp:
2878         (WebCore::Layout::Box::isDescendantOf const):
2879
2880 2018-05-21  Chris Nardi  <cnardi@chromium.org>
2881
2882         Remove dead exception in MediaList.appendMedium
2883         https://bugs.webkit.org/show_bug.cgi?id=185278
2884
2885         Reviewed by Chris Dumez.
2886
2887         MediaList.appendMedium was able to throw an exception, but MediaQuerySet::add() always
2888         returned true, making it impossible for that exception to be thrown. This matched the
2889         spec, as |appendMedium| is not specified to throw an exception. Remove the dead code
2890         surrounding the exception, and make MediaQuerySet::add() return false if the medium is
2891         not added.
2892
2893         No new/modified tests as there should be no functional changes.
2894
2895         * css/MediaList.cpp:
2896         (WebCore::MediaQuerySet::add):
2897         (WebCore::MediaList::appendMedium):
2898         * css/MediaList.h:
2899         * css/MediaList.idl:
2900
2901 2018-05-21  Chris Dumez  <cdumez@apple.com>
2902
2903         File's structured serialization should serialize lastModified attribute
2904         https://bugs.webkit.org/show_bug.cgi?id=185773
2905
2906         Reviewed by Youenn Fablet.
2907
2908         Update our implementation for the stuctured serialization of a File to include
2909         its lastModified attribute, as per:
2910         - https://w3c.github.io/FileAPI/#file-section
2911
2912         No new tests, rebaselined existing test.
2913
2914         * bindings/js/SerializedScriptValue.cpp:
2915         (WebCore::CloneSerializer::write):
2916         (WebCore::CloneDeserializer::readFile):
2917         * fileapi/File.cpp:
2918         (WebCore::File::File):
2919         * fileapi/File.h:
2920
2921 2018-05-21  Zalan Bujtas  <zalan@apple.com>
2922
2923         [LFC] Add FormattingContext::validateGeometryConstraintsAfterLayout
2924         https://bugs.webkit.org/show_bug.cgi?id=185811
2925
2926         Reviewed by Antti Koivisto.
2927
2928         Also implement LayoutDescendantIterator and fix LayoutIterator.
2929
2930         * WebCore.xcodeproj/project.pbxproj:
2931         * layout/FormattingContext.cpp:
2932         (WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):
2933         * layout/FormattingContext.h:
2934         * layout/blockformatting/BlockFormattingContext.cpp:
2935         (WebCore::Layout::BlockFormattingContext::layout const):
2936         * layout/layouttree/LayoutDescendantIterator.h: Added.
2937         (WebCore::Layout::LayoutDescendantIterator<T>::LayoutDescendantIterator):
2938         (WebCore::Layout::LayoutDescendantIterator<T>::operator):
2939         (WebCore::Layout::LayoutDescendantIteratorAdapter<T>::LayoutDescendantIteratorAdapter):
2940         (WebCore::Layout::LayoutDescendantIteratorAdapter<T>::begin):
2941         (WebCore::Layout::LayoutDescendantIteratorAdapter<T>::end):
2942         (WebCore::Layout::LayoutDescendantIteratorAdapter<T>::at):
2943         (WebCore::Layout::descendantsOfType):
2944         * layout/layouttree/LayoutIterator.h:
2945         (WebCore::Layout::LayoutBoxTraversal::firstChild):
2946         (WebCore::Layout::LayoutBoxTraversal::nextAncestorSibling):
2947         (WebCore::Layout::LayoutBoxTraversal::next):
2948         (WebCore::Layout::LayoutBoxTraversal::nextSkippingChildren):
2949         (WebCore::Layout::Traversal::firstChild):
2950         (WebCore::Layout::Traversal::nextSibling):
2951         (WebCore::Layout::Traversal::previousSibling):
2952         (WebCore::Layout::Traversal::findAncestorOfType):
2953         (WebCore::Layout::Traversal::firstWithin):
2954         (WebCore::Layout::Traversal::next):
2955         (WebCore::Layout::LayoutIterator<T>::traversePreviousSibling):
2956         (WebCore::Layout::LayoutIterator<T>::traverseAncestor):
2957         (WebCore::Layout::Traversal::nextAncestorSibling): Deleted.
2958         (WebCore::Layout::Traversal::nextWithin): Deleted.
2959
2960 2018-05-21  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2961
2962         [Curl] Bugfix for r231968, Suspend/Resume with WK2
2963         https://bugs.webkit.org/show_bug.cgi?id=185830
2964
2965         The flags are needed to be updated even if it is cancelled or finished to cleanup correctly.
2966         Also fixed trivial bug for very rare case (hard to produce the situation).
2967
2968         Reviewed by Youenn Fablet.
2969
2970         No new tests because WK2 is not ready for WinCairo yet in public., tested internaly.
2971
2972         * platform/network/curl/CurlRequest.cpp:
2973         (WebCore::CurlRequest::suspend):
2974         (WebCore::CurlRequest::resume):
2975         (WebCore::CurlRequest::pausedStatusChanged):
2976
2977 2018-05-21  Commit Queue  <commit-queue@webkit.org>
2978
2979         Unreviewed, rolling out r232030.
2980         https://bugs.webkit.org/show_bug.cgi?id=185850
2981
2982         "Caused
2983         TestWebKitAPI.IndexedDB.StructuredCloneBackwardCompatibility
2984         API test to fail" (Requested by cdumez on #webkit).
2985
2986         Reverted changeset:
2987
2988         "File's structured serialization should serialize lastModified
2989         attribute"
2990         https://bugs.webkit.org/show_bug.cgi?id=185773
2991         https://trac.webkit.org/changeset/232030
2992
2993 2018-05-21  Daniel Bates  <dabates@apple.com>
2994
2995         REGRESSION (r231107): CSP report-only policies are ignored for beacon, importScripts, fetch(), EventSource, and XHR
2996         https://bugs.webkit.org/show_bug.cgi?id=185789
2997         <rdar://problem/40380175>
2998
2999         Reviewed by Andy Estes.
3000
3001         Fixes an issue where CSP report-only policies were ignored for DocumentThreadableLoader and
3002         PingLoad initiated loads as a result of moving CSP processing to NetworkProcess.
3003
3004         Have NetworkLoadChecker implement the ContentSecurityPolicyClient interface and support logging
3005         console messages, sending CSP reports, and dispatching SecurityPolicyViolation events. To support
3006         the latter we introduce a new WebPage message, EnqueueSecurityPolicyViolationEvent, to enqueue
3007         a SecurityPolicyViolationEvent created from an event init dictionary on the document's event
3008         dispatch queue.
3009
3010         Additionally, shorten the description for a ResourceError caused by CSP to "Blocked by Content Security Policy"
3011         because the CSP code run in NetworkProcess can now log its more detailed error description to
3012         Web Inspector.
3013
3014         Tests: http/tests/security/contentSecurityPolicy/connect-src-beacon-allowed.html
3015                http/tests/security/contentSecurityPolicy/connect-src-beacon-blocked.html
3016                http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked.php
3017                http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked.php
3018
3019         * WebCore.xcodeproj/project.pbxproj: Change SecurityPolicyViolationEvent.h from a project header to
3020         a private header so that we can include it in WebKit code.
3021         * dom/Document.cpp:
3022         (WebCore::Document::enqueueSecurityPolicyViolationEvent): Added.
3023         * dom/Document.h:
3024
3025         * dom/EventInit.h:
3026         (WebCore::EventInit::encode const):
3027         (WebCore::EventInit::decode
3028         * dom/SecurityPolicyViolationEvent.h:
3029         (WebCore::SecurityPolicyViolationEvent::Init::encode const):
3030         (WebCore::SecurityPolicyViolationEvent::Init::decode):
3031         Support encoding and decoding for the event.
3032
3033         * loader/DocumentLoader.cpp:
3034         (WebCore::DocumentLoader::enqueueSecurityPolicyViolationEvent): Formerly named "dispatchSecurityPolicyViolationEvent".
3035         (WebCore::DocumentLoader::dispatchSecurityPolicyViolationEvent): Deleted; renamed to "enqueueSecurityPolicyViolationEvent".
3036         * loader/DocumentLoader.h:
3037
3038         * loader/DocumentThreadableLoader.cpp:
3039         (WebCore::DocumentThreadableLoader::redirectReceived): While I am here, move the check for whether the loader
3040         strategy took responsibility for performing security checks to be before we perform the CSP check to avoid doing
3041         such CSP checks twice in the case that the loader strategy already did them.
3042         (WebCore::DocumentThreadableLoader::didFail): Remove code that checked the CSP policy if the load failed. When
3043         the loader strategy (NetworkProcess) is responsible for performing security checks then this code would never
3044         be executed for a violation of a CSP report-only policy because the loader does not and should not fail the load
3045         for a report-only violations. As the name implies, a report-only violation is only reported. That is, it is not
3046         enforced such that the load is blocked; => fail the load.
3047         (WebCore::DocumentThreadableLoader::reportContentSecurityPolicyError): Update the error description to more
3048         accurately describe the error and be consistent with the error message used in NetworkProcess. This error
3049         message is shown for a redirect blocked by CSP regardless of whether the redirect was to a same-origin or
3050         cross-origin resource. I chose to make the error message more vague than necessary for simplicity because
3051         the CSP code will log a more detailed message for this error than could ever be captured by error message
3052         for the ResourceError. Also use ASCIILiteral to efficiently construct the String object for the error
3053         message.
3054
3055         * page/csp/ContentSecurityPolicy.cpp:
3056         (WebCore::ContentSecurityPolicy::reportViolation const): Build up a SecurityPolicyViolationEvent::Init and
3057         pass that to the delegate to dispatch.
3058         * page/csp/ContentSecurityPolicy.h: Export allowScriptFromSource() and allowChildContextFromSource() so that
3059         we can call them from WebKit.
3060         * page/csp/ContentSecurityPolicyClient.h: Update for renaming.
3061         * platform/network/ResourceRequestBase.h: Define a new requester type to be able to differentiate a request
3062         initiated by importScripts() from other requests. We use this to perform the appropriate CSP checks in NetworkProcess.
3063         * workers/WorkerScriptLoader.cpp:
3064         (WebCore::WorkerScriptLoader::loadSynchronously): Set the requester on the ResourceRequest to ResourceRequest::Requester::ImportScripts
3065         so that we can differentiate this request from other requests. See remark for file ResourceRequestBase.h for
3066         more details.
3067
3068 2018-05-21  Chris Dumez  <cdumez@apple.com>
3069
3070         File's structured serialization should serialize lastModified attribute
3071         https://bugs.webkit.org/show_bug.cgi?id=185773
3072
3073         Reviewed by Youenn Fablet.
3074
3075         Update our implementation for the stuctured serialization of a File to include
3076         its lastModified attribute, as per:
3077         - https://w3c.github.io/FileAPI/#file-section
3078
3079         No new tests, rebaselined existing test.
3080
3081         * bindings/js/SerializedScriptValue.cpp:
3082         (WebCore::CloneSerializer::write):
3083         (WebCore::CloneDeserializer::readFile):
3084         * fileapi/File.cpp:
3085         (WebCore::File::File):
3086         * fileapi/File.h:
3087
3088 2018-05-21  Jer Noble  <jer.noble@apple.com>
3089
3090         Complete fix for enabling modern EME by default
3091         https://bugs.webkit.org/show_bug.cgi?id=185770
3092         <rdar://problem/40368220>
3093
3094         Reviewed by Eric Carlson.
3095
3096         * Configurations/FeatureDefines.xcconfig:
3097
3098 2018-05-21  Olivier Blin  <olivier.blin@softathome.com>
3099
3100         [CMake][WebCore] fix sqlite include dir variable
3101         https://bugs.webkit.org/show_bug.cgi?id=185825
3102
3103         Reviewed by Konstantin Tokarev.
3104
3105         WebCore's CMakeLists.txt used SQLITE_INCLUDE_DIRS, but only SQLITE_INCLUDE_DIR is defined.
3106
3107         No new tests, build fix only.
3108
3109         * CMakeLists.txt: Use SQLITE_INCLUDE_DIR instead of SQLITE_INCLUDE_DIRS.
3110
3111 2018-05-21  Olivier Blin  <olivier.blin@softathome.com>
3112
3113         Propagate WebCore system include dirs in WebCoreHeaderInterface
3114         https://bugs.webkit.org/show_bug.cgi?id=185822
3115
3116         Reviewed by Michael Catanzaro.
3117
3118         System include directories from WebCore are not propagated anymore to its users.
3119         For example gcrypt, sqlite and ICU system headers defined in PAL are not properly passed to WebKit build.
3120
3121         This may have been caused partly by the fix in r230385:
3122         [CMake] WebKit should link to WebCore as a PRIVATE library if WebCore is a static library
3123         https://bugs.webkit.org/show_bug.cgi?id=184127
3124
3125         No new tests, build fix.
3126
3127         * CMakeLists.txt:
3128
3129 2018-05-21  Olivier Blin  <olivier.blin@softathome.com>
3130
3131         Fix FrameLoader build without video
3132         https://bugs.webkit.org/show_bug.cgi?id=185821
3133
3134         Reviewed by Michael Catanzaro.
3135
3136         Regression(r231392): Release assert in ScriptController::canExecuteScripts via HTMLMediaElement::~HTMLMediaElement()
3137         https://bugs.webkit.org/show_bug.cgi?id=185288
3138
3139         No new tests, build fix only.
3140
3141         * loader/FrameLoader.cpp:
3142         (WebCore::FrameLoader::checkCompleted): Flag HTMLMediaElement::isRunningDestructor() usage.
3143
3144 2018-05-21  Sam Weinig  <sam@webkit.org>
3145
3146         Modernize RenderStyleConstants.h - Part 1
3147         https://bugs.webkit.org/show_bug.cgi?id=185809
3148
3149         Reviewed by Yusuke Suzuki.
3150             
3151         Modernized the first set of enums in RenderStyleConstants.h by:
3152             - Converting them to enum classes
3153             - Renaming them to remove unnecessary prefix 'E's
3154             - Renaming values to take advantage of enum class scoping (e.g. StyleDifferenceEqual -> StyleDifference::Equal)
3155             - Renaming to match modern conventions (e.g BNONE -> None)
3156             - Reformatting them so that each value is on its own line.
3157
3158         Modernizes the following enums:
3159             PrintColorAdjust
3160             StyleDifference
3161             StyleDifferenceContextSensitiveProperty
3162             ColumnFill
3163             ColumnSpan
3164             BorderCollapse (renamed from EBorderCollapse)
3165             BorderStyle (renamed from EBorderStyle)
3166             BorderPrecedence (renamed from EBorderPrecedence)
3167             OutlineIsAuto
3168             PositionType (renamed from EPosition)
3169             Float (renamed from EFloat)
3170             MarginCollapse (renamed from EMarginCollapse)
3171             BoxDecorationBreak (renamed from EBoxDecorationBreak)
3172             BoxSizing (renamed from EBoxSizing)
3173             Overflow (renamed from EOverflow)
3174             VerticalAlign (renamed from EVerticalAlign)
3175             Clear (renamed from EClear)
3176             TableLayoutType (renamed from ETableLayout)
3177             TextCombine
3178             FillAttachment (renamed from EFillAttachment)
3179             FillBox (renamed from EFillBox)
3180             FillRepeat (renamed from EFillRepeat)
3181             FillLayerType (renamed from EFillLayerType)
3182             FillSizeType (renamed from EFillSizeType)
3183             MaskSourceType (renamed from EMaskSourceType)
3184             BoxPack (renamed from EBoxPack)
3185             BoxAlignment (renamed from EBoxAlignment)
3186             BoxOrient (renamed from EBoxOrient)
3187             BoxLines (renamed from EBoxLines)
3188             BoxDirection (renamed from EBoxDirection)
3189             AlignContent (renamed from EAlignContent)
3190             FlexDirection (renamed from EFlexDirection)
3191             FlexWrap (renamed from EFlexWrap)
3192             ItemPosition
3193             OverflowAlignment
3194             ItemPositionType
3195             ContentPosition
3196             ContentDistribution (renamed from ContentDistributionType)
3197             TextSecurity (renamed from ETextSecurity)
3198             UserModify (renamed from EUserModify)
3199             UserDrag (renamed from EUserDrag)
3200             UserSelect (renamed from EUserSelect)
3201             ObjectFit
3202             AspectRatioType
3203             WordBreak (renamed from EWordBreak)
3204             OverflowWrap (renamed from EOverflowWrap)
3205             NBSPMode (renamed from ENBSPMode)
3206             LineBreak
3207             Resize (renamed from EResize)
3208             QuoteType
3209             TransformStyle3D (renamed from ETransformStyle3D)
3210             BackfaceVisibility (renamed from EBackfaceVisibility)
3211             LineClamp (renamed from ELineClamp)
3212             TextOverflow
3213             ImageRendering (renamed from EImageRendering)
3214             TextIndentLine
3215             TextIndentType
3216             Isolation
3217
3218         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3219         (AXAttributeStringSetStyle):
3220         * css/BasicShapeFunctions.cpp:
3221         (WebCore::valueForCenterCoordinate):
3222         (WebCore::valueForBasicShape):
3223         * css/CSSComputedStyleDeclaration.cpp:
3224         (WebCore::sizingBox):
3225         (WebCore::fillRepeatToCSSValue):
3226         (WebCore::fillSourceTypeToCSSValue):
3227         (WebCore::fillSizeToCSSValue):
3228         (WebCore::valueForItemPositionWithOverflowAlignment):
3229         (WebCore::valueForContentPositionAndDistributionWithOverflowAlignment):
3230         (WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
3231         * css/CSSPrimitiveValueMappings.h:
3232         (WebCore::CSSPrimitiveValue::operator LineClampValue const):
3233         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3234         (WebCore::CSSPrimitiveValue::operator ColumnFill const):
3235         (WebCore::CSSPrimitiveValue::operator ColumnSpan const):
3236         (WebCore::CSSPrimitiveValue::operator PrintColorAdjust const):
3237         (WebCore::CSSPrimitiveValue::operator BorderStyle const):
3238         (WebCore::CSSPrimitiveValue::operator OutlineIsAuto const):
3239         (WebCore::CSSPrimitiveValue::operator BackfaceVisibility const):
3240         (WebCore::CSSPrimitiveValue::operator FillAttachment const):
3241         (WebCore::CSSPrimitiveValue::operator FillBox const):
3242         (WebCore::CSSPrimitiveValue::operator FillRepeat const):
3243         (WebCore::CSSPrimitiveValue::operator BoxPack const):
3244         (WebCore::CSSPrimitiveValue::operator BoxAlignment const):
3245         (WebCore::CSSPrimitiveValue::operator BoxDecorationBreak const):
3246         (WebCore::CSSPrimitiveValue::operator BoxSizing const):
3247         (WebCore::CSSPrimitiveValue::operator BoxDirection const):
3248         (WebCore::CSSPrimitiveValue::operator BoxLines const):
3249         (WebCore::CSSPrimitiveValue::operator BoxOrient const):
3250         (WebCore::CSSPrimitiveValue::operator Clear const):
3251         (WebCore::CSSPrimitiveValue::operator FlexDirection const):
3252         (WebCore::CSSPrimitiveValue::operator AlignContent const):
3253         (WebCore::CSSPrimitiveValue::operator FlexWrap const):
3254         (WebCore::CSSPrimitiveValue::operator Float const):
3255         (WebCore::CSSPrimitiveValue::operator LineBreak const):
3256         (WebCore::CSSPrimitiveValue::operator MarginCollapse const):
3257         (WebCore::CSSPrimitiveValue::operator NBSPMode const):
3258         (WebCore::CSSPrimitiveValue::operator Overflow const):
3259         (WebCore::CSSPrimitiveValue::operator PositionType const):
3260         (WebCore::CSSPrimitiveValue::operator Resize const):
3261         (WebCore::CSSPrimitiveValue::operator TableLayoutType const):
3262         (WebCore::CSSPrimitiveValue::operator TextSecurity const):
3263         (WebCore::CSSPrimitiveValue::operator UserDrag const):
3264         (WebCore::CSSPrimitiveValue::operator UserModify const):
3265         (WebCore::CSSPrimitiveValue::operator UserSelect const):
3266         (WebCore::CSSPrimitiveValue::operator VerticalAlign const):
3267         (WebCore::CSSPrimitiveValue::operator WordBreak const):
3268         (WebCore::CSSPrimitiveValue::operator OverflowWrap const):
3269         (WebCore::CSSPrimitiveValue::operator TextCombine const):
3270         (WebCore::CSSPrimitiveValue::operator TextOverflow const):
3271         (WebCore::CSSPrimitiveValue::operator ObjectFit const):
3272         (WebCore::CSSPrimitiveValue::operator Isolation const):
3273         (WebCore::CSSPrimitiveValue::operator BorderCollapse const):
3274         (WebCore::CSSPrimitiveValue::operator ImageRendering const):
3275         (WebCore::CSSPrimitiveValue::operator TransformStyle3D const):
3276         (WebCore::CSSPrimitiveValue::operator ItemPosition const):
3277         (WebCore::CSSPrimitiveValue::operator OverflowAlignment const):
3278         (WebCore::CSSPrimitiveValue::operator ContentPosition const):
3279         (WebCore::CSSPrimitiveValue::operator ContentDistribution const):
3280         (WebCore::CSSPrimitiveValue::operator EBorderStyle const): Deleted.
3281         (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility const): Deleted.
3282         (WebCore::CSSPrimitiveValue::operator EFillAttachment const): Deleted.
3283         (WebCore::CSSPrimitiveValue::operator EFillBox const): Deleted.
3284         (WebCore::CSSPrimitiveValue::operator EFillRepeat const): Deleted.
3285         (WebCore::CSSPrimitiveValue::operator EBoxPack const): Deleted.
3286         (WebCore::CSSPrimitiveValue::operator EBoxAlignment const): Deleted.
3287         (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak const): Deleted.
3288         (WebCore::CSSPrimitiveValue::operator EBoxSizing const): Deleted.
3289         (WebCore::CSSPrimitiveValue::operator EBoxDirection const): Deleted.
3290         (WebCore::CSSPrimitiveValue::operator EBoxLines const): Deleted.
3291         (WebCore::CSSPrimitiveValue::operator EBoxOrient const): Deleted.
3292         (WebCore::CSSPrimitiveValue::operator EClear const): Deleted.
3293         (WebCore::CSSPrimitiveValue::operator EFlexDirection const): Deleted.
3294         (WebCore::CSSPrimitiveValue::operator EAlignContent const): Deleted.
3295         (WebCore::CSSPrimitiveValue::operator EFlexWrap const): Deleted.
3296         (WebCore::CSSPrimitiveValue::operator EFloat const): Deleted.
3297         (WebCore::CSSPrimitiveValue::operator EMarginCollapse const): Deleted.
3298         (WebCore::CSSPrimitiveValue::operator ENBSPMode const): Deleted.
3299         (WebCore::CSSPrimitiveValue::operator EOverflow const): Deleted.
3300         (WebCore::CSSPrimitiveValue::operator EPosition const): Deleted.
3301         (WebCore::CSSPrimitiveValue::operator EResize const): Deleted.
3302         (WebCore::CSSPrimitiveValue::operator ETableLayout const): Deleted.
3303         (WebCore::CSSPrimitiveValue::operator ETextSecurity const): Deleted.
3304         (WebCore::CSSPrimitiveValue::operator EUserDrag const): Deleted.
3305         (WebCore::CSSPrimitiveValue::operator EUserModify const): Deleted.
3306         (WebCore::CSSPrimitiveValue::operator EUserSelect const): Deleted.
3307         (WebCore::CSSPrimitiveValue::operator EVerticalAlign const): Deleted.
3308         (WebCore::CSSPrimitiveValue::operator EWordBreak const): Deleted.
3309         (WebCore::CSSPrimitiveValue::operator EOverflowWrap const): Deleted.
3310         (WebCore::CSSPrimitiveValue::operator EBorderCollapse const): Deleted.
3311         (WebCore::CSSPrimitiveValue::operator EImageRendering const): Deleted.
3312         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D const): Deleted.
3313         (WebCore::CSSPrimitiveValue::operator ContentDistributionType const): Deleted.
3314         * css/CSSProperties.json:
3315         * css/CSSToStyleMap.cpp:
3316         (WebCore::CSSToStyleMap::mapFillAttachment):
3317         (WebCore::CSSToStyleMap::mapFillSize):
3318         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
3319         * css/CSSValueKeywords.in:
3320         * css/StyleBuilderConverter.h:
3321         (WebCore::StyleBuilderConverter::convertResize):
3322         (WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):
3323         * css/StyleBuilderCustom.h:
3324         (WebCore::StyleBuilderCustom::applyValueTextIndent):
3325         (WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
3326         (WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
3327         (WebCore::StyleBuilderCustom::applyValueContent):
3328         * css/StyleResolver.cpp:
3329         (WebCore::isScrollableOverflow):
3330         (WebCore::StyleResolver::adjustRenderStyle):
3331         * css/StyleResolver.h:
3332         * css/makeprop.pl:
3333         (getFillLayerType):
3334         * dom/Element.h:
3335         * dom/Node.cpp:
3336         (WebCore::computeEditabilityFromComputedStyle):
3337         (WebCore::Node::canStartSelection const):
3338         * dom/Position.cpp:
3339         (WebCore::Position::nodeIsUserSelectNone):
3340         (WebCore::Position::nodeIsUserSelectAll):
3341         * dom/Range.cpp:
3342         (WebCore::Range::collectSelectionRectsWithoutUnionInteriorLines const):
3343         * editing/ApplyBlockElementCommand.cpp:
3344         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
3345         * editing/DeleteSelectionCommand.cpp:
3346         (WebCore::DeleteSelectionCommand::doApply):
3347         * editing/Editing.cpp:
3348         (WebCore::isSpecialHTMLElement):
3349         * editing/EditorCommand.cpp:
3350         (WebCore::verticalScrollDistance):
3351         * editing/ReplaceSelectionCommand.cpp:
3352         (WebCore::ReplaceSelectionCommand::doApply):
3353         * editing/SimplifyMarkupCommand.cpp:
3354         (WebCore::SimplifyMarkupCommand::doApply):
3355         * editing/VisibleUnits.cpp:
3356         (WebCore::backwardSearchForBoundaryWithTextIterator):
3357         (WebCore::forwardSearchForBoundaryWithTextIterator):
3358         * editing/cocoa/EditorCocoa.mm:
3359         (WebCore::Editor::fontAttributesForSelectionStart const):
3360         * editing/cocoa/HTMLConverter.mm:
3361         (WebCore::editingAttributedStringFromRange):
3362         * html/HTMLInputElement.cpp:
3363         (WebCore::HTMLInputElement::shouldTruncateText const):
3364         (WebCore::HTMLInputElement::createInnerTextStyle):
3365         * html/HTMLTextFormControlElement.cpp:
3366         (WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
3367         * html/shadow/SliderThumbElement.cpp:
3368         (WebCore::RenderSliderContainer::layout):
3369         * html/shadow/TextControlInnerElements.cpp:
3370         (WebCore::TextControlInnerContainer::resolveCustomStyle):
3371         (WebCore::TextControlInnerElement::resolveCustomStyle):
3372         (WebCore::TextControlPlaceholderElement::resolveCustomStyle):
3373         * layout/displaytree/DisplayBox.cpp:
3374         (WebCore::Display::Box::borderBox const):
3375         (WebCore::Display::Box::contentBox const):
3376         * layout/displaytree/DisplayBox.h:
3377         * layout/layouttree/LayoutBox.cpp:
3378         (WebCore::Layout::Box::isRelativelyPositioned const):
3379         (WebCore::Layout::Box::isStickyPositioned const):
3380         (WebCore::Layout::Box::isAbsolutelyPositioned const):
3381         (WebCore::Layout::Box::isFixedPositioned const):
3382         (WebCore::Layout::Box::isFloatingPositioned const):
3383         (WebCore::Layout::Box::isOverflowVisible const):
3384         * page/DragController.cpp:
3385         (WebCore::DragController::draggableElement const):
3386         * page/Frame.cpp:
3387         (WebCore::Frame::rangeForPoint):
3388         * page/FrameView.cpp:
3389         (WebCore::paginationModeForRenderStyle):
3390         (WebCore::FrameView::applyOverflowToViewport):
3391         (WebCore::FrameView::applyPaginationToViewport):
3392         (WebCore::FrameView::calculateScrollbarModesForLayout):
3393         (WebCore::FrameView::calculateExtendedBackgroundMode const):
3394         (WebCore::FrameView::adjustScrollStepForFixedContent):
3395         * page/SpatialNavigation.cpp:
3396         (WebCore::canScrollInDirection):
3397         (WebCore::canBeScrolledIntoView):
3398         * page/ios/FrameIOS.mm:
3399         (WebCore::Frame::nodeRespondingToScrollWheelEvents):
3400         * page/mac/EventHandlerMac.mm:
3401         (WebCore::scrolledToEdgeInDominantDirection):
3402         * rendering/BorderEdge.cpp:
3403         (WebCore::BorderEdge::BorderEdge):
3404         (WebCore::BorderEdge::obscuresBackgroundEdge const):
3405         (WebCore::BorderEdge::obscuresBackground const):
3406         * rendering/BorderEdge.h:
3407         (WebCore::BorderEdge::style const):
3408         (WebCore::BorderEdge::hasVisibleColorAndStyle const):
3409         * rendering/FlexibleBoxAlgorithm.h:
3410         (WebCore::FlexLayoutAlgorithm::isMultiline const):
3411         * rendering/FloatingObjects.cpp:
3412         (WebCore::FloatingObject::FloatingObject):
3413         * rendering/GridTrackSizingAlgorithm.cpp:
3414         (WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
3415         (WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
3416         * rendering/HitTestResult.cpp:
3417         (WebCore::HitTestResult::innerTextIfTruncated const):
3418         * rendering/ImageQualityController.cpp:
3419         (WebCore::ImageQualityController::interpolationQualityFromStyle):
3420         * rendering/InlineBox.h:
3421         (WebCore::InlineBox::verticalAlign const):
3422         * rendering/InlineFlowBox.cpp:
3423         (WebCore::InlineFlowBox::addToLine):
3424         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3425         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
3426         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3427         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3428         (WebCore::InlineFlowBox::paintFillLayer):
3429         * rendering/LogicalSelectionOffsetCaches.h:
3430         (WebCore::LogicalSelectionOffsetCaches::containingBlockInfo const):
3431         * rendering/RenderBlock.cpp:
3432         (WebCore::RenderBlock::removePositionedObjectsIfNeeded):
3433         (WebCore::RenderBlock::styleDidChange):
3434         (WebCore::RenderBlock::isSelfCollapsingBlock const):
3435         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
3436         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
3437         (WebCore::RenderBlock::isSelectionRoot const):
3438         (WebCore::RenderBlock::selectionGaps):
3439         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths const):
3440         (WebCore::RenderBlock::adjustBorderBoxLogicalHeightForBoxSizing const):
3441         (WebCore::RenderBlock::adjustContentBoxLogicalHeightForBoxSizing const):
3442         * rendering/RenderBlockFlow.cpp:
3443         (WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
3444         (WebCore::RenderBlockFlow::willCreateColumns const):
3445         (WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
3446         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
3447         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild const):
3448         (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
3449         (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
3450         (WebCore::RenderBlockFlow::mustDiscardMarginBefore const):
3451         (WebCore::RenderBlockFlow::mustDiscardMarginAfter const):
3452         (WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild const):
3453         (WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild const):
3454         (WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild const):
3455         (WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild const):
3456         (WebCore::RenderBlockFlow::styleDidChange):
3457         (WebCore::RenderBlockFlow::styleWillChange):
3458         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
3459         (WebCore::RenderBlockFlow::positionNewFloats):
3460         (WebCore::RenderBlockFlow::clearFloats):
3461         (WebCore::RenderBlockFlow::getClearDelta):
3462         (WebCore::RenderBlockFlow::inlineBlockBaseline const):
3463         (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
3464         * rendering/RenderBlockFlow.h:
3465         * rendering/RenderBlockLineLayout.cpp:
3466         (WebCore::expansionBehaviorForInlineTextBox):
3467         (WebCore::isCollapsibleSpace):
3468         (WebCore::RenderBlockFlow::layoutRunsAndFloats):
3469         (WebCore::RenderBlockFlow::layoutLineBoxes):
3470         * rendering/RenderBox.cpp:
3471         (WebCore::RenderBox::styleWillChange):
3472         (WebCore::RenderBox::styleDidChange):
3473         (WebCore::RenderBox::updateFromStyle):
3474         (WebCore::RenderBox::includeVerticalScrollbarSize const):
3475         (WebCore::RenderBox::includeHorizontalScrollbarSize const):
3476         (WebCore::RenderBox::intrinsicScrollbarLogicalWidth const):
3477         (WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const):
3478         (WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const):
3479         (WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing const):
3480         (WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing const):
3481         (WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing const):
3482         (WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing const):
3483         (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect const):
3484         (WebCore::isCandidateForOpaquenessTest):
3485         (WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect const):
3486         (WebCore::RenderBox::backgroundHasOpaqueTopLayer const):
3487         (WebCore::RenderBox::computeRectForRepaint const):
3488         (WebCore::RenderBox::computeLogicalWidthInFragment const):
3489         (WebCore::RenderBox::columnFlexItemHasStretchAlignment const):
3490         (WebCore::RenderBox::isStretchingColumnFlexItem const):
3491         (WebCore::RenderBox::hasStretchedLogicalWidth const):
3492         (WebCore::RenderBox::sizesLogicalWidthToFitContent const):
3493         (WebCore::RenderBox::computeLogicalHeight const):
3494         (WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing const):
3495         (WebCore::RenderBox::createsNewFormattingContext const):
3496         * rendering/RenderBox.h:
3497         (WebCore::RenderBox::scrollsOverflowX const):
3498         (WebCore::RenderBox::scrollsOverflowY const):
3499         (WebCore::RenderBox::selfAlignmentNormalBehavior const):
3500         * rendering/RenderBoxModelObject.cpp:
3501         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3502         (WebCore::RenderBoxModelObject::calculateFillTileSize const):
3503         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry const):
3504         (WebCore::styleRequiresClipPolygon):
3505         (WebCore::borderStyleFillsBorderArea):
3506         (WebCore::borderStyleHasInnerDetail):
3507         (WebCore::borderStyleIsDottedOrDashed):
3508         (WebCore::borderStyleHasUnmatchedColorsAtCorner):
3509         (WebCore::borderStylesRequireMitre):
3510         (WebCore::RenderBoxModelObject::paintBorder):
3511         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
3512         (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):
3513         * rendering/RenderBoxModelObject.h:
3514         * rendering/RenderDeprecatedFlexibleBox.cpp:
3515         (WebCore::FlexBoxIterator::FlexBoxIterator):
3516         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3517         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3518         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3519         * rendering/RenderDeprecatedFlexibleBox.h:
3520         * rendering/RenderElement.cpp:
3521         (WebCore::RenderElement::adjustStyleDifference const):
3522         (WebCore::RenderElement::shouldRepaintForStyleDifference const):
3523         (WebCore::RenderElement::initializeStyle):
3524         (WebCore::RenderElement::setStyle):
3525         (WebCore::RenderElement::didAttachChild):
3526         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
3527         (WebCore::RenderElement::styleWillChange):
3528         (WebCore::RenderElement::styleDidChange):
3529         (WebCore::mustRepaintFillLayers):
3530         (WebCore::RenderElement::selectionColor const):
3531         (WebCore::RenderElement::selectionBackgroundColor const):
3532         (WebCore::RenderElement::drawLineForBoxSide const):
3533         (WebCore::RenderElement::paintFocusRing):
3534         (WebCore::RenderElement::paintOutline):
3535         (WebCore::RenderElement::updateOutlineAutoAncestor):
3536         (WebCore::includeNonFixedHeight):
3537         * rendering/RenderElement.h:
3538         (WebCore::RenderElement::hasHiddenBackface const):
3539         (WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
3540         * rendering/RenderFlexibleBox.cpp:
3541         (WebCore::RenderFlexibleBox::firstLineBaseline const):
3542         (WebCore::contentAlignmentNormalBehavior):
3543         (WebCore::RenderFlexibleBox::styleDidChange):
3544         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
3545         (WebCore::RenderFlexibleBox::isLeftToRightFlow const):
3546         (WebCore::RenderFlexibleBox::isMultiline const):
3547         (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
3548         (WebCore::RenderFlexibleBox::crossSizeForPercentageResolution):
3549         (WebCore::initialJustifyContentOffset):
3550         (WebCore::justifyContentSpaceBetweenChildren):
3551         (WebCore::alignmentOffset):
3552         (WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild):
3553         (WebCore::RenderFlexibleBox::staticCrossAxisPositionForPositionedChild):
3554         (WebCore::RenderFlexibleBox::alignmentForChild const):
3555         (WebCore::RenderFlexibleBox::needToStretchChildLogicalHeight const):
3556         (WebCore::RenderFlexibleBox::mainAxisOverflowForChild const):
3557         (WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
3558         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
3559         (WebCore::RenderFlexibleBox::layoutColumnReverse):
3560         (WebCore::initialAlignContentOffset):
3561         (WebCore::alignContentSpaceBetweenChildren):
3562         (WebCore::RenderFlexibleBox::alignFlexLines):
3563         (WebCore::RenderFlexibleBox::alignChildren):
3564         * rendering/RenderFlexibleBox.h:
3565         * rendering/RenderFragmentContainer.cpp:
3566         (WebCore::RenderFragmentContainer::overflowRectForFragmentedFlowPortion):
3567         * rendering/RenderFullScreen.cpp:
3568         (WebCore::createFullScreenStyle):
3569         * rendering/RenderFullScreen.h:
3570         * rendering/RenderGrid.cpp:
3571         (WebCore::RenderGrid::selfAlignmentChangedToStretch const):
3572         (WebCore::RenderGrid::selfAlignmentChangedFromStretch const):
3573         (WebCore::RenderGrid::styleDidChange):
3574         (WebCore::contentAlignmentNormalBehaviorGrid):
3575         (WebCore::computeOverflowAlignmentOffset):
3576         (WebCore::RenderGrid::isInlineBaselineAlignedChild const):
3577         (WebCore::RenderGrid::columnAxisPositionForChild const):
3578         (WebCore::RenderGrid::rowAxisPositionForChild const):
3579         (WebCore::RenderGrid::resolveAutoStartGridPosition const):
3580         (WebCore::RenderGrid::resolveAutoEndGridPosition const):
3581         (WebCore::resolveContentDistributionFallback):
3582         (WebCore::contentDistributionOffset):
3583         (WebCore::RenderGrid::computeContentPositionAndDistributionOffset const):
3584         * rendering/RenderGrid.h:
3585         * rendering/RenderIFrame.cpp:
3586         (WebCore::RenderIFrame::requiresLayer const):
3587         * rendering/RenderImage.cpp:
3588         (WebCore::RenderImage::styleDidChange):
3589         (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect const):
3590         * rendering/RenderInline.cpp:
3591         (WebCore::RenderInline::styleWillChange):
3592         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
3593         (WebCore::RenderInline::paintOutline):
3594         (WebCore::RenderInline::paintOutlineForLine):
3595         * rendering/RenderLayer.cpp:
3596         (WebCore::isContainerForPositioned):
3597         (WebCore::RenderLayer::enclosingAncestorForPosition const):
3598         (WebCore::accumulateOffsetTowardsAncestor):
3599         (WebCore::RenderLayer::canResize const):
3600         (WebCore::RenderLayer::resize):
3601         (WebCore::RenderLayer::scrollCornerRect const):
3602         (WebCore::resizerCornerRect):
3603         (WebCore::RenderLayer::hasOverflowControls const):
3604         (WebCore::styleRequiresScrollbar):
3605         (WebCore::styleDefinesAutomaticScrollbar):
3606         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
3607         (WebCore::RenderLayer::paintResizer):
3608         (WebCore::RenderLayer::hitTestOverflowControls):
3609         (WebCore::RenderLayer::hitTestLayer):
3610         (WebCore::RenderLayer::calculateClipRects const):
3611         * rendering/RenderLayer.h:
3612         * rendering/RenderLayerBacking.cpp:
3613         (WebCore::RenderLayerBacking::updateGeometry):
3614         (WebCore::canDirectlyCompositeBackgroundBackgroundImage):
3615         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer const):
3616         (WebCore::backgroundRectForBox):
3617         * rendering/RenderLayerCompositor.cpp:
3618         (WebCore::isScrollableOverflow):
3619         (WebCore::styleChangeRequiresLayerRebuild):
3620         (WebCore::RenderLayerCompositor::layerStyleChanged):
3621         (WebCore::RenderLayerCompositor::reasonsForCompositing const):
3622         (WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility const):
3623         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason const):
3624         (WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):
3625         (WebCore::RenderLayerCompositor::requiresCompositingForPosition const):
3626         (WebCore::RenderLayerCompositor::layerHas3DContent const):
3627         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
3628         * rendering/RenderLayerModelObject.cpp:
3629         (WebCore::RenderLayerModelObject::styleWillChange):
3630         * rendering/RenderMenuList.cpp:
3631         (WebCore::RenderMenuList::adjustInnerStyle):
3632         * rendering/RenderMultiColumnFlow.cpp:
3633         (WebCore::RenderMultiColumnFlow::isColumnSpanningDescendant const):
3634         * rendering/RenderMultiColumnSet.cpp:
3635         (WebCore::RenderMultiColumnSet::requiresBalancing const):
3636         (WebCore::RenderMultiColumnSet::paintColumnRules):
3637         * rendering/RenderMultiColumnSpannerPlaceholder.cpp:
3638         (WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
3639         * rendering/RenderObject.cpp:
3640         (WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):
3641         (WebCore::containerForElement):
3642         (WebCore::RenderObject::calculateBorderStyleColor):
3643         * rendering/RenderObject.h:
3644         (WebCore::RenderObject::isFixedPositioned const):
3645         (WebCore::RenderObject::isAbsolutelyPositioned const):
3646         (WebCore::RenderObject::setPositionState):
3647         (WebCore::RenderObject::RenderObjectBitfields::setPositionedState):
3648         (WebCore::RenderObject::RenderObjectBitfields::clearPositionedState):
3649         * rendering/RenderQuote.cpp:
3650         (WebCore::RenderQuote::styleDidChange):
3651         (WebCore::RenderQuote::computeText const):
3652         (WebCore::RenderQuote::isOpen const):
3653         * rendering/RenderReplaced.cpp:
3654         (WebCore::RenderReplaced::layout):
3655         (WebCore::RenderReplaced::setNeedsLayoutIfNeededAfterIntrinsicSizeChange):
3656         (WebCore::RenderReplaced::replacedContentRect const):
3657         * rendering/RenderScrollbarPart.cpp:
3658         (WebCore::RenderScrollbarPart::styleDidChange):
3659         * rendering/RenderTable.cpp:
3660         (WebCore::RenderTable::styleDidChange):
3661         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
3662         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
3663         (WebCore::RenderTable::calcBorderStart const):
3664         (WebCore::RenderTable::calcBorderEnd const):
3665         (WebCore::RenderTable::outerBorderBefore const):
3666         (WebCore::RenderTable::outerBorderAfter const):
3667         (WebCore::RenderTable::outerBorderStart const):
3668         (WebCore::RenderTable::outerBorderEnd const):
3669         * rendering/RenderTable.h:
3670         (WebCore::RenderTable::collapseBorders const):
3671         * rendering/RenderTableCell.cpp:
3672         (WebCore::RenderTableCell::computeIntrinsicPadding):
3673         (WebCore::RenderTableCell::styleDidChange):
3674         (WebCore::compareBorders):
3675         (WebCore::chooseBorder):
3676         (WebCore::emptyBorder):
3677         (WebCore::RenderTableCell::computeCollapsedStartBorder const):
3678         (WebCore::RenderTableCell::computeCollapsedEndBorder const):
3679         (WebCore::RenderTableCell::computeCollapsedBeforeBorder const):
3680         (WebCore::RenderTableCell::computeCollapsedAfterBorder const):
3681         (WebCore::CollapsedBorders::addBorder):
3682         (WebCore::RenderTableCell::paintCollapsedBorders):
3683         (WebCore::RenderTableCell::scrollbarsChanged):
3684         * rendering/RenderTableCell.h:
3685         (WebCore::RenderTableCell::logicalHeightForRowSizing const):
3686         (WebCore::RenderTableCell::isBaselineAligned const):
3687         * rendering/RenderTableRow.cpp:
3688         (WebCore::RenderTableRow::styleDidChange):
3689         * rendering/RenderTableSection.cpp:
3690         (WebCore::RenderTableSection::calcOuterBorderBefore const):
3691         (WebCore::RenderTableSection::calcOuterBorderAfter const):
3692         (WebCore::RenderTableSection::calcOuterBorderStart const):
3693         (WebCore::RenderTableSection::calcOuterBorderEnd const):
3694         (WebCore::RenderTableSection::paintRowGroupBorder):
3695         (WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
3696         (WebCore::RenderTableSection::cachedCollapsedBorder):
3697         * rendering/RenderTableSection.h:
3698         * rendering/RenderText.cpp:
3699         (WebCore::RenderText::styleDidChange):
3700         (WebCore::RenderText::absoluteQuadsClippedToEllipsis const):
3701         (WebCore::isSpaceAccordingToStyle):
3702         (WebCore::mapLineBreakToIteratorMode):
3703         (WebCore::RenderText::computePreferredLogicalWidths):
3704         (WebCore::RenderText::setRenderedText):
3705         (WebCore::RenderText::textWithoutConvertingBackslashToYenSymbol const):
3706         (WebCore::RenderText::momentarilyRevealLastTypedCharacter):
3707         * rendering/RenderTextControl.cpp:
3708         (WebCore::RenderTextControl::computeLogicalHeight const):
3709         * rendering/RenderTextControlSingleLine.cpp:
3710         (WebCore::RenderTextControlSingleLine::styleDidChange):
3711         * rendering/RenderTheme.cpp:
3712         (WebCore::RenderTheme::extractControlStatesForRenderer const):
3713         * rendering/RenderThemeIOS.mm:
3714         (WebCore::adjustInputElementButtonStyle):
3715         * rendering/RenderThemeMac.mm:
3716         (WebCore::RenderThemeMac::updateFocusedState):
3717         (WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary):
3718         (WebCore::RenderThemeMac::adjustSearchFieldStyle const):
3719         * rendering/RenderTreeAsText.cpp:
3720         (WebCore::printBorderStyle):
3721         * rendering/RenderVideo.cpp:
3722         (WebCore::RenderVideo::updatePlayer):
3723         * rendering/RenderView.cpp:
3724         (WebCore::RenderView::RenderView):
3725         (WebCore::rendererObscuresBackground):
3726         * rendering/RootInlineBox.cpp:
3727         (WebCore::RootInlineBox::verticalPositionForBox):
3728         * rendering/SimpleLineLayout.cpp:
3729         (WebCore::SimpleLineLayout::canUseForStyle):
3730         (WebCore::SimpleLineLayout::canUseForWithReason):
3731         * rendering/SimpleLineLayoutTextFragmentIterator.cpp:
3732         (WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
3733         * rendering/TextPaintStyle.cpp:
3734         (WebCore::computeTextPaintStyle):
3735         * rendering/line/BreakingContext.h:
3736         (WebCore::BreakingContext::handleBR):
3737         (WebCore::shouldAddBorderPaddingMargin):
3738         (WebCore::BreakingContext::handleText):
3739         (WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):
3740         * rendering/line/LineBreaker.cpp:
3741         (WebCore::LineBreaker::reset):
3742         * rendering/line/LineBreaker.h:
3743         (WebCore::LineBreaker::clear):
3744         * rendering/line/LineInlineHeaders.h:
3745         (WebCore::skipNonBreakingSpace):
3746         * rendering/line/LineWidth.cpp:
3747         (WebCore::requiresIndent):
3748         * rendering/style/BorderData.h:
3749         (WebCore::BorderData::borderLeftWidth const):
3750         (WebCore::BorderData::borderRightWidth const):
3751         (WebCore::BorderData::borderTopWidth const):
3752         (WebCore::BorderData::borderBottomWidth const):
3753         * rendering/style/BorderValue.h:
3754         (WebCore::BorderValue::BorderValue):
3755         (WebCore::BorderValue::nonZero const):
3756         (WebCore::BorderValue::isVisible const):
3757         (WebCore::BorderValue::style const):
3758         * rendering/style/CollapsedBorderValue.h:
3759         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
3760         (WebCore::CollapsedBorderValue::width const):
3761         (WebCore::CollapsedBorderValue::style const):
3762         (WebCore::CollapsedBorderValue::exists const):
3763         (WebCore::CollapsedBorderValue::precedence const):
3764         * rendering/style/FillLayer.cpp:
3765         (WebCore::FillLayer::FillLayer):
3766         (WebCore::clipMax):
3767         (WebCore::FillLayer::computeClipMax const):
3768         (WebCore::FillLayer::hasRepeatXY const):
3769         (WebCore::FillLayer::hasFixedImage const):
3770         * rendering/style/FillLayer.h:
3771         (WebCore::FillSize::FillSize):
3772         (WebCore::FillLayer::attachment const):
3773         (WebCore::FillLayer::clip const):
3774         (WebCore::FillLayer::origin const):
3775         (WebCore::FillLayer::repeatX const):
3776         (WebCore::FillLayer::repeatY const):
3777         (WebCore::FillLayer::sizeType const):
3778         (WebCore::FillLayer::size const):
3779         (WebCore::FillLayer::maskSourceType const):
3780         (WebCore::FillLayer::isSizeSet const):
3781         (WebCore::FillLayer::setAttachment):
3782         (WebCore::FillLayer::setClip):
3783         (WebCore::FillLayer::setOrigin):
3784         (WebCore::FillLayer::setRepeatX):
3785         (WebCore::FillLayer::setRepeatY):
3786         (WebCore::FillLayer::setComposite):
3787         (WebCore::FillLayer::setBlendMode):
3788         (WebCore::FillLayer::setSizeType):
3789         (WebCore::FillLayer::setSize):
3790         (WebCore::FillLayer::setMaskSourceType):
3791         (WebCore::FillLayer::clearSize):
3792         (WebCore::FillLayer::type const):
3793         (WebCore::FillLayer::initialFillAttachment):
3794         (WebCore::FillLayer::initialFillClip):
3795         (WebCore::FillLayer::initialFillOrigin):
3796         (WebCore::FillLayer::initialFillRepeatX):
3797         (WebCore::FillLayer::initialFillRepeatY):
3798         (WebCore::FillLayer::initialFillComposite):
3799         (WebCore::FillLayer::initialFillBlendMode):
3800         (WebCore::FillLayer::initialFillSize):
3801         (WebCore::FillLayer::initialFillXPosition):
3802         (WebCore::FillLayer::initialFillYPosition):
3803         (WebCore::FillLayer::initialFillImage):
3804         (WebCore::FillLayer::initialFillMaskSourceType):
3805         * rendering/style/LineClampValue.h:
3806         (WebCore::LineClampValue::LineClampValue):
3807         (WebCore::LineClampValue::isPercentage const):
3808         * rendering/style/RenderStyle.cpp:
3809         (WebCore::RenderStyle::RenderStyle):
3810         (WebCore::resolvedSelfAlignment):
3811         (WebCore::RenderStyle::resolvedAlignSelf const):
3812         (WebCore::RenderStyle::resolvedJustifySelf const):
3813         (WebCore::resolvedContentAlignment):
3814         (WebCore::resolvedContentAlignmentPosition):
3815         (WebCore::resolvedContentAlignmentDistribution):
3816         (WebCore::RenderStyle::resolvedJustifyContentDistribution const):
3817         (WebCore::RenderStyle::resolvedAlignContentDistribution const):
3818         (WebCore::RenderStyle::changeRequiresLayout const):
3819         (WebCore::RenderStyle::changeRequiresPositionedLayoutOnly const):
3820         (WebCore::RenderStyle::changeRequiresLayerRepaint const):
3821         (WebCore::RenderStyle::changeRequiresRepaint const):
3822         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline const):
3823         (WebCore::RenderStyle::changeRequiresRecompositeLayer const):
3824         (WebCore::RenderStyle::diff const):
3825         (WebCore::RenderStyle::diffRequiresLayerRepaint const):
3826         (WebCore::allLayersAreFixed):
3827         (WebCore::RenderStyle::colorIncludingFallback const):
3828         (WebCore::RenderStyle::setColumnStylesFromPaginationMode):
3829         (WebCore::RenderStyle::outlineWidth const):
3830         (WebCore::RenderStyle::outlineOffset const):
3831         * rendering/style/RenderStyle.h:
3832         (WebCore::RenderStyle::isFloating const):
3833         (WebCore::RenderStyle::position const):
3834         (WebCore::RenderStyle::hasOutOfFlowPosition const):
3835         (WebCore::RenderStyle::hasInFlowPosition const):
3836         (WebCore::RenderStyle::hasViewportConstrainedPosition const):
3837         (WebCore::RenderStyle::floating const):
3838         (WebCore::RenderStyle::borderLeftStyle const):
3839         (WebCore::RenderStyle::borderRightStyle const):
3840         (WebCore::RenderStyle::borderTopStyle const):
3841         (WebCore::RenderStyle::borderBottomStyle const):
3842         (WebCore::RenderStyle::hasOutline const):
3843         (WebCore::RenderStyle::outlineStyle const):
3844         (WebCore::RenderStyle::overflowX const):
3845         (WebCore::RenderStyle::overflowY const):
3846         (WebCore::RenderStyle::overflowInlineDirection const):
3847         (WebCore::RenderStyle::overflowBlockDirection const):
3848         (WebCore::RenderStyle::verticalAlign const):
3849         (WebCore::RenderStyle::clear const):
3850         (WebCore::RenderStyle::tableLayout const):
3851         (WebCore::RenderStyle::backgroundRepeatX const):
3852         (WebCore::RenderStyle::backgroundRepeatY const):
3853         (WebCore::RenderStyle::backgroundAttachment const):
3854         (WebCore::RenderStyle::backgroundClip const):
3855         (WebCore::RenderStyle::backgroundOrigin const):
3856         (WebCore::RenderStyle::backgroundSizeType const):
3857         (WebCore::RenderStyle::maskRepeatX const):
3858         (WebCore::RenderStyle::maskRepeatY const):
3859         (WebCore::RenderStyle::maskClip const):
3860         (WebCore::RenderStyle::maskOrigin const):
3861         (WebCore::RenderStyle::maskSizeType const):
3862         (WebCore::RenderStyle::borderCollapse const):
3863         (WebCore::RenderStyle::boxAlign const):
3864         (WebCore::RenderStyle::boxDirection const):
3865         (WebCore::RenderStyle::boxLines const):
3866         (WebCore::RenderStyle::boxOrient const):
3867         (WebCore::RenderStyle::boxPack const):
3868         (WebCore::RenderStyle::flexDirection const):
3869         (WebCore::RenderStyle::isColumnFlexDirection const):
3870         (WebCore::RenderStyle::isReverseFlexDirection const):
3871         (WebCore::RenderStyle::flexWrap const):
3872         (WebCore::RenderStyle::boxDecorationBreak const):
3873         (WebCore::RenderStyle::boxSizing const):
3874         (WebCore::RenderStyle::userModify const):
3875         (WebCore::RenderStyle::userDrag const):
3876         (WebCore::RenderStyle::userSelect const):
3877         (WebCore::RenderStyle::marginBeforeCollapse const):
3878         (WebCore::RenderStyle::marginAfterCollapse const):
3879         (WebCore::RenderStyle::wordBreak const):
3880         (WebCore::RenderStyle::overflowWrap const):
3881         (WebCore::RenderStyle::nbspMode const):
3882         (WebCore::RenderStyle::resize const):
3883         (WebCore::RenderStyle::columnRuleStyle const):
3884         (WebCore::RenderStyle::hasTextCombine const):
3885         (WebCore::RenderStyle::transformStyle3D const):
3886         (WebCore::RenderStyle::preserves3D const):
3887         (WebCore::RenderStyle::backfaceVisibility const):
3888         (WebCore::RenderStyle::textSecurity const):
3889         (WebCore::RenderStyle::imageRendering const):
3890         (WebCore::RenderStyle::setIsolation):
3891         (WebCore::RenderStyle::hasIsolation const):
3892         (WebCore::RenderStyle::isolation const):
3893         (WebCore::RenderStyle::setPosition):
3894         (WebCore::RenderStyle::setFloating):
3895         (WebCore::RenderStyle::setBackgroundSize):
3896         (WebCore::RenderStyle::setBorderLeftStyle):
3897         (WebCore::RenderStyle::setBorderRightStyle):
3898         (WebCore::RenderStyle::setBorderTopStyle):
3899         (WebCore::RenderStyle::setBorderBottomStyle):
3900         (WebCore::RenderStyle::setOutlineStyleIsAuto):
3901         (WebCore::RenderStyle::setOutlineStyle):
3902         (WebCore::RenderStyle::setOverflowX):
3903         (WebCore::RenderStyle::setOverflowY):
3904         (WebCore::RenderStyle::setVerticalAlign):
3905         (WebCore::RenderStyle::setVerticalAlignLength):
3906         (WebCore::RenderStyle::setClear):
3907         (WebCore::RenderStyle::setTableLayout):
3908         (WebCore::RenderStyle::setImageRendering):
3909         (WebCore::RenderStyle::clearBackgroundLayers):
3910         (WebCore::RenderStyle::clearMaskLayers):
3911         (WebCore::RenderStyle::setBorderCollapse):
3912         (WebCore::RenderStyle::setAspectRatioType):
3913         (WebCore::RenderStyle::setPrintColorAdjust):
3914         (WebCore::RenderStyle::setBoxAlign):
3915         (WebCore::RenderStyle::setBoxDirection):
3916         (WebCore::RenderStyle::setBoxLines):
3917         (WebCore::RenderStyle::setBoxOrient):
3918         (WebCore::RenderStyle::setBoxPack):