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