[GStreamer] Refactor media player to use MediaTime consistently
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2017-09-29  Enrique Ocaña González  <eocanha@igalia.com>
2
3         [GStreamer] Refactor media player to use MediaTime consistently
4         https://bugs.webkit.org/show_bug.cgi?id=174817
5
6         Reviewed by Xabier Rodriguez-Calvar.
7
8         Make consistent use of the MediaTime class in the GStreamer media
9         player implementations.
10
11         This patch is authored by Charlie Turner <cturner@igalia.com> plus
12         some minor modifications by Enrique: migration of m_cachedPosition,
13         usage of m_seekTime as MediaTime in the MSE player and more logging
14         using toString().
15
16         Covered by existing tests.
17
18         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
19         (WebCore::toGstUnsigned64Time): Scales MediaTime to the precision used
20         by GStreamer and returns a value compatible with GstClockTime.
21         (WebCore::toGstClockTime): Deleted.
22         * platform/graphics/gstreamer/GStreamerUtilities.h:
23         (WebCore::toGstClockTime): Inlined, now it takes MediaTime and converts
24         to GstClockTime.
25         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
26         Several changes to use MediaTime instead of float and to log MediaTime
27         values converting them toString().
28         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
29         (WebCore::MediaPlayerPrivateGStreamer::load):
30         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
31         (WebCore::MediaPlayerPrivateGStreamer::durationMediaTime const):
32         (WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
33         (WebCore::MediaPlayerPrivateGStreamer::seek): Uses MediaTime.
34         (WebCore::MediaPlayerPrivateGStreamer::doSeek):
35         (WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
36         (WebCore::MediaPlayerPrivateGStreamer::buffered const):
37         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
38         (WebCore::MediaPlayerPrivateGStreamer::maxMediaTimeSeekable const):
39         (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded const):
40         (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress const):
41         (WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
42         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
43         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
44         (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
45         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable const): Deleted.
46         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Changed
47         seek(), playBackposition(), m_cachedPosition, m_durationAtEOS,
48         m_seekTime and m_timeOfOverlappingSeek to be of MediaTime type.
49         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
50         Prefer the methods based on MediaTime over those based on fload/double.
51         (WebCore::MediaPlayerPrivateGStreamerBase::maxTimeLoaded const):
52         * platform/graphics/gstreamer/mse/GStreamerMediaSample.cpp:
53         (WebCore::GStreamerMediaSample::offsetTimestampsBy): toGstClockTime()
54         now can handle MediaTime.
55         * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
56         Several changes to use MediaTime instead of float and to log MediaTime
57         values converting them toString().
58         (WebCore::MediaPlayerPrivateGStreamerMSE::seek):
59         (WebCore::MediaPlayerPrivateGStreamerMSE::notifySeekNeedsDataForTime):
60         (WebCore::MediaPlayerPrivateGStreamerMSE::doSeek):
61         (WebCore::MediaPlayerPrivateGStreamerMSE::maybeFinishSeek):
62         (WebCore::MediaPlayerPrivateGStreamerMSE::isTimeBuffered const):
63         (WebCore::MediaPlayerPrivateGStreamerMSE::durationChanged):
64         (WebCore::MediaPlayerPrivateGStreamerMSE::currentMediaTime const):
65         (WebCore::MediaPlayerPrivateGStreamerMSE::maxTimeSeekable const):
66         * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
67         seek() now takes a MediaTime argument.
68         * platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
69         (WebCore::PlaybackPipeline::enqueueSample): Use MediaTime values in
70         MediaSample.
71         * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
72         (webKitMediaSrcQueryWithParent): Use MediaTime values in
73         durationMediaTime().
74
75 2017-09-28  Sam Weinig  <sam@webkit.org>
76
77         Re-write Settings generation in python for some reason
78         https://bugs.webkit.org/show_bug.cgi?id=177621
79
80         Reviewed by Tim Horton.
81
82         Re-writes and splits up generation of InternalSettingsGenerated.{h|cpp|idl}
83         and SettingsMacros.h in python in preparation for larger changes.
84
85         * DerivedSources.make:
86         * Scripts/GenerateSettings: Added.
87         * Scripts/GenerateSettings.py: Added.
88         * Scripts/GenerateSettings/GenerateInternalSettingsHeaderFile.py: Added.
89         * Scripts/GenerateSettings/GenerateInternalSettingsIDLFile.py: Added.
90         * Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py: Added.
91         * Scripts/GenerateSettings/GenerateSettings.py: Added.
92         * Scripts/GenerateSettings/GenerateSettingsMacrosHeader.py: Added.
93         * Scripts/GenerateSettings/Settings.py: Added.
94         * Scripts/GenerateSettings/__init__.py: Added.
95         * WebCore.xcodeproj/project.pbxproj:
96         * page/make_settings.pl: Removed.
97
98 2017-09-28  Don Olmstead  <don.olmstead@sony.com>
99
100         Simplify PLATFORM ifdefs within Editor around writing selections
101         https://bugs.webkit.org/show_bug.cgi?id=177624
102
103         Reviewed by Alex Christensen.
104
105         No new tests. No change in behavior.
106
107         * editing/Editor.cpp:
108         (WebCore::Editor::performCutOrCopy):
109         (WebCore::Editor::copyImage):
110         * editing/Editor.h:
111
112 2017-09-28  Joanmarie Diggs  <jdiggs@igalia.com>
113
114         AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
115         https://bugs.webkit.org/show_bug.cgi?id=177542
116
117         Add new notification types to AXObjectCache in order to support the notifications
118         needed, post the notifications to all platforms, emit the signals for ATK.
119
120         Reviewed by Chris Fleizach.
121
122         Tests: accessibility/gtk/aria-disabled-changed-notification.html
123                accessibility/gtk/aria-expanded-changed-notification.html
124                accessibility/gtk/aria-pressed-changed-notification.html
125                accessibility/gtk/aria-readonly-changed-notification.html
126                accessibility/gtk/aria-required-changed-notification.html
127
128         * accessibility/AXObjectCache.cpp:
129         (WebCore::AXObjectCache::handleAttributeChanged):
130         * accessibility/AXObjectCache.h:
131         * accessibility/atk/AXObjectCacheAtk.cpp:
132         (WebCore::AXObjectCache::postPlatformNotification):
133
134 2017-09-28  Daniel Bates  <dabates@apple.com>
135
136         Remove TextRun::setCharactersLength() and TextRun::charactersLength()
137         https://bugs.webkit.org/show_bug.cgi?id=177620
138
139         Reviewed by Zalan Bujtas.
140
141         The purpose of TextRun::setCharactersLength() and TextRun::charactersLength() predate the
142         use of WidthIterator to safely iterate over characters in a TextRun that may contain
143         surrogate halves due to how it was created (without thought of surrogate pairs). Historically
144         TextRun::charactersLength() complemented TextRun::length() and represented the length of the
145         text to render ignoring and respecting truncation, respectively. We not longer need either
146         of these member functions with the advent of WidthIterator.
147
148         No functionality changed. So, no new tests.
149
150         * platform/graphics/ComplexTextController.cpp:
151         (WebCore::TextLayout::constructTextRun):
152         * platform/graphics/TextRun.cpp: Remove one unsigned field from ExpectedTextRunSize as we
153         reduced the size of TextRun with the removal of TextRun::m_charactersLength.
154         * platform/graphics/TextRun.h:
155         (WebCore::TextRun::TextRun):
156         (WebCore::TextRun::charactersLength const): Deleted.
157         (WebCore::TextRun::setCharactersLength): Deleted.
158         * rendering/InlineTextBox.cpp:
159         (WebCore::InlineTextBox::constructTextRun const):
160         * rendering/InlineTextBox.h:
161         (WebCore::InlineTextBox::constructTextRun): Deleted overload that took const RenderStyle& style
162         and StringView.
163         * rendering/RenderText.cpp:
164         (WebCore::RenderText::widthFromCache const):
165         (WebCore::maxWordFragmentWidth):
166         (WebCore::RenderText::computePreferredLogicalWidths):
167         (WebCore::RenderText::width const):
168         * rendering/line/BreakingContext.h:
169         (WebCore::textWidth):
170         (WebCore::tryHyphenating):
171         * rendering/svg/SVGInlineTextBox.cpp:
172         (WebCore::SVGInlineTextBox::constructTextRun const):
173         * rendering/svg/SVGTextMetrics.cpp:
174         (WebCore::SVGTextMetrics::constructTextRun):
175         * rendering/svg/SVGTextMetricsBuilder.cpp:
176         (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair const): Use TextRun::length().
177         (WebCore::SVGTextMetricsBuilder::advance): Ditto.
178
179 2017-09-28  Tim Horton  <timothy_horton@apple.com>
180
181         Remove constant() in favor of env()
182         https://bugs.webkit.org/show_bug.cgi?id=177581
183         <rdar://problem/34701321>
184
185         Reviewed by Dean Jackson.
186
187         No new tests, removing a feature.
188
189         * css/CSSValueKeywords.in:
190         * css/CSSVariableData.cpp:
191         (WebCore::CSSVariableData::checkVariablesForCyclesWithRange const):
192         (WebCore::CSSVariableData::resolveTokenRange const):
193         * css/parser/CSSVariableParser.cpp:
194         (WebCore::classifyBlock):
195
196 2017-09-28  Brent Fulgham  <bfulgham@apple.com>
197
198         Add ports 6679 and 6697 (IRC SSL) to port blacklist
199         https://bugs.webkit.org/show_bug.cgi?id=177544
200         <rdar://problem/34666525>
201
202         Reviewed by Alex Christensen.
203
204         Test: security/block-test.html
205
206         * platform/URL.cpp:
207         (WebCore::portAllowed): Also block port 6679.
208
209 2017-09-28  Chris Dumez  <cdumez@apple.com>
210
211         Unreviewed, speculative Windows build fix after r222613.
212
213         * dom/StringCallback.idl:
214
215 2017-09-28  Zalan Bujtas  <zalan@apple.com>
216
217         Small cleanup in RenderMenuList::didUpdateActiveOption
218         https://bugs.webkit.org/show_bug.cgi?id=177610
219
220         Reviewed by Dean Jackson.
221
222         No change in functionality.
223
224         * rendering/RenderMenuList.cpp:
225         (WebCore::RenderMenuList::RenderMenuList):
226         (RenderMenuList::didUpdateActiveOption):
227         * rendering/RenderMenuList.h:
228
229 2017-09-28  Ross Kirsling  <ross.kirsling@sony.com>
230
231         [PAL] Move HysteresisActivity into PAL
232         https://bugs.webkit.org/show_bug.cgi?id=177516
233
234         Reviewed by Alex Christensen.
235
236         * WebCore.xcodeproj/project.pbxproj:
237         * platform/UserActivity.cpp:
238         (WebCore::UserActivity::UserActivity):
239         (WebCore::UserActivity::hysteresisUpdated):
240         * platform/UserActivity.h:
241         * platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:
242         (WebCore::BackingStoreBackendCairoImpl::BackingStoreBackendCairoImpl):
243         * platform/graphics/cairo/BackingStoreBackendCairoImpl.h:
244         * platform/ios/WebSQLiteDatabaseTrackerClient.h:
245         * platform/ios/WebSQLiteDatabaseTrackerClient.mm:
246         (WebCore::WebSQLiteDatabaseTrackerClient::WebSQLiteDatabaseTrackerClient):
247         (WebCore::WebSQLiteDatabaseTrackerClient::hysteresisUpdated):
248
249 2017-09-28  Chris Dumez  <cdumez@apple.com>
250
251         Add support for <link rel=preconnect>
252         https://bugs.webkit.org/show_bug.cgi?id=177474
253         <rdar://problem/33141380>
254
255         Reviewed by Alex Christensen.
256
257         Add support for <link rel=preconnect>:
258         - https://w3c.github.io/resource-hints/#preconnect
259
260         It is currently only enabled for WK2 on MacOS High Sierra+
261         and iOS 11+.
262
263         Tests: fast/dom/HTMLLinkElement/preconnect-support.html
264                http/tests/preconnect/link-rel-preconnect-http.html
265                http/tests/preconnect/link-rel-preconnect-https.html
266
267         * bindings/js/JSDOMExceptionHandling.h:
268         * bindings/scripts/CodeGeneratorJS.pm:
269         (GenerateCallbackHeaderContent):
270         * bindings/scripts/IDLAttributes.json:
271         * dom/Document.cpp:
272         (WebCore::Document::addConsoleMessage):
273         (WebCore::Document::setConsoleMessageListener):
274         * dom/Document.h:
275         * dom/StringCallback.idl:
276         * html/DOMTokenList.cpp:
277         (WebCore::DOMTokenList::DOMTokenList):
278         (WebCore::DOMTokenList::supports):
279         * html/DOMTokenList.h:
280         (WebCore::DOMTokenList::DOMTokenList):
281         * html/HTMLAnchorElement.cpp:
282         (WebCore::HTMLAnchorElement::relList):
283         * html/HTMLIFrameElement.cpp:
284         (WebCore::HTMLIFrameElement::sandbox):
285         * html/HTMLLinkElement.cpp:
286         (WebCore::HTMLLinkElement::parseAttribute):
287         (WebCore::HTMLLinkElement::relList):
288         * html/LinkRelAttribute.cpp:
289         (WebCore::LinkRelAttribute::LinkRelAttribute):
290         (WebCore::LinkRelAttribute::isSupported):
291         * html/LinkRelAttribute.h:
292         * html/parser/HTMLPreloadScanner.cpp:
293         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
294         * loader/LinkLoader.cpp:
295         (WebCore::LinkLoader::loadLinksFromHeader):
296         (WebCore::LinkLoader::loadLink):
297         * loader/LoaderStrategy.h:
298         * page/Settings.in:
299         * testing/Internals.cpp:
300         (WebCore::Internals::Internals):
301         (WebCore::Internals::setConsoleMessageListener):
302         * testing/Internals.h:
303         * testing/Internals.idl:
304
305 2017-09-28  Zalan Bujtas  <zalan@apple.com>
306
307         AX: Defer RenderListBox selectionChanged event until after layout is done.
308         https://bugs.webkit.org/show_bug.cgi?id=177589
309         <rdar://problem/34705785>
310
311         Reviewed by Chris Fleizach.
312
313         Defer AX update when the selection changed event is followed by a layout.
314
315         Covered by existing tests.
316
317         * accessibility/AXObjectCache.cpp:
318         (WebCore::AXObjectCache::remove):
319         (WebCore::AXObjectCache::performDeferredCacheUpdate):
320         (WebCore::AXObjectCache::deferSelectedChildrenChangedIfNeeded):
321         * accessibility/AXObjectCache.h:
322         (WebCore::AXObjectCache::deferSelectedChildrenChangedIfNeeded):
323         * rendering/RenderListBox.cpp:
324         (WebCore::RenderListBox::selectionChanged):
325
326 2017-09-28  Zan Dobersek  <zdobersek@igalia.com>
327
328         [Cairo] Remove the cairo_glyph_t complexity from GlyphBuffer
329         https://bugs.webkit.org/show_bug.cgi?id=177598
330
331         Reviewed by Carlos Garcia Campos.
332
333         Remove the decade-old use of cairo_glyph_t as the underlying type for
334         Glyph. The former spans 24 bytes in size, while the latte is just 2
335         bytes. The x and y coordinate attributes of cairo_glyph_t were only
336         used in FontCascade::drawGlyphs() implementation, where they were
337         overridden even if the same GlyphBuffer object was used here repeatedly.
338
339         FontCascade::drawGlyphs() now creates a new Vector<cairo_glyph_t> object
340         and fills it only with the glyph index and coordinates data for glyphs
341         that will actually be drawn. This will likely in the future be leveraged
342         to pack the necessary data and perform the drawing operations in
343         parallelized tasks. GlyphBuffer usages that before required USE(CAIRO)
344         special-casing can now be simplified.
345
346         This also removes the need for <cairo.h> header inclusion in the
347         GlyphBuffer.h header. This further removes Cairo header inclusion in
348         roughly 600 build targets.
349
350         No new tests -- no change in behavior.
351
352         * platform/graphics/FontCascade.cpp:
353         (WebCore::FontCascade::widthForSimpleText const):
354         * platform/graphics/GlyphBuffer.h:
355         (WebCore::GlyphBuffer::glyphAt const):
356         (WebCore::GlyphBuffer::add):
357         * platform/graphics/cairo/FontCairo.cpp:
358         (WebCore::drawGlyphsToContext):
359         (WebCore::drawGlyphsShadow):
360         (WebCore::FontCascade::drawGlyphs):
361         * platform/graphics/displaylists/DisplayListItems.cpp:
362         (WebCore::DisplayList::DrawGlyphs::generateGlyphBuffer const):
363
364 2017-09-28  Wenson Hsieh  <wenson_hsieh@apple.com>
365
366         Unreviewed, rolling out r222606.
367
368         The debug assertion hit in these API tests should be fixed by
369         r222608.
370
371         Reverted changeset:
372
373         "REGRESSION(r222595): Assertion failure in
374         _preLoadedDataConformingToType"
375         https://bugs.webkit.org/show_bug.cgi?id=177599
376         http://trac.webkit.org/changeset/222606
377
378 2017-09-28  Wenson Hsieh  <wenson_hsieh@apple.com>
379
380         [iOS WK2] DataTransfer DataInteractionTests debug assert under -_preLoadedDataConformingToType:forItemProviderAtIndex:
381         https://bugs.webkit.org/show_bug.cgi?id=177594
382
383         Reviewed by Tim Horton.
384
385         Currently, some API tests added in r222595 currently hit debug assertions under -preloadedDataConformingToType:
386         forItemProviderAtIndex:. This is because the page may call DataTransfer.types, which now calls into
387         PlatformPasteboard::typesSafeForDOMToReadAndWrite(). This calls on the AbstractPasteboard (either the
388         UIPasteboard or WebItemProviderPasteboard, in the case of drag and drop) to fetch the custom WebKit pasteboard
389         data blob, if it exists. For WebItemProviderPasteboard, this ends up calling into -[WebItemProviderPasteboard
390         _preLoadedDataConformingToType:forItemProviderAtIndex:], which was previously only called after loading data off
391         of the item providers. There's an existing sanity check in this preloaded data helper to make sure that the
392         number of load results is equal to the number of item providers loaded from, but this sanity check only makes
393         sense *after* the drop has happened, not before, since we should only attempt to read dropped data after any
394         data at all has been dropped.
395
396         We need to check whether or not this custom data blob exists in PlatformPasteboard::typesSafeForDOMToReadAndWrite
397         to fetch the list of DOM-exposed types to propagate back to the page. So to fix this, we make the helper methods
398         for fetching dropped data (-dataForPasteboardType:inItemSet: and -valuesForPasteboardType:inItemSet:) fail
399         gracefully when invoked prior to drop, when PlatformPasteboard::typesSafeForDOMToReadAndWrite is invoked.
400
401         No new tests; fixes iOS drag and drop API tests that currently hit this debug assertion.
402
403         * platform/ios/WebItemProviderPasteboard.mm:
404         (-[WebItemProviderPasteboard dataForPasteboardType:inItemSet:]):
405         (-[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:]):
406
407 2017-09-28  Ryosuke Niwa  <rniwa@webkit.org>
408
409         REGRESSION(r222595): Assertion failure in _preLoadedDataConformingToType
410         https://bugs.webkit.org/show_bug.cgi?id=177599
411
412         Temporarily remove the debug assertion to make API tests not crash since the relevant API tests are passing.
413
414         * platform/ios/WebItemProviderPasteboard.mm:
415         (-[WebItemProviderPasteboard _preLoadedDataConformingToType:forItemProviderAtIndex:]):
416
417 2017-09-27  Fujii Hironori  <Hironori.Fujii@sony.com>
418
419         [REGRESSION] word-spacing property is incorrectly applied
420         https://bugs.webkit.org/show_bug.cgi?id=142086
421         <rdar://problem/19985240>
422
423         Reviewed by Zalan Bujtas.
424
425         word-spacing property isn't applied to text nodes with starting
426         with '\n' if the kerning enabled. In Bug 165796, only ' ' and '\t'
427         are treated for word-spacing, but '\n'. It should be treated as
428         well.
429
430         Test: fast/text/word-space-between-inlines.html
431
432         * rendering/RenderBlockLineLayout.cpp:
433         (WebCore::setLogicalWidthForTextRun): Use
434         FontCascade::treatAsSpace() instead of checking explicitly by
435         comparing with ' ' and '\t'.
436
437 2017-09-27  Zan Dobersek  <zdobersek@igalia.com>
438
439         [Cairo] Remove unnecessary cairo.h includes
440         https://bugs.webkit.org/show_bug.cgi?id=177540
441
442         Reviewed by Carlos Garcia Campos.
443
444         Drop unnecessary includes of the cairo.h header from the Font.h,
445         FontPlatformData.h and Pattern.h headers. For the former two the
446         header isn't required, while in the last one we can use a forward
447         declaration for the cairo_pattern_t type instead of including
448         the whole Cairo headers to have that available.
449
450         * platform/graphics/Font.h:
451         * platform/graphics/FontPlatformData.h:
452         * platform/graphics/Pattern.h:
453
454 2017-09-27  Zan Dobersek  <zdobersek@igalia.com>
455
456         [Cairo] Drop cairo_matrix_t conversion operators for AffineTransform, TransformationMatrix
457         https://bugs.webkit.org/show_bug.cgi?id=177539
458
459         Reviewed by Carlos Garcia Campos.
460
461         Remove the cairo_matrix_t conversion operators from the AffineTransform
462         and TransformationMatrix classes. These are rarely used, but enforce
463         including the cairo.h header in both headers, which leads to the Cairo
464         headers being included in around 800 build targets.
465
466         Instead, the toCairoMatrix() function is added to CairoUtilities.h that
467         creates a cairo_matrix_t object for the given AffineTransform. No
468         toCairoMatrix() is needed for TransformationMatrix since objects of
469         that type aren't converted to cairo_matrix_t anywhere in the codebase.
470
471         This patch excludes unnecessary Cairo headers from about 550 build
472         targets (with those headers being included in the other affected 250
473         targets by some other header inclusion chain). CairoUtilities.h header
474         is now included where necessary to make toCairoMatrix() available, and
475         duplicated cairo.h inclusions are removed.
476
477         No new tests -- no change in behavior.
478
479         * editing/gtk/EditorGtk.cpp: Explicitly include <cairo.h> since it's
480         necessary for Cairo operations used there.
481         * platform/Cairo.cmake:
482         * platform/graphics/cairo/CairoUtilities.cpp:
483         (WebCore::drawPatternToCairoContext):
484         (WebCore::toCairoMatrix):
485         * platform/graphics/cairo/CairoUtilities.h:
486         * platform/graphics/cairo/GradientCairo.cpp:
487         (WebCore::Gradient::platformGradient):
488         (WebCore::Gradient::setPlatformGradientSpaceTransform):
489         * platform/graphics/cairo/GraphicsContextCairo.cpp:
490         (WebCore::GraphicsContext::concatCTM):
491         (WebCore::GraphicsContext::setCTM):
492         * platform/graphics/cairo/PathCairo.cpp: No need to include AffineTransform.h.
493         (WebCore::Path::addPath):
494         (WebCore::Path::transform):
495         * platform/graphics/cairo/PatternCairo.cpp: Ditto.
496         (WebCore::Pattern::createPlatformPattern const):
497         * platform/graphics/cairo/TransformationMatrixCairo.cpp: Removed.
498         * platform/graphics/transforms/AffineTransform.h:
499         * platform/graphics/transforms/TransformationMatrix.h:
500
501 2017-09-27  Alex Christensen  <achristensen@webkit.org>
502
503         Add WKContentRuleList notify action type
504         https://bugs.webkit.org/show_bug.cgi?id=177013
505         <rdar://problem/31073936>
506
507         Reviewed by Darin Adler.
508
509         Covered by new API tests.
510
511         * contentextensions/ContentExtensionActions.h:
512         (WebCore::ContentExtensions::hasStringArgument):
513         * contentextensions/ContentExtensionCompiler.cpp:
514         (WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
515         (WebCore::ContentExtensions::serializeActions):
516         * contentextensions/ContentExtensionError.cpp:
517         (WebCore::ContentExtensions::contentExtensionErrorCategory):
518         * contentextensions/ContentExtensionError.h:
519         * contentextensions/ContentExtensionParser.cpp:
520         (WebCore::ContentExtensions::loadAction):
521         * contentextensions/ContentExtensionRule.cpp:
522         (WebCore::ContentExtensions::Action::deserialize):
523         (WebCore::ContentExtensions::Action::deserializeType):
524         (WebCore::ContentExtensions::Action::serializedLength):
525         * contentextensions/ContentExtensionRule.h:
526         (WebCore::ContentExtensions::Action::Action):
527         * contentextensions/ContentExtensionsBackend.cpp:
528         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
529         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):
530         (WebCore::ContentExtensions::applyBlockedStatusToRequest):
531         * loader/FrameLoader.cpp:
532         (WebCore::FrameLoader::loadResourceSynchronously):
533         * loader/PingLoader.cpp:
534         (WebCore::processContentExtensionRulesForLoad):
535         * loader/ResourceLoader.cpp:
536         (WebCore::ResourceLoader::willSendRequestInternal):
537         * loader/cache/CachedResourceLoader.cpp:
538         (WebCore::CachedResourceLoader::requestResource):
539         * loader/cache/CachedResourceRequest.cpp:
540         (WebCore::CachedResourceRequest::applyBlockedStatus):
541         * loader/cache/CachedResourceRequest.h:
542         * page/ChromeClient.h:
543
544 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
545
546         Unreviewed, fix the internal build after r222596 and r222595.
547
548         Guarding code in PlatformPasteboardIOS.mm TARGET_OS_IPHONE did not have the intended effect.
549
550         * platform/ios/PlatformPasteboardIOS.mm:
551         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
552         (WebCore::PlatformPasteboard::write):
553
554 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
555
556         Unreviewed, fix the internal build after r222595.
557
558         Add missing iOS compiler guards.
559
560         * platform/ios/PlatformPasteboardIOS.mm:
561         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
562         (WebCore::PlatformPasteboard::write):
563
564 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
565
566         Drag event DataTransfer has unexpected types "dyn.ah62d4..."
567         https://bugs.webkit.org/show_bug.cgi?id=172526
568         <rdar://problem/32396081>
569
570         Reviewed by Ryosuke Niwa.
571
572         Currently, the pasteboard types we expose to web content are simply the types that appear on the platform
573         pasteboard (i.e. the general NSPasteboard on Mac, and either the general UIPasteboard or a UIDragSession's
574         NSItemProviders on iOS). This leads to DataTransfer.types exposing many private pasteboard types written by apps
575         around the system to the page, such as dynamic UTIs, CorePasteboardFlavorTypes, or the "Apple WebKit dummy
576         pasteboard type". These are not only confusing and not useful for web content (since they mostly hold values of
577         empty string anyways), but can additionally pose privacy concerns by exposing information meant only for native
578         applications to unvetted web content.
579
580         To address this problem, other browsers (e.g. Chrome and Firefox on Mac) white-list MIME types in DataTransfer's
581         list of types. By default, when dragging or copying, these are "text/plain", "text/html" and "text/uri-list".
582         However, this policy alone is insufficient, because the page may also supply its own types, in which case our
583         naive whitelist would prevent us from delivering them to the page. To address this additional constraint, both
584         Chrome and Firefox write any custom data supplied by the page to custom pasteboard UTIs
585         (org.chromium.drag-dummy-type and org.mozilla.custom-clipdata, respectively). The corresponding data is a map
586         of custom UTI => custom data supplied by the page; upon drop or paste, this mapping is consulted if the page
587         calls getData() with a custom UTI.
588
589         This patch adopts this same approach in WebKit, and introduces the com.apple.WebKit.custom-pasteboard-data UTI
590         (refer to per-method comments below for more information). These changes are covered by 18 new layout and API
591         tests, as well as existing drag-and-drop tests.
592
593         Tests: editing/pasteboard/data-transfer-get-data-on-drop-custom.html
594                editing/pasteboard/data-transfer-get-data-on-drop-plain-text.html
595                editing/pasteboard/data-transfer-get-data-on-drop-rich-text.html
596                editing/pasteboard/data-transfer-get-data-on-drop-url.html
597                editing/pasteboard/data-transfer-get-data-on-paste-custom.html
598                editing/pasteboard/data-transfer-get-data-on-paste-plain-text.html
599                editing/pasteboard/data-transfer-get-data-on-paste-rich-text.html
600                DataInteractionTests.DataTransferGetDataWhenDroppingPlainText
601                DataInteractionTests.DataTransferGetDataWhenDroppingCustomData
602                DataInteractionTests.DataTransferGetDataWhenDroppingURL
603                DataInteractionTests.DataTransferGetDataWhenDroppingImageWithFileURL
604                DataInteractionTests.DataTransferGetDataWhenDroppingRespectsPresentationStyle
605                DataInteractionTests.DataTransferSetDataCannotWritePlatformTypes
606                DataInteractionTests.DataTransferGetDataCannotReadPrivatePlatformTypes
607                UIPasteboardTests.DataTransferGetDataWhenPastingURL
608                UIPasteboardTests.DataTransferGetDataWhenPastingPlatformRepresentations
609                UIPasteboardTests.DataTransferSetDataCannotWritePlatformTypes
610                UIPasteboardTests.DataTransferGetDataCannotReadPrivatePlatformTypes
611
612         * CMakeLists.txt:
613
614         Add Pasteboard.cpp to the WebCore CMakeList.
615
616         * WebCore.xcodeproj/project.pbxproj:
617         * dom/DataTransfer.cpp:
618         (WebCore::DataTransfer::getData const):
619         (WebCore::DataTransfer::createForDragStartEvent):
620
621         Make a new static helper function to create a StaticPasteboard-backed DataTransfer when dispatching a dragstart
622         event. Any data supplied by the page will be written to the static pasteboard of this DataTransfer.
623
624         (WebCore::DataTransfer::moveDragState):
625
626         Add a new helper on DataTransfer to transfer the data required to initiate a drag from one DataTransfer to
627         another. This is used in EventHandler to transfer the contents of the temporary DataTransfer modified by the
628         page during the dragstart event over to the DataTransfer used for the rest of the drag initiation codepath,
629         which is actually connected to the platform. This includes committing the contents of the other
630         DataTransfer's StaticPasteboard to the new platform-connected Pasteboard.
631
632         (WebCore::DataTransfer::hasDragImage const):
633         * dom/DataTransfer.h:
634         * editing/cocoa/EditorCocoa.mm:
635         (WebCore::Editor::selectionInHTMLFormat):
636         (WebCore::Editor::writeSelectionToPasteboard):
637         (WebCore::Editor::writeSelection):
638
639         Write an additional HTML markup string on iOS. We already do this for Mac, but this data previously had no use
640         on iOS. This is needed for to vend the "text/html" representation to the page on iOS when pasting.
641
642         * editing/mac/EditorMac.mm:
643         (WebCore::Editor::selectionInHTMLFormat): Deleted.
644         * editing/wpe/EditorWPE.cpp:
645         (WebCore::createFragmentFromPasteboardData):
646         * page/EventHandler.cpp:
647         (WebCore::EventHandler::dispatchDragStartEventOnSourceElement):
648
649         Renamed from dispatchDragStartEvent to dispatchDragStartEventOnSourceElement. Additionally, simplified the logic
650         significantly, so that we now just check to see if the StaticPasteboard exposed to the page has any data,
651         instead of using platform-dependent logic to compare changeCounts. We can do this because StaticPasteboard is
652         guaranteed to only contain content that the page has supplied during the dragstart event, since it is empty
653         upon initialization and cannot be written to by the rest of the platform.
654
655         (WebCore::EventHandler::handleDrag):
656
657         Tweak dispatchDragStartEvent to take a DataTransfer to expose to bindings; at the call site in handleDrag,
658         create a new DataTransfer backed by a StaticPasteboard that the page may mutate over the course of the dragstart
659         event. After dispatching to the page, move the dragging information present on the drag start DataTransfer over
660         to the DragState's DataTransfer. If the drag image has not been set, compute and set the default drag image
661         element on the DragState's DataTransfer.
662
663         (WebCore::EventHandler::dispatchDragStartEvent): Deleted.
664         * page/EventHandler.h:
665         * page/Settings.cpp:
666         (WebCore::Settings::customPasteboardDataEnabled):
667         * page/Settings.h:
668         (WebCore::Settings::setCustomPasteboardDataEnabled):
669         * page/ios/EventHandlerIOS.mm:
670         (WebCore::EventHandler::createDraggingDataTransfer const): Deleted.
671         * page/mac/EventHandlerMac.mm:
672         (WebCore::EventHandler::createDraggingDataTransfer const): Deleted.
673         * page/win/EventHandlerWin.cpp:
674         (WebCore::EventHandler::createDraggingDataTransfer const): Deleted.
675
676         Remove this helper on both iOS and Mac. This only called createForDrag() before, with the addition of clearing
677         the platform pasteboard prior to returning. Now that a StaticPasteboard is used when starting a drag, we clear
678         out the platform pasteboard in platform-invariant code in EventHandler::handleDrag, so these helpers are no
679         longer useful.
680
681         * platform/Pasteboard.cpp: Added.
682         (WebCore::isSafeTypeForDOMToReadAndWrite):
683
684         Add a new helper to determine whether or not a pasteboard type is one of the standard DOM-exposed types. These
685         are "text/plain", "text/html" and "text/uri-list".
686
687         (WebCore::sharedBufferFromCustomData):
688         (WebCore::customDataFromSharedBuffer):
689
690         Add helper methods to serialize and deserialize custom data. The serialized data blob consists of: (1)
691         versioning information, (2) a dictionary mapping each custom type to a value, and (3) a full list of types
692         written by the page, in the order they were written.
693
694         * platform/Pasteboard.h:
695
696         Rename Pasteboard::readString to Pasteboard::readStringForBindings, to reflect that the string being read and
697         the given type are exposed to and from the DOM.
698
699         * platform/PasteboardStrategy.h:
700         * platform/PasteboardWriterData.h:
701         * platform/PlatformPasteboard.h:
702         * platform/StaticPasteboard.cpp:
703
704         Split m_stringContents out into m_platformData and m_customData. The former contains type-to-data entries for
705         the DOM-exposed types, while the second contains entries that don't belong in the former.
706
707         (WebCore::StaticPasteboard::hasData):
708         (WebCore::StaticPasteboard::readStringForBindings):
709         (WebCore::StaticPasteboard::writeString):
710         (WebCore::StaticPasteboard::clear):
711         (WebCore::StaticPasteboard::commitToPasteboard):
712
713         Rather than propagate each entry to the client layer one at a time, populate a new PasteboardCustomData struct
714         and send it to the client layer in one go. This new struct consists of an array of types in the order they were
715         written by the page, a dictionary of public types (types we want to write directly to the platform pasteboard)
716         and private types (custom types we want to package under our custom data blob).
717
718         (WebCore::StaticPasteboard::readString): Deleted.
719         * platform/StaticPasteboard.h:
720         * platform/glib/EventHandlerGLib.cpp:
721         (WebCore::EventHandler::createDraggingDataTransfer const): Deleted.
722         * platform/gtk/PasteboardGtk.cpp:
723         (WebCore::Pasteboard::readStringForBindings):
724         (WebCore::Pasteboard::writeCustomData):
725         (WebCore::Pasteboard::readString): Deleted.
726         * platform/gtk/PlatformPasteboardGtk.cpp:
727         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
728         (WebCore::PlatformPasteboard::write):
729
730         Add stub implementations for new custom pasteboard data methods.
731
732         * platform/ios/AbstractPasteboard.h:
733         * platform/ios/PasteboardIOS.mm:
734         (WebCore::Pasteboard::writeCustomData):
735
736         Add new plumbing to ship a custom data (PasteboardCustomData) struct from WebCore to the client layer.
737
738         (WebCore::cocoaTypeFromHTMLClipboardType):
739         (WebCore::readPlatformValueAsString):
740         (WebCore::Pasteboard::readStringForBindings):
741         (WebCore::Pasteboard::types):
742
743         Rewritten to ask the client layer for DOM-exposed types rather than all types, in the case where custom
744         pasteboard data is enabled in Settings.
745
746         (WebCore::Pasteboard::readString): Deleted.
747         * platform/ios/PlatformPasteboardIOS.mm:
748         (WebCore::PlatformPasteboard::bufferForType):
749         (WebCore::PlatformPasteboard::getPathnamesForType const):
750         (WebCore::PlatformPasteboard::numberOfFiles const):
751         (WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
752
753         Add a new helper to map DOM-safe pasteboard types to their platform counterparts.
754
755         (WebCore::PlatformPasteboard::write):
756         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
757
758         Add a new helper to map platform pasteboard types to their DOM-safe counterparts.
759
760         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
761
762         Fetch a list of DOM-exposed types. On iOS, for drag and drop, we have the additional constraint of not being
763         able to read any data before the drop happens. This is problematic, since the page needs to know the list of
764         types during 'dragover' events. To support this, we instead keep the array of types in the teamData property of
765         the generated item provider, which is immediately available, even when dragging across different apps. Note that
766         we still need to check if the pasteboard contains the full custom data blob here to handle the case where we
767         copy on Mac and perform a continuity paste on iOS, since teamData does not exist on Mac.
768
769         (WebCore::PlatformPasteboard::readString):
770
771         Tweak to account for how UIPasteboard may return data blobs when reading values.
772
773         (WebCore::PlatformPasteboard::getPathnamesForType): Deleted.
774         (WebCore::PlatformPasteboard::numberOfFiles): Deleted.
775         * platform/ios/WebItemProviderPasteboard.h:
776         * platform/ios/WebItemProviderPasteboard.mm:
777         (-[WebItemProviderRegistrationInfoList itemProvider]):
778         (+[WebItemProviderLoadResult loadResultWithItemProvider:typesToLoad:]):
779         (-[WebItemProviderLoadResult initWithItemProvider:typesToLoad:]):
780         (-[WebItemProviderLoadResult typesToLoad]):
781         (-[WebItemProviderLoadResult setFileURL:forType:]):
782         (-[WebItemProviderLoadResult itemProvider]):
783         (-[WebItemProviderPasteboard setItemProviders:]):
784         (-[WebItemProviderPasteboard dataForPasteboardType:]):
785         (-[WebItemProviderPasteboard typeIdentifiersToLoadForRegisteredTypeIdentfiers:]):
786         (-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):
787         (+[WebItemProviderLoadResult emptyLoadResult]): Deleted.
788         (+[WebItemProviderLoadResult loadResultWithFileURLMap:presentationStyle:]): Deleted.
789         (-[WebItemProviderLoadResult initWithFileURLMap:presentationStyle:]): Deleted.
790         (-[WebItemProviderPasteboard typeIdentifierToLoadForRegisteredTypeIdentfiers:]): Deleted.
791
792         In the case of drag and drop on iOS, we cannot load any data prior to performing the drop; additionally, any
793         attempts to load data immediately after the drop is performed in the UI process will fail. This means any and
794         all data that the web process may require in the future when handling the drop must be loaded out of the item
795         providers and saved when the drop is being handled in the UI process.
796
797         Currently, we only load the highest fidelity type we can handle (or, if we don't know what we can handle, we
798         select the highest fidelity representation conforming to "public.content"). This is a problematic for supporting
799         DataTransfer.getData() on drop on iOS, because the page can ask for any of the three web-exposed types. To
800         address this, we refactor WebItemProviderPasteboard to support loading multiple representations per item being
801         dropped. At minimum, we will load anything conforming to "public.html", "public.plain-text", "public.url", and
802         the new "com.apple.WebKit.custom-pasteboard-data" so we have means to answer any question that the page could
803         ask via DataTransfer.getData(). We additonally load the highest fidelity supported (or content-conformant) type,
804         if it has not already been loaded as a result of the former.
805
806         To make this possible, we refactor WebItemProviderLoadResult to take an item provider and a list of types to
807         load. -doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout: then creates a list of load results and
808         uses each one to represent the results of loading data from its item provider (i.e. a map of UTI => file URL).
809
810         * platform/mac/PasteboardMac.mm:
811         (WebCore::Pasteboard::writeCustomData):
812         (WebCore::cocoaTypeFromHTMLClipboardType):
813         (WebCore::readPlatformValueAsString):
814         (WebCore::Pasteboard::readStringForBindings):
815
816         Change readStringForBindings (formerly, readString) so that if support for custom pasteboard data is enabled,
817         we only allow reading directly from the platform pasteboard if the given type is DOM-safe; otherwise, we consult
818         the custom data blob, if it exists. Otherwise, if support for custom pasteboard data is disabled, we fall back
819         to our current behavior.
820
821         (WebCore::Pasteboard::types):
822         (WebCore::Pasteboard::readString): Deleted.
823         * platform/mac/PlatformPasteboardMac.mm:
824         (WebCore::PlatformPasteboard::numberOfFiles const):
825         (WebCore::PlatformPasteboard::getPathnamesForType const):
826         (WebCore::PlatformPasteboard::stringForType):
827         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
828         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
829
830         Add support for reading DOM-exposed types and fetching DOM-exposed data off of the pasteboard. The overall idea
831         here is similar to iOS, though implementation details vary (e.g. no item provider support).
832
833         (WebCore::PlatformPasteboard::write):
834         (WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
835         (WebCore::PlatformPasteboard::numberOfFiles): Deleted.
836         (WebCore::PlatformPasteboard::getPathnamesForType): Deleted.
837         * platform/win/PasteboardWin.cpp:
838         (WebCore::Pasteboard::readStringForBindings):
839         (WebCore::Pasteboard::writeCustomData):
840         (WebCore::Pasteboard::readString): Deleted.
841         * platform/wpe/PasteboardWPE.cpp:
842         (WebCore::Pasteboard::readStringForBindings):
843         (WebCore::Pasteboard::writeCustomData):
844         (WebCore::Pasteboard::readString): Deleted.
845         * platform/wpe/PlatformPasteboardWPE.cpp:
846         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
847         (WebCore::PlatformPasteboard::write):
848         * testing/InternalSettings.cpp:
849         (WebCore::InternalSettings::Backup::Backup):
850         (WebCore::InternalSettings::Backup::restoreTo):
851         (WebCore::InternalSettings::setCustomPasteboardDataEnabled):
852
853         Add a new internal settings hook for layout tests to opt in to using custom pasteboard data. By default, custom
854         pasteboard data is enabled only in Safari, or on applications linked on or after certain releases of iOS and
855         macOS.
856
857         * testing/InternalSettings.h:
858         * testing/InternalSettings.idl:
859
860 2017-09-27  Zalan Bujtas  <zalan@apple.com>
861
862         Deferred image size change makes image-load-on-delay.html flaky.
863         https://bugs.webkit.org/show_bug.cgi?id=177520
864         <rdar://problem/34674299>
865
866         Reviewed by Dean Jackson.
867
868         Only defer recomputeIsIgnored when the image change actually triggers layout. 
869
870         * accessibility/AXObjectCache.cpp:
871         (WebCore::rendererNeedsDeferredUpdate):
872         (WebCore::AXObjectCache::deferRecomputeIsIgnoredIfNeeded):
873         (WebCore::AXObjectCache::deferTextChangedIfNeeded):
874         * accessibility/AXObjectCache.h:
875         (WebCore::AXObjectCache::deferRecomputeIsIgnoredIfNeeded):
876         * rendering/RenderImage.cpp:
877         (WebCore::RenderImage::imageChanged):
878
879 2017-09-27  Tim Horton  <timothy_horton@apple.com>
880
881         Try to fix the Mac CMake build
882
883         * PlatformMac.cmake:
884
885 2017-09-27  Myles C. Maxfield  <mmaxfield@apple.com>
886
887         Minimum font size may cause elements to have an infinite line-height
888         https://bugs.webkit.org/show_bug.cgi?id=177573
889         <rdar://problem/34573792>
890
891         Reviewed by Dan Bernstein.
892
893         When minimum font size is specified, we were trying to preserve the ratio of specified font-size
894         and specified line-height in order to boost the computed font size proportionately to the font-size
895         boost. However, this doesn't work when the specified font-size is 0, because the ratio between
896         line-height and font-size is infinite.
897
898         The most straightforward solution is just to make small font-sizes opt out of the line-height
899         adjustment because the result would be too big.
900
901         Test: fast/text/line-height-minimumFontSize-text-small-font-size.html
902
903         * css/StyleBuilderCustom.h:
904         (WebCore::computeLineHeightMultiplierDueToFontSize):
905         (WebCore::StyleBuilderCustom::applyValueLineHeight):
906
907 2017-09-27  Alex Christensen  <achristensen@webkit.org>
908
909         Allow modern decoding of std::optional<T>
910         https://bugs.webkit.org/show_bug.cgi?id=177519
911
912         Reviewed by Tim Horton.
913
914         * platform/DragItem.h:
915         (WebCore::DragItem::decode):
916
917 2017-09-27  Myles C. Maxfield  <mmaxfield@apple.com>
918
919         "Tag" codepoints require the complex text codepath
920         https://bugs.webkit.org/show_bug.cgi?id=177251
921         <rdar://problem/34384001>
922
923         Reviewed by David Hyatt.
924
925         Previously, Tag codepoints (U+E0000 - U+E007F) weren't triggering the
926         complex text codepath.
927
928         Eventually, we should migrate the default from simple to complex. I'll do
929         that in a separate patch.
930
931         Test: fast/text/flag-codepoint.html
932
933         * platform/graphics/FontCascade.cpp:
934         (WebCore::FontCascade::characterRangeCodePath):
935
936 2017-09-27  David Hyatt  <hyatt@apple.com>
937
938         Rename "FlowThread" to "FragmentedFlow"
939         https://bugs.webkit.org/show_bug.cgi?id=177557
940
941         Reviewed by Zalan Bujtas.
942
943         * CMakeLists.txt:
944         * WebCore.xcodeproj/project.pbxproj:
945         * dom/Document.cpp:
946         (WebCore::Document::updateLayoutIfDimensionsOutOfDate):
947         * dom/Element.cpp:
948         (WebCore::Element::absoluteEventBounds):
949         * rendering/LayoutState.cpp:
950         (WebCore::LayoutState::LayoutState):
951         * rendering/LayoutState.h:
952         (WebCore::LayoutState::currentRenderFragmentedFlow const):
953         (WebCore::LayoutState::setCurrentRenderFragmentedFlow):
954         (WebCore::LayoutState::currentRenderFlowThread const): Deleted.
955         (WebCore::LayoutState::setCurrentRenderFlowThread): Deleted.
956         * rendering/LogicalSelectionOffsetCaches.h:
957         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::ContainingBlockInfo):
958         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock):
959         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalLeftSelectionOffset const):
960         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalRightSelectionOffset const):
961         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::hasFloatsOrFragmentedFlows const):
962         (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
963         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::hasFloatsOrFlowThreads const): Deleted.
964         * rendering/RenderBlock.cpp:
965         (WebCore::RenderBlock::styleDidChange):
966         (WebCore::RenderBlock::clone const):
967         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
968         (WebCore::RenderBlock::preparePaginationBeforeBlockLayout):
969         (WebCore::RenderBlock::addOverflowFromChildren):
970         (WebCore::RenderBlock::addVisualOverflowFromTheme):
971         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
972         (WebCore::RenderBlock::simplifiedLayout):
973         (WebCore::RenderBlock::isSelectionRoot const):
974         (WebCore::RenderBlock::selectionGaps):
975         (WebCore::RenderBlock::insertPositionedObject):
976         (WebCore::isChildHitTestCandidate):
977         (WebCore::RenderBlock::cachedEnclosingFragmentedFlow const):
978         (WebCore::RenderBlock::cachedEnclosingFragmentedFlowNeedsUpdate const):
979         (WebCore::RenderBlock::setCachedEnclosingFragmentedFlowNeedsUpdate):
980         (WebCore::RenderBlock::updateCachedEnclosingFragmentedFlow const):
981         (WebCore::RenderBlock::locateEnclosingFragmentedFlow const):
982         (WebCore::RenderBlock::resetEnclosingFragmentedFlowAndChildInfoIncludingDescendants):
983         (WebCore::RenderBlock::absoluteQuads const):
984         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage const):
985         (WebCore::RenderBlock::fragmentAtBlockOffset const):
986         (WebCore::canComputeFragmentRangeForBox):
987         (WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation const):
988         (WebCore::RenderBlock::computeFragmentRangeForBoxChild const):
989         (WebCore::RenderBlock::estimateFragmentRangeForBoxChild const):
990         (WebCore::RenderBlock::updateFragmentRangeForBoxChild const):
991         (WebCore::RenderBlock::cachedFlowThreadContainingBlock const): Deleted.
992         (WebCore::RenderBlock::cachedFlowThreadContainingBlockNeedsUpdate const): Deleted.
993         (WebCore::RenderBlock::setCachedFlowThreadContainingBlockNeedsUpdate): Deleted.
994         (WebCore::RenderBlock::updateCachedFlowThreadContainingBlock const): Deleted.
995         (WebCore::RenderBlock::locateFlowThreadContainingBlock const): Deleted.
996         (WebCore::RenderBlock::resetFlowThreadContainingBlockAndChildInfoIncludingDescendants): Deleted.
997         * rendering/RenderBlock.h:
998         * rendering/RenderBlockFlow.cpp:
999         (WebCore::RenderBlockFlow::willCreateColumns const):
1000         (WebCore::RenderBlockFlow::layoutBlock):
1001         (WebCore::RenderBlockFlow::layoutBlockChild):
1002         (WebCore::RenderBlockFlow::setStaticInlinePositionForChild):
1003         (WebCore::inNormalFlow):
1004         (WebCore::RenderBlockFlow::applyBeforeBreak):
1005         (WebCore::RenderBlockFlow::applyAfterBreak):
1006         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
1007         (WebCore::RenderBlockFlow::hasNextPage const):
1008         (WebCore::RenderBlockFlow::adjustForUnsplittableChild):
1009         (WebCore::RenderBlockFlow::setPageBreak):
1010         (WebCore::RenderBlockFlow::updateMinimumPageHeight):
1011         (WebCore::RenderBlockFlow::pageLogicalTopForOffset const):
1012         (WebCore::RenderBlockFlow::pageLogicalHeightForOffset const):
1013         (WebCore::RenderBlockFlow::pageRemainingLogicalHeightForOffset const):
1014         (WebCore::RenderBlockFlow::styleDidChange):
1015         (WebCore::RenderBlockFlow::updateStylesForColumnChildren):
1016         (WebCore::RenderBlockFlow::computeOverflow):
1017         (WebCore::RenderBlockFlow::paintColumnRules):
1018         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
1019         (WebCore::RenderBlockFlow::setMultiColumnFlow):
1020         (WebCore::RenderBlockFlow::relayoutForPagination):
1021         (WebCore::RenderBlockFlow::layoutExcludedChildren):
1022         (WebCore::RenderBlockFlow::addChild):
1023         (WebCore::RenderBlockFlow::removeChild):
1024         (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
1025         (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
1026         (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
1027         (WebCore::RenderBlockFlow::computedColumnWidth const):
1028         (WebCore::RenderBlockFlow::computedColumnCount const):
1029         (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed const):
1030         (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed const):
1031         (WebCore::RenderBlockFlow::setMultiColumnFlowThread): Deleted.
1032         * rendering/RenderBlockFlow.h:
1033         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
1034         (WebCore::RenderBlockFlow::multiColumnFlow const):
1035         (WebCore::RenderBlockFlow::multiColumnFlowThread const): Deleted.
1036         * rendering/RenderBlockLineLayout.cpp:
1037         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
1038         (WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
1039         (WebCore::RenderBlockFlow::layoutLineBoxes):
1040         (WebCore::RenderBlockFlow::determineStartPosition):
1041         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
1042         (WebCore::RenderBlockFlow::lineWidthForPaginatedLineChanged const):
1043         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
1044         (WebCore::RenderBlockFlow::updateFragmentForLine const):
1045         * rendering/RenderBox.cpp:
1046         (WebCore::RenderBox::clampToStartAndEndFragments const):
1047         (WebCore::RenderBox::hasFragmentRangeInFragmentedFlow const):
1048         (WebCore::RenderBox::styleDidChange):
1049         (WebCore::RenderBox::absoluteQuads const):
1050         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats const):
1051         (WebCore::RenderBox::containingBlockAvailableLineWidthInFragment const):
1052         (WebCore::RenderBox::offsetFromContainer const):
1053         (WebCore::RenderBox::computeRectForRepaint const):
1054         (WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation const):
1055         (WebCore::RenderBox::availableLogicalHeightUsing const):
1056         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
1057         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):
1058         (WebCore::RenderBox::computePositionedLogicalWidth const):
1059         (WebCore::RenderBox::computePositionedLogicalHeight const):
1060         (WebCore::RenderBox::positionForPoint):
1061         (WebCore::RenderBox::createsNewFormattingContext const):
1062         (WebCore::RenderBox::addVisualEffectOverflow):
1063         (WebCore::RenderBox::addOverflowFromChild):
1064         (WebCore::RenderBox::clearOverflow):
1065         (WebCore::RenderBox::offsetFromLogicalTopOfFirstPage const):
1066         (WebCore::RenderBox::hasFragmentRangeInFlowThread const): Deleted.
1067         * rendering/RenderBox.h:
1068         (WebCore::RenderBox::canHaveOutsideFragmentRange const):
1069         * rendering/RenderBoxModelObject.cpp:
1070         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):
1071         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint const):
1072         * rendering/RenderElement.cpp:
1073         (WebCore::RenderElement::setStyle):
1074         (WebCore::RenderElement::insertChildInternal):
1075         (WebCore::RenderElement::removeChildInternal):
1076         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
1077         (WebCore::RenderElement::adjustFragmentedFlowStateOnContainingBlockChangeIfNeeded):
1078         (WebCore::RenderElement::removeFromRenderFragmentedFlow):
1079         (WebCore::RenderElement::removeFromRenderFragmentedFlowIncludingDescendants):
1080         (WebCore::RenderElement::resetEnclosingFragmentedFlowAndChildInfoIncludingDescendants):
1081         (WebCore::RenderElement::adjustFlowThreadStateOnContainingBlockChangeIfNeeded): Deleted.
1082         (WebCore::RenderElement::removeFromRenderFlowThread): Deleted.
1083         (WebCore::RenderElement::removeFromRenderFlowThreadIncludingDescendants): Deleted.
1084         (WebCore::RenderElement::resetFlowThreadContainingBlockAndChildInfoIncludingDescendants): Deleted.
1085         * rendering/RenderElement.h:
1086         (WebCore::RenderElement::canContainFixedPositionObjects const):
1087         * rendering/RenderFlowThread.cpp: Removed.
1088         * rendering/RenderFlowThread.h: Removed.
1089         * rendering/RenderFragmentContainer.cpp:
1090         (WebCore::RenderFragmentContainer::RenderFragmentContainer):
1091         (WebCore::RenderFragmentContainer::mapFragmentPointIntoFragmentedFlowCoordinates):
1092         (WebCore::RenderFragmentContainer::positionForPoint):
1093         (WebCore::RenderFragmentContainer::pageLogicalWidth const):
1094         (WebCore::RenderFragmentContainer::pageLogicalHeight const):
1095         (WebCore::RenderFragmentContainer::logicalHeightOfAllFragmentedFlowContent const):
1096         (WebCore::RenderFragmentContainer::fragmentedFlowPortionOverflowRect):
1097         (WebCore::RenderFragmentContainer::fragmentedFlowPortionLocation const):
1098         (WebCore::RenderFragmentContainer::overflowRectForFragmentedFlowPortion):
1099         (WebCore::RenderFragmentContainer::pageLogicalTopForOffset const):
1100         (WebCore::RenderFragmentContainer::isFirstFragment const):
1101         (WebCore::RenderFragmentContainer::isLastFragment const):
1102         (WebCore::RenderFragmentContainer::shouldClipFragmentedFlowContent const):
1103         (WebCore::RenderFragmentContainer::styleDidChange):
1104         (WebCore::RenderFragmentContainer::computeOverflowFromFragmentedFlow):
1105         (WebCore::RenderFragmentContainer::repaintFragmentedFlowContent):
1106         (WebCore::RenderFragmentContainer::repaintFragmentedFlowContentRectangle):
1107         (WebCore::RenderFragmentContainer::installFragmentedFlow):
1108         (WebCore::RenderFragmentContainer::attachFragment):
1109         (WebCore::RenderFragmentContainer::detachFragment):
1110         (WebCore::RenderFragmentContainer::logicalTopOfFragmentedFlowContentRect const):
1111         (WebCore::RenderFragmentContainer::logicalBottomOfFragmentedFlowContentRect const):
1112         (WebCore::RenderFragmentContainer::computeIntrinsicLogicalWidths const):
1113         (WebCore::RenderFragmentContainer::adjustFragmentBoundsFromFragmentedFlowPortionRect const):
1114         (WebCore::RenderFragmentContainer::ensureOverflowForBox):
1115         (WebCore::RenderFragmentContainer::rectFlowPortionForBox const):
1116         (WebCore::RenderFragmentContainer::addVisualOverflowForBox):
1117         (WebCore::RenderFragmentContainer::visualOverflowRectForBoxForPropagation):
1118         (WebCore::CurrentRenderFragmentContainerMaintainer::CurrentRenderFragmentContainerMaintainer):
1119         (WebCore::CurrentRenderFragmentContainerMaintainer::~CurrentRenderFragmentContainerMaintainer):
1120         (WebCore::RenderFragmentContainer::mapFragmentPointIntoFlowThreadCoordinates): Deleted.
1121         (WebCore::RenderFragmentContainer::logicalHeightOfAllFlowThreadContent const): Deleted.
1122         (WebCore::RenderFragmentContainer::flowThreadPortionOverflowRect): Deleted.
1123         (WebCore::RenderFragmentContainer::flowThreadPortionLocation const): Deleted.
1124         (WebCore::RenderFragmentContainer::overflowRectForFlowThreadPortion): Deleted.
1125         (WebCore::RenderFragmentContainer::shouldClipFlowThreadContent const): Deleted.
1126         (WebCore::RenderFragmentContainer::computeOverflowFromFlowThread): Deleted.
1127         (WebCore::RenderFragmentContainer::repaintFlowThreadContent): Deleted.
1128         (WebCore::RenderFragmentContainer::repaintFlowThreadContentRectangle): Deleted.
1129         (WebCore::RenderFragmentContainer::installFlowThread): Deleted.
1130         (WebCore::RenderFragmentContainer::logicalTopOfFlowThreadContentRect const): Deleted.
1131         (WebCore::RenderFragmentContainer::logicalBottomOfFlowThreadContentRect const): Deleted.
1132         (WebCore::RenderFragmentContainer::adjustFragmentBoundsFromFlowThreadPortionRect const): Deleted.
1133         * rendering/RenderFragmentContainer.h:
1134         (WebCore::RenderFragmentContainer::setFragmentedFlowPortionRect):
1135         (WebCore::RenderFragmentContainer::fragmentedFlowPortionRect const):
1136         (WebCore::RenderFragmentContainer::fragmentedFlow const):
1137         (WebCore::RenderFragmentContainer::logicalTopForFragmentedFlowContent const):
1138         (WebCore::RenderFragmentContainer::logicalBottomForFragmentedFlowContent const):
1139         (WebCore::RenderFragmentContainer::setFlowThreadPortionRect): Deleted.
1140         (WebCore::RenderFragmentContainer::flowThreadPortionRect const): Deleted.
1141         (WebCore::RenderFragmentContainer::flowThread const): Deleted.
1142         (WebCore::RenderFragmentContainer::logicalTopForFlowThreadContent const): Deleted.
1143         (WebCore::RenderFragmentContainer::logicalBottomForFlowThreadContent const): Deleted.
1144         * rendering/RenderFragmentContainerSet.cpp:
1145         (WebCore::RenderFragmentContainerSet::RenderFragmentContainerSet):
1146         (WebCore::RenderFragmentContainerSet::installFragmentedFlow):
1147         (WebCore::RenderFragmentContainerSet::expandToEncompassFragmentedFlowContentsIfNeeded):
1148         (WebCore::RenderFragmentContainerSet::installFlowThread): Deleted.
1149         (WebCore::RenderFragmentContainerSet::expandToEncompassFlowThreadContentsIfNeeded): Deleted.
1150         * rendering/RenderFragmentContainerSet.h:
1151         * rendering/RenderFragmentedFlow.cpp: Copied from rendering/RenderFlowThread.cpp.
1152         (WebCore::RenderFragmentedFlow::RenderFragmentedFlow):
1153         (WebCore::RenderFragmentedFlow::createFragmentedFlowStyle):
1154         (WebCore::RenderFragmentedFlow::styleDidChange):
1155         (WebCore::RenderFragmentedFlow::removeFlowChildInfo):
1156         (WebCore::RenderFragmentedFlow::removeFragmentFromThread):
1157         (WebCore::RenderFragmentedFlow::invalidateFragments):
1158         (WebCore::RenderFragmentedFlow::validateFragments):
1159         (WebCore::RenderFragmentedFlow::layout):
1160         (WebCore::RenderFragmentedFlow::updateLogicalWidth):
1161         (WebCore::RenderFragmentedFlow::computeLogicalHeight const):
1162         (WebCore::RenderFragmentedFlow::nodeAtPoint):
1163         (WebCore::RenderFragmentedFlow::shouldRepaint const):
1164         (WebCore::RenderFragmentedFlow::repaintRectangleInFragments const):
1165         (WebCore::RenderFragmentedFlow::fragmentAtBlockOffset const):
1166         (WebCore::RenderFragmentedFlow::adjustedPositionRelativeToOffsetParent const):
1167         (WebCore::RenderFragmentedFlow::pageLogicalTopForOffset const):
1168         (WebCore::RenderFragmentedFlow::pageLogicalWidthForOffset const):
1169         (WebCore::RenderFragmentedFlow::pageLogicalHeightForOffset const):
1170         (WebCore::RenderFragmentedFlow::pageRemainingLogicalHeightForOffset const):
1171         (WebCore::RenderFragmentedFlow::mapFromFlowToFragment const):
1172         (WebCore::RenderFragmentedFlow::removeRenderBoxFragmentInfo):
1173         (WebCore::RenderFragmentedFlow::removeLineFragmentInfo):
1174         (WebCore::RenderFragmentedFlow::logicalWidthChangedInFragmentsForBlock):
1175         (WebCore::RenderFragmentedFlow::contentLogicalWidthOfFirstFragment const):
1176         (WebCore::RenderFragmentedFlow::contentLogicalHeightOfFirstFragment const):
1177         (WebCore::RenderFragmentedFlow::contentLogicalLeftOfFirstFragment const):
1178         (WebCore::RenderFragmentedFlow::firstFragment const):
1179         (WebCore::RenderFragmentedFlow::lastFragment const):
1180         (WebCore::RenderFragmentedFlow::clearRenderBoxFragmentInfoAndCustomStyle):
1181         (WebCore::RenderFragmentedFlow::setFragmentRangeForBox):
1182         (WebCore::RenderFragmentedFlow::hasCachedFragmentRangeForBox const):
1183         (WebCore::RenderFragmentedFlow::getFragmentRangeForBoxFromCachedInfo const):
1184         (WebCore::RenderFragmentedFlow::getFragmentRangeForBox const):
1185         (WebCore::RenderFragmentedFlow::computedFragmentRangeForBox const):
1186         (WebCore::RenderFragmentedFlow::fragmentInRange const):
1187         (WebCore::RenderFragmentedFlow::objectShouldFragmentInFlowFragment const):
1188         (WebCore::RenderFragmentedFlow::objectInFlowFragment const):
1189         (WebCore::RenderFragmentedFlow::checkLinesConsistency const):
1190         (WebCore::RenderFragmentedFlow::clearLinesToFragmentMap):
1191         (WebCore::RenderFragmentedFlow::deleteLines):
1192         (WebCore::RenderFragmentedFlow::willBeDestroyed):
1193         (WebCore::RenderFragmentedFlow::markFragmentsForOverflowLayoutIfNeeded):
1194         (WebCore::RenderFragmentedFlow::updateFragmentsFragmentedFlowPortionRect):
1195         (WebCore::RenderFragmentedFlow::addForcedFragmentBreak):
1196         (WebCore::RenderFragmentedFlow::collectLayerFragments):
1197         (WebCore::RenderFragmentedFlow::fragmentsBoundingBox):
1198         (WebCore::RenderFragmentedFlow::offsetFromLogicalTopOfFirstFragment const):
1199         (WebCore::RenderFragmentedFlow::FragmentSearchAdapter::collectIfNeeded):
1200         (WebCore::RenderFragmentedFlow::mapLocalToContainer const):
1201         (WebCore::RenderFragmentedFlow::mapFromLocalToFragmentedFlow const):
1202         (WebCore::RenderFragmentedFlow::mapFromFragmentedFlowToLocal const):
1203         (WebCore::RenderFragmentedFlow::flipForWritingModeLocalCoordinates const):
1204         (WebCore::RenderFragmentedFlow::addFragmentsVisualEffectOverflow):
1205         (WebCore::RenderFragmentedFlow::addFragmentsVisualOverflowFromTheme):
1206         (WebCore::RenderFragmentedFlow::addFragmentsOverflowFromChild):
1207         (WebCore::RenderFragmentedFlow::addFragmentsLayoutOverflow):
1208         (WebCore::RenderFragmentedFlow::addFragmentsVisualOverflow):
1209         (WebCore::RenderFragmentedFlow::clearFragmentsOverflow):
1210         (WebCore::RenderFragmentedFlow::currentFragment const):
1211         (WebCore::RenderFragmentedFlow::containingFragmentMap):
1212         (WebCore::RenderFlowThread::RenderFlowThread): Deleted.
1213         (WebCore::RenderFlowThread::createFlowThreadStyle): Deleted.
1214         (WebCore::RenderFlowThread::styleDidChange): Deleted.
1215         (WebCore::RenderFlowThread::removeFlowChildInfo): Deleted.
1216         (WebCore::RenderFlowThread::removeFragmentFromThread): Deleted.
1217         (WebCore::RenderFlowThread::invalidateFragments): Deleted.
1218         (WebCore::RenderFlowThread::validateFragments): Deleted.
1219         (WebCore::RenderFlowThread::layout): Deleted.
1220         (WebCore::RenderFlowThread::updateLogicalWidth): Deleted.
1221         (WebCore::RenderFlowThread::computeLogicalHeight const): Deleted.
1222         (WebCore::RenderFlowThread::nodeAtPoint): Deleted.
1223         (WebCore::RenderFlowThread::shouldRepaint const): Deleted.
1224         (WebCore::RenderFlowThread::repaintRectangleInFragments const): Deleted.
1225         (WebCore::RenderFlowThread::fragmentAtBlockOffset const): Deleted.
1226         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const): Deleted.
1227         (WebCore::RenderFlowThread::pageLogicalTopForOffset const): Deleted.
1228         (WebCore::RenderFlowThread::pageLogicalWidthForOffset const): Deleted.
1229         (WebCore::RenderFlowThread::pageLogicalHeightForOffset const): Deleted.
1230         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset const): Deleted.
1231         (WebCore::RenderFlowThread::mapFromFlowToFragment const): Deleted.
1232         (WebCore::RenderFlowThread::removeRenderBoxFragmentInfo): Deleted.
1233         (WebCore::RenderFlowThread::removeLineFragmentInfo): Deleted.
1234         (WebCore::RenderFlowThread::logicalWidthChangedInFragmentsForBlock): Deleted.
1235         (WebCore::RenderFlowThread::contentLogicalWidthOfFirstFragment const): Deleted.
1236         (WebCore::RenderFlowThread::contentLogicalHeightOfFirstFragment const): Deleted.
1237         (WebCore::RenderFlowThread::contentLogicalLeftOfFirstFragment const): Deleted.
1238         (WebCore::RenderFlowThread::firstFragment const): Deleted.
1239         (WebCore::RenderFlowThread::lastFragment const): Deleted.
1240         (WebCore::RenderFlowThread::clearRenderBoxFragmentInfoAndCustomStyle): Deleted.
1241         (WebCore::RenderFlowThread::setFragmentRangeForBox): Deleted.
1242         (WebCore::RenderFlowThread::hasCachedFragmentRangeForBox const): Deleted.
1243         (WebCore::RenderFlowThread::getFragmentRangeForBoxFromCachedInfo const): Deleted.
1244         (WebCore::RenderFlowThread::getFragmentRangeForBox const): Deleted.
1245         (WebCore::RenderFlowThread::computedFragmentRangeForBox const): Deleted.
1246         (WebCore::RenderFlowThread::fragmentInRange const): Deleted.
1247         (WebCore::RenderFlowThread::objectShouldFragmentInFlowFragment const): Deleted.
1248         (WebCore::RenderFlowThread::objectInFlowFragment const): Deleted.
1249         (WebCore::RenderFlowThread::checkLinesConsistency const): Deleted.
1250         (WebCore::RenderFlowThread::clearLinesToFragmentMap): Deleted.
1251         (WebCore::RenderFlowThread::deleteLines): Deleted.
1252         (WebCore::RenderFlowThread::willBeDestroyed): Deleted.
1253         (WebCore::RenderFlowThread::markFragmentsForOverflowLayoutIfNeeded): Deleted.
1254         (WebCore::RenderFlowThread::updateFragmentsFlowThreadPortionRect): Deleted.
1255         (WebCore::RenderFlowThread::addForcedFragmentBreak): Deleted.
1256         (WebCore::RenderFlowThread::collectLayerFragments): Deleted.
1257         (WebCore::RenderFlowThread::fragmentsBoundingBox): Deleted.
1258         (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstFragment const): Deleted.
1259         (WebCore::RenderFlowThread::FragmentSearchAdapter::collectIfNeeded): Deleted.
1260         (WebCore::RenderFlowThread::mapLocalToContainer const): Deleted.
1261         (WebCore::RenderFlowThread::mapFromLocalToFlowThread const): Deleted.
1262         (WebCore::RenderFlowThread::mapFromFlowThreadToLocal const): Deleted.
1263         (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates const): Deleted.
1264         (WebCore::RenderFlowThread::addFragmentsVisualEffectOverflow): Deleted.
1265         (WebCore::RenderFlowThread::addFragmentsVisualOverflowFromTheme): Deleted.
1266         (WebCore::RenderFlowThread::addFragmentsOverflowFromChild): Deleted.
1267         (WebCore::RenderFlowThread::addFragmentsLayoutOverflow): Deleted.
1268         (WebCore::RenderFlowThread::addFragmentsVisualOverflow): Deleted.
1269         (WebCore::RenderFlowThread::clearFragmentsOverflow): Deleted.
1270         (WebCore::RenderFlowThread::currentFragment const): Deleted.
1271         (WebCore::RenderFlowThread::containingFragmentMap): Deleted.
1272         * rendering/RenderFragmentedFlow.h: Copied from rendering/RenderFlowThread.h.
1273         * rendering/RenderGeometryMap.cpp:
1274         (WebCore::canMapBetweenRenderersViaLayers):
1275         (WebCore::RenderGeometryMap::pushRenderFragmentedFlow):
1276         (WebCore::RenderGeometryMap::pushRenderFlowThread): Deleted.
1277         * rendering/RenderGeometryMap.h:
1278         * rendering/RenderImage.cpp:
1279         (WebCore::RenderImage::layoutShadowControls):
1280         * rendering/RenderInline.cpp:
1281         (WebCore::RenderInline::addChild):
1282         (WebCore::RenderInline::clone const):
1283         (WebCore::RenderInline::splitInlines):
1284         (WebCore::RenderInline::offsetFromContainer const):
1285         * rendering/RenderLayer.cpp:
1286         (WebCore::RenderLayer::updateLayerPositions):
1287         (WebCore::RenderLayer::updatePagination):
1288         (WebCore::transparencyClipBox):
1289         (WebCore::accumulateOffsetTowardsAncestor):
1290         (WebCore::RenderLayer::paintLayerContents):
1291         (WebCore::RenderLayer::collectFragments):
1292         (WebCore::RenderLayer::hitTest):
1293         (WebCore::RenderLayer::enclosingFragmentedFlowAncestor const):
1294         (WebCore::RenderLayer::hitTestContents const):
1295         (WebCore::RenderLayer::calculateClipRects const):
1296         (WebCore::RenderLayer::enclosingFlowThreadAncestor const): Deleted.
1297         * rendering/RenderLayer.h:
1298         * rendering/RenderLayerBacking.cpp:
1299         (WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
1300         * rendering/RenderLayerCompositor.cpp:
1301         (WebCore::RenderLayerCompositor::canBeComposited const):
1302         * rendering/RenderMedia.cpp:
1303         * rendering/RenderMultiColumnFlow.cpp: Copied from rendering/RenderMultiColumnFlowThread.cpp.
1304         (WebCore::RenderMultiColumnFlow::RenderMultiColumnFlow):
1305         (WebCore::RenderMultiColumnFlow::~RenderMultiColumnFlow):
1306         (WebCore::RenderMultiColumnFlow::renderName const):
1307         (WebCore::RenderMultiColumnFlow::firstMultiColumnSet const):
1308         (WebCore::RenderMultiColumnFlow::lastMultiColumnSet const):
1309         (WebCore::RenderMultiColumnFlow::firstColumnSetOrSpanner const):
1310         (WebCore::RenderMultiColumnFlow::nextColumnSetOrSpannerSiblingOf):
1311         (WebCore::RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf):
1312         (WebCore::RenderMultiColumnFlow::layout):
1313         (WebCore::findSetRendering):
1314         (WebCore::RenderMultiColumnFlow::populate):
1315         (WebCore::RenderMultiColumnFlow::evacuateAndDestroy):
1316         (WebCore::RenderMultiColumnFlow::addFragmentToThread):
1317         (WebCore::RenderMultiColumnFlow::willBeRemovedFromTree):
1318         (WebCore::RenderMultiColumnFlow::resolveMovedChild const):
1319         (WebCore::isValidColumnSpanner):
1320         (WebCore::spannerPlacehoderCandidate):
1321         (WebCore::RenderMultiColumnFlow::processPossibleSpannerDescendant):
1322         (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):
1323         (WebCore::RenderMultiColumnFlow::handleSpannerRemoval):
1324         (WebCore::RenderMultiColumnFlow::fragmentedFlowRelativeWillBeRemoved):
1325         (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantBoxLaidOut):
1326         (WebCore::RenderMultiColumnFlow::computeLogicalHeight const):
1327         (WebCore::RenderMultiColumnFlow::initialLogicalWidth const):
1328         (WebCore::RenderMultiColumnFlow::setPageBreak):
1329         (WebCore::RenderMultiColumnFlow::updateMinimumPageHeight):
1330         (WebCore::RenderMultiColumnFlow::fragmentAtBlockOffset const):
1331         (WebCore::RenderMultiColumnFlow::setFragmentRangeForBox):
1332         (WebCore::RenderMultiColumnFlow::addForcedFragmentBreak):
1333         (WebCore::RenderMultiColumnFlow::computeLineGridPaginationOrigin const):
1334         (WebCore::RenderMultiColumnFlow::offsetFromContainer const):
1335         (WebCore::RenderMultiColumnFlow::mapAbsoluteToLocalPoint const):
1336         (WebCore::RenderMultiColumnFlow::physicalTranslationFromFragmentToFlow const):
1337         (WebCore::RenderMultiColumnFlow::mapFromFlowToFragment const):
1338         (WebCore::RenderMultiColumnFlow::physicalTranslationOffsetFromFlowToFragment const):
1339         (WebCore::RenderMultiColumnFlow::physicalTranslationFromFlowToFragment const):
1340         (WebCore::RenderMultiColumnFlow::isPageLogicalHeightKnown const):
1341         (WebCore::RenderMultiColumnFlow::nodeAtPoint):
1342         (WebCore::RenderMultiColumnFlow::shouldCheckColumnBreaks const):
1343         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): Deleted.
1344         (WebCore::RenderMultiColumnFlowThread::~RenderMultiColumnFlowThread): Deleted.
1345         (WebCore::RenderMultiColumnFlowThread::renderName const): Deleted.
1346         (WebCore::RenderMultiColumnFlowThread::firstMultiColumnSet const): Deleted.
1347         (WebCore::RenderMultiColumnFlowThread::lastMultiColumnSet const): Deleted.
1348         (WebCore::RenderMultiColumnFlowThread::firstColumnSetOrSpanner const): Deleted.
1349         (WebCore::RenderMultiColumnFlowThread::nextColumnSetOrSpannerSiblingOf): Deleted.
1350         (WebCore::RenderMultiColumnFlowThread::previousColumnSetOrSpannerSiblingOf): Deleted.
1351         (WebCore::RenderMultiColumnFlowThread::layout): Deleted.
1352         (WebCore::RenderMultiColumnFlowThread::populate): Deleted.
1353         (WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy): Deleted.
1354         (WebCore::RenderMultiColumnFlowThread::addFragmentToThread): Deleted.
1355         (WebCore::RenderMultiColumnFlowThread::willBeRemovedFromTree): Deleted.
1356         (WebCore::RenderMultiColumnFlowThread::resolveMovedChild const): Deleted.
1357         (WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant): Deleted.
1358         (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted): Deleted.
1359         (WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval): Deleted.
1360         (WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved): Deleted.
1361         (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantBoxLaidOut): Deleted.
1362         (WebCore::RenderMultiColumnFlowThread::computeLogicalHeight const): Deleted.
1363         (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth const): Deleted.
1364         (WebCore::RenderMultiColumnFlowThread::setPageBreak): Deleted.
1365         (WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight): Deleted.
1366         (WebCore::RenderMultiColumnFlowThread::fragmentAtBlockOffset const): Deleted.
1367         (WebCore::RenderMultiColumnFlowThread::setFragmentRangeForBox): Deleted.
1368         (WebCore::RenderMultiColumnFlowThread::addForcedFragmentBreak): Deleted.
1369         (WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin const): Deleted.
1370         (WebCore::RenderMultiColumnFlowThread::offsetFromContainer const): Deleted.
1371         (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint const): Deleted.
1372         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFragmentToFlow const): Deleted.
1373         (WebCore::RenderMultiColumnFlowThread::mapFromFlowToFragment const): Deleted.
1374         (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToFragment const): Deleted.
1375         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToFragment const): Deleted.
1376         (WebCore::RenderMultiColumnFlowThread::isPageLogicalHeightKnown const): Deleted.
1377         (WebCore::RenderMultiColumnFlowThread::nodeAtPoint): Deleted.
1378         (WebCore::RenderMultiColumnFlowThread::shouldCheckColumnBreaks const): Deleted.
1379         * rendering/RenderMultiColumnFlow.h: Copied from rendering/RenderMultiColumnFlowThread.h.
1380         * rendering/RenderMultiColumnFlowThread.cpp: Removed.
1381         * rendering/RenderMultiColumnFlowThread.h: Removed.
1382         * rendering/RenderMultiColumnSet.cpp:
1383         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
1384         (WebCore::RenderMultiColumnSet::firstRendererInFragmentedFlow const):
1385         (WebCore::RenderMultiColumnSet::lastRendererInFragmentedFlow const):
1386         (WebCore::RenderMultiColumnSet::containsRendererInFragmentedFlow const):
1387         (WebCore::RenderMultiColumnSet::setLogicalTopInFragmentedFlow):
1388         (WebCore::RenderMultiColumnSet::setLogicalBottomInFragmentedFlow):
1389         (WebCore::RenderMultiColumnSet::pageLogicalTopForOffset const):
1390         (WebCore::RenderMultiColumnSet::setAndConstrainColumnHeight):
1391         (WebCore::RenderMultiColumnSet::distributeImplicitBreaks):
1392         (WebCore::RenderMultiColumnSet::calculateBalancedHeight const):
1393         (WebCore::RenderMultiColumnSet::recalculateColumnHeight):
1394         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
1395         (WebCore::RenderMultiColumnSet::requiresBalancing const):
1396         (WebCore::RenderMultiColumnSet::prepareForLayout):
1397         (WebCore::RenderMultiColumnSet::beginFlow):
1398         (WebCore::RenderMultiColumnSet::endFlow):
1399         (WebCore::RenderMultiColumnSet::layout):
1400         (WebCore::RenderMultiColumnSet::calculateMaxColumnHeight const):
1401         (WebCore::RenderMultiColumnSet::columnCount const):
1402         (WebCore::RenderMultiColumnSet::columnLogicalLeft const):
1403         (WebCore::RenderMultiColumnSet::columnLogicalTop const):
1404         (WebCore::RenderMultiColumnSet::columnIndexAtOffset const):
1405         (WebCore::RenderMultiColumnSet::fragmentedFlowPortionRectAt const):
1406         (WebCore::RenderMultiColumnSet::fragmentedFlowPortionOverflowRect):
1407         (WebCore::RenderMultiColumnSet::paintColumnRules):
1408         (WebCore::RenderMultiColumnSet::repaintFragmentedFlowContent):
1409         (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting const):
1410         (WebCore::RenderMultiColumnSet::collectLayerFragments):
1411         (WebCore::RenderMultiColumnSet::columnTranslationForOffset const):
1412         (WebCore::RenderMultiColumnSet::adjustFragmentBoundsFromFragmentedFlowPortionRect const):
1413         (WebCore::RenderMultiColumnSet::positionForPoint):
1414         (WebCore::RenderMultiColumnSet::translateFragmentPointToFragmentedFlow const):
1415         (WebCore::RenderMultiColumnSet::updateHitTestResult):
1416         (WebCore::RenderMultiColumnSet::firstRendererInFlowThread const): Deleted.
1417         (WebCore::RenderMultiColumnSet::lastRendererInFlowThread const): Deleted.
1418         (WebCore::RenderMultiColumnSet::containsRendererInFlowThread const): Deleted.
1419         (WebCore::RenderMultiColumnSet::setLogicalTopInFlowThread): Deleted.
1420         (WebCore::RenderMultiColumnSet::setLogicalBottomInFlowThread): Deleted.
1421         (WebCore::RenderMultiColumnSet::flowThreadPortionRectAt const): Deleted.
1422         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect): Deleted.
1423         (WebCore::RenderMultiColumnSet::repaintFlowThreadContent): Deleted.
1424         (WebCore::RenderMultiColumnSet::adjustFragmentBoundsFromFlowThreadPortionRect const): Deleted.
1425         (WebCore::RenderMultiColumnSet::translateFragmentPointToFlowThread const): Deleted.
1426         * rendering/RenderMultiColumnSet.h:
1427         * rendering/RenderMultiColumnSpannerPlaceholder.cpp:
1428         (WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
1429         (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
1430         * rendering/RenderMultiColumnSpannerPlaceholder.h:
1431         * rendering/RenderObject.cpp:
1432         (WebCore::RenderObject::setFragmentedFlowStateIncludingDescendants):
1433         (WebCore::RenderObject::computedFragmentedFlowState):
1434         (WebCore::RenderObject::initializeFragmentedFlowStateOnInsertion):
1435         (WebCore::RenderObject::resetFragmentedFlowStateOnRemoval):
1436         (WebCore::RenderObject::containerForRepaint const):
1437         (WebCore::RenderObject::repaintUsingContainer const):
1438         (WebCore::enclosingFragmentedFlowFromRenderer):
1439         (WebCore::RenderObject::outputRegionsInformation const):
1440         (WebCore::RenderObject::selectionRoot const):
1441         (WebCore::RenderObject::offsetFromContainer const):
1442         (WebCore::RenderObject::insertedIntoTree):
1443         (WebCore::RenderObject::locateEnclosingFragmentedFlow const):
1444         (WebCore::RenderObject::setIsRenderFragmentedFlow):
1445         (WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Deleted.
1446         (WebCore::RenderObject::computedFlowThreadState): Deleted.
1447         (WebCore::RenderObject::initializeFlowThreadStateOnInsertion): Deleted.
1448         (WebCore::RenderObject::resetFlowThreadStateOnRemoval): Deleted.
1449         (WebCore::flowThreadContainingBlockFromRenderer): Deleted.
1450         (WebCore::RenderObject::locateFlowThreadContainingBlock const): Deleted.
1451         (WebCore::RenderObject::setIsRenderFlowThread): Deleted.
1452         * rendering/RenderObject.h:
1453         (WebCore::RenderObject::enclosingFragmentedFlow const):
1454         (WebCore::RenderObject::isInFlowRenderFragmentedFlow const):
1455         (WebCore::RenderObject::isOutOfFlowRenderFragmentedFlow const):
1456         (WebCore::RenderObject::isRenderMultiColumnFlow const):
1457         (WebCore::RenderObject::fragmentedFlowState const):
1458         (WebCore::RenderObject::setFragmentedFlowState):
1459         (WebCore::RenderObject::isAnonymousBlock const):
1460         (WebCore::RenderObject::isRenderFragmentedFlow const):
1461         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1462         (WebCore::RenderObject::RenderObjectBitfields::fragmentedFlowState const):
1463         (WebCore::RenderObject::RenderObjectBitfields::setFragmentedFlowState):
1464         (WebCore::RenderObject::RenderObjectRareData::RenderObjectRareData):
1465         (WebCore::RenderObject::flowThreadContainingBlock const): Deleted.
1466         (WebCore::RenderObject::isInFlowRenderFlowThread const): Deleted.
1467         (WebCore::RenderObject::isOutOfFlowRenderFlowThread const): Deleted.
1468         (WebCore::RenderObject::isRenderMultiColumnFlowThread const): Deleted.
1469         (WebCore::RenderObject::flowThreadState const): Deleted.
1470         (WebCore::RenderObject::setFlowThreadState): Deleted.
1471         (WebCore::RenderObject::isRenderFlowThread const): Deleted.
1472         (WebCore::RenderObject::RenderObjectBitfields::flowThreadState const): Deleted.
1473         (WebCore::RenderObject::RenderObjectBitfields::setFlowThreadState): Deleted.
1474         * rendering/RenderReplaced.cpp:
1475         * rendering/RenderRuby.cpp:
1476         (WebCore::isRubyChildForNormalRemoval):
1477         * rendering/RenderTextFragment.cpp:
1478         (WebCore::RenderTextFragment::blockForAccompanyingFirstLetter):
1479         * rendering/RenderView.cpp:
1480         (WebCore::RenderView::availableLogicalHeight const):
1481         (WebCore::RenderView::pageOrViewLogicalHeight const):
1482         (WebCore::RenderView::updateHitTestResult):
1483         (WebCore::RenderView::pageNumberForBlockProgressionOffset const):
1484         (WebCore::RenderView::pageCount const):
1485         * rendering/RenderView.h:
1486         * rendering/RenderingAllInOne.cpp:
1487         * rendering/RootInlineBox.cpp:
1488         (WebCore::containingFragmentMap):
1489         (WebCore::RootInlineBox::~RootInlineBox):
1490         (WebCore::RootInlineBox::containingFragment const):
1491         * rendering/SimpleLineLayout.cpp:
1492         (WebCore::SimpleLineLayout::canUseForWithReason):
1493         * rendering/line/LineLayoutState.h:
1494         (WebCore::LineLayoutState::LineLayoutState):
1495         (WebCore::LineLayoutState::fragmentedFlow const):
1496         (WebCore::LineLayoutState::setFragmentedFlow):
1497         (WebCore::LineLayoutState::flowThread const): Deleted.
1498         (WebCore::LineLayoutState::setFlowThread): Deleted.
1499         * rendering/svg/RenderSVGText.cpp:
1500         (WebCore::RenderSVGText::layout):
1501         * style/RenderTreePosition.h:
1502         * style/RenderTreeUpdaterListItem.cpp:
1503         (WebCore::RenderTreeUpdater::ListItem::updateMarker):
1504         * style/RenderTreeUpdaterMultiColumn.cpp:
1505         (WebCore::RenderTreeUpdater::MultiColumn::update):
1506         (WebCore::RenderTreeUpdater::MultiColumn::createFragmentedFlow):
1507         (WebCore::RenderTreeUpdater::MultiColumn::createFlowThread): Deleted.
1508         * style/RenderTreeUpdaterMultiColumn.h:
1509         * style/StyleResolveForDocument.cpp:
1510         (WebCore::Style::resolveForDocument):
1511
1512 2017-09-27  Don Olmstead  <don.olmstead@sony.com>
1513
1514         Default to void* for platform widgets
1515         https://bugs.webkit.org/show_bug.cgi?id=177518
1516
1517         Reviewed by Michael Catanzaro.
1518
1519         No new tests. No change in behavior.
1520
1521         * platform/Cursor.h:
1522         * platform/DragData.h:
1523         * platform/Widget.h:
1524
1525 2017-09-27  Youenn Fablet  <youenn@apple.com>
1526
1527         [Fetch API] Cloning an opaque response should not assert
1528         https://bugs.webkit.org/show_bug.cgi?id=177548
1529
1530         Reviewed by Sam Weinig.
1531
1532         Test: http/wpt/fetch/response-opaque-clone.html
1533
1534         * Modules/fetch/FetchBodyOwner.cpp:
1535         (WebCore::FetchBodyOwner::readableStream): Returning null if response is opaque.
1536         * Modules/fetch/FetchResponse.cpp:
1537         (WebCore::FetchResponse::clone): Making sure cloned responses keep their opaque state.
1538         (WebCore::FetchResponse::consumeBodyAsStream): Removing assertion as we need to create a stream for cloning.
1539
1540 2017-09-26  Joseph Pecoraro  <pecoraro@apple.com>
1541
1542         Web Inspector: Remove unused parameter of Page.reload
1543         https://bugs.webkit.org/show_bug.cgi?id=177522
1544
1545         Reviewed by Matt Baker.
1546
1547         * inspector/InspectorInstrumentation.cpp:
1548         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
1549         * inspector/InspectorPageAgent.cpp:
1550         (WebCore::InspectorPageAgent::reload):
1551         (WebCore::InspectorPageAgent::frameNavigated):
1552         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): Deleted.
1553         * inspector/InspectorPageAgent.h:
1554
1555 2017-09-27  Chris Dumez  <cdumez@apple.com>
1556
1557         cssFloat missing in CSSPropertyDeclaration.prototype
1558         https://bugs.webkit.org/show_bug.cgi?id=177487
1559
1560         Reviewed by Sam Weinig.
1561
1562         Add support for cssFloat attribute on CSSPropertyDeclaration, as per:
1563         - https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-cssfloat
1564
1565         Test: fast/css/CSSStyleDeclaration-cssFloat.html
1566
1567         * css/CSSStyleDeclaration.cpp:
1568         (WebCore::CSSStyleDeclaration::cssFloat):
1569         (WebCore::CSSStyleDeclaration::setCssFloat):
1570         * css/CSSStyleDeclaration.h:
1571         * css/CSSStyleDeclaration.idl:
1572
1573 2017-09-27  Antti Koivisto  <antti@apple.com>
1574
1575         Ref element keys in CSSAnimationControllerPrivate
1576         https://bugs.webkit.org/show_bug.cgi?id=177543
1577
1578         Reviewed by Zalan Bujtas.
1579
1580         For safety.
1581
1582         * page/animation/CSSAnimationControllerPrivate.h:
1583
1584         This won't create ref cycle as elements are removed from the m_compositeAnimations maps when they
1585         are removed from the tree. We have assertions that verify the map is always cleared.
1586
1587 2017-09-27  David Hyatt  <hyatt@apple.com>
1588
1589         Rename "Region" to "Fragment" for RenderRegion and associated classes/methods.
1590         https://bugs.webkit.org/show_bug.cgi?id=177506
1591
1592         Reviewed by Zalan Bujtas.
1593
1594         * WebCore.xcodeproj/project.pbxproj:
1595         * css/CSSPrimitiveValueMappings.h:
1596         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1597         (WebCore::CSSPrimitiveValue::operator BreakInside const):
1598         * css/CSSValueKeywords.in:
1599         * dom/Element.cpp:
1600         * platform/graphics/cg/GraphicsContextCG.cpp:
1601         * rendering/FixedTableLayout.cpp:
1602         (WebCore::FixedTableLayout::calcWidthArray):
1603         * rendering/GridTrackSizingAlgorithm.cpp:
1604         (WebCore::computeMarginLogicalSizeForChild):
1605         (WebCore::IndefiniteSizeStrategy::minLogicalWidthForChild const):
1606         (WebCore::DefiniteSizeStrategy::minLogicalWidthForChild const):
1607         * rendering/RenderBlock.cpp:
1608         (WebCore::RenderBlock::preparePaginationBeforeBlockLayout):
1609         (WebCore::RenderBlock::addOverflowFromChildren):
1610         (WebCore::RenderBlock::clearLayoutOverflow):
1611         (WebCore::RenderBlock::addVisualOverflowFromTheme):
1612         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
1613         (WebCore::RenderBlock::simplifiedLayout):
1614         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
1615         (WebCore::RenderBlock::layoutPositionedObject):
1616         (WebCore::RenderBlock::selectionGaps):
1617         (WebCore::RenderBlock::logicalLeftOffsetForContent const):
1618         (WebCore::RenderBlock::logicalRightOffsetForContent const):
1619         (WebCore::RenderBlock::adjustLogicalLeftOffsetForLine const):
1620         (WebCore::RenderBlock::adjustLogicalRightOffsetForLine const):
1621         (WebCore::RenderBlock::positionForPointWithInlineChildren):
1622         (WebCore::isChildHitTestCandidate):
1623         (WebCore::RenderBlock::positionForPoint):
1624         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage const):
1625         (WebCore::RenderBlock::fragmentAtBlockOffset const):
1626         (WebCore::canComputeFragmentRangeForBox):
1627         (WebCore::RenderBlock::computeFragmentRangeForBoxChild const):
1628         (WebCore::RenderBlock::estimateFragmentRangeForBoxChild const):
1629         (WebCore::RenderBlock::updateFragmentRangeForBoxChild const):
1630         (WebCore::RenderBlock::regionAtBlockOffset const): Deleted.
1631         (WebCore::canComputeRegionRangeForBox): Deleted.
1632         (WebCore::RenderBlock::computeRegionRangeForBoxChild const): Deleted.
1633         (WebCore::RenderBlock::estimateRegionRangeForBoxChild const): Deleted.
1634         (WebCore::RenderBlock::updateRegionRangeForBoxChild const): Deleted.
1635         * rendering/RenderBlock.h:
1636         (WebCore::RenderBlock::availableLogicalWidthForLineInFragment const):
1637         (WebCore::RenderBlock::logicalRightOffsetForLineInFragment const):
1638         (WebCore::RenderBlock::logicalLeftOffsetForLineInFragment const):
1639         (WebCore::RenderBlock::startOffsetForLineInFragment const):
1640         (WebCore::RenderBlock::endOffsetForLineInFragment const):
1641         (WebCore::RenderBlock::availableLogicalWidthForLine const):
1642         (WebCore::RenderBlock::availableLogicalWidthForContent const):
1643         (WebCore::RenderBlock::startOffsetForContent const):
1644         (WebCore::RenderBlock::endOffsetForContent const):
1645         (WebCore::RenderBlock::logicalLeftOffsetForContent const):
1646         (WebCore::RenderBlock::logicalRightOffsetForContent const):
1647         (WebCore::RenderBlock::availableLogicalWidthForLineInRegion const): Deleted.
1648         (WebCore::RenderBlock::logicalRightOffsetForLineInRegion const): Deleted.
1649         (WebCore::RenderBlock::logicalLeftOffsetForLineInRegion const): Deleted.
1650         (WebCore::RenderBlock::startOffsetForLineInRegion const): Deleted.
1651         (WebCore::RenderBlock::endOffsetForLineInRegion const): Deleted.
1652         * rendering/RenderBlockFlow.cpp:
1653         (WebCore::RenderBlockFlow::layoutBlock):
1654         (WebCore::RenderBlockFlow::layoutBlockChild):
1655         (WebCore::RenderBlockFlow::setStaticInlinePositionForChild):
1656         (WebCore::RenderBlockFlow::applyBeforeBreak):
1657         (WebCore::RenderBlockFlow::applyAfterBreak):
1658         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
1659         (WebCore::RenderBlockFlow::hasNextPage const):
1660         (WebCore::RenderBlockFlow::adjustForUnsplittableChild):
1661         (WebCore::RenderBlockFlow::pushToNextPageWithMinimumLogicalHeight const):
1662         (WebCore::RenderBlockFlow::positionNewFloats):
1663         (WebCore::RenderBlockFlow::getClearDelta):
1664         (WebCore::RenderBlockFlow::needsLayoutAfterFragmentRangeChange const):
1665         (WebCore::RenderBlockFlow::findClosestTextAtAbsolutePoint):
1666         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
1667         (WebCore::RenderBlockFlow::positionForPoint):
1668         (WebCore::RenderBlockFlow::layoutExcludedChildren):
1669         (WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange const): Deleted.
1670         * rendering/RenderBlockFlow.h:
1671         * rendering/RenderBlockLineLayout.cpp:
1672         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
1673         (WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
1674         (WebCore::RenderBlockFlow::layoutLineBoxes):
1675         (WebCore::RenderBlockFlow::determineStartPosition):
1676         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
1677         (WebCore::RenderBlockFlow::lineWidthForPaginatedLineChanged const):
1678         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
1679         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
1680         (WebCore::RenderBlockFlow::updateFragmentForLine const):
1681         (WebCore::RenderBlockFlow::updateRegionForLine const): Deleted.
1682         * rendering/RenderBox.cpp:
1683         (WebCore::RenderBox::clampToStartAndEndFragments const):
1684         (WebCore::RenderBox::hasFragmentRangeInFlowThread const):
1685         (WebCore::RenderBox::clientBoxRectInFragment const):
1686         (WebCore::RenderBox::borderBoxRectInFragment const):
1687         (WebCore::RenderBox::constrainLogicalWidthInFragmentByMinMax const):
1688         (WebCore::RenderBox::nodeAtPoint):
1689         (WebCore::RenderBox::paintBoxDecorations):
1690         (WebCore::RenderBox::overflowClipRect):
1691         (WebCore::RenderBox::clipRect):
1692         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats const):
1693         (WebCore::RenderBox::containingBlockLogicalWidthForContentInFragment const):
1694         (WebCore::RenderBox::containingBlockAvailableLineWidthInFragment const):
1695         (WebCore::RenderBox::offsetFromContainer const):
1696         (WebCore::RenderBox::computeRectForRepaint const):
1697         (WebCore::RenderBox::updateLogicalWidth):
1698         (WebCore::RenderBox::computeLogicalWidthInFragment const):
1699         (WebCore::RenderBox::computeLogicalWidthInFragmentUsing const):
1700         (WebCore::RenderBox::renderBoxFragmentInfo const):
1701         (WebCore::tableCellShouldHaveZeroInitialSize):
1702         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
1703         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):
1704         (WebCore::computeInlineStaticDistance):
1705         (WebCore::RenderBox::computePositionedLogicalWidth const):
1706         (WebCore::RenderBox::computePositionedLogicalHeight const):
1707         (WebCore::RenderBox::computePositionedLogicalWidthReplaced const):
1708         (WebCore::RenderBox::positionForPoint):
1709         (WebCore::RenderBox::createsNewFormattingContext const):
1710         (WebCore::RenderBox::addVisualEffectOverflow):
1711         (WebCore::RenderBox::addOverflowFromChild):
1712         (WebCore::RenderBox::clearOverflow):
1713         (WebCore::RenderBox::clampToStartAndEndRegions const): Deleted.
1714         (WebCore::RenderBox::hasRegionRangeInFlowThread const): Deleted.
1715         (WebCore::RenderBox::clientBoxRectInRegion const): Deleted.
1716         (WebCore::RenderBox::borderBoxRectInRegion const): Deleted.
1717         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax const): Deleted.
1718         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion const): Deleted.
1719         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion const): Deleted.
1720         (WebCore::RenderBox::computeLogicalWidthInRegion const): Deleted.
1721         (WebCore::RenderBox::computeLogicalWidthInRegionUsing const): Deleted.
1722         (WebCore::RenderBox::renderBoxRegionInfo const): Deleted.
1723         * rendering/RenderBox.h:
1724         (WebCore::RenderBox::overflowClipRectForChildLayers):
1725         (WebCore::RenderBox::canHaveOutsideFragmentRange const):
1726         (WebCore::RenderBox::needsLayoutAfterFragmentRangeChange const):
1727         (WebCore::RenderBox::canHaveOutsideRegionRange const): Deleted.
1728         (WebCore::RenderBox::needsLayoutAfterRegionRangeChange const): Deleted.
1729         * rendering/RenderBoxFragmentInfo.h: Copied from rendering/RenderBoxRegionInfo.h.
1730         (WebCore::RenderBoxFragmentInfo::RenderBoxFragmentInfo):
1731         (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo): Deleted.
1732         (WebCore::RenderBoxRegionInfo::logicalLeft const): Deleted.
1733         (WebCore::RenderBoxRegionInfo::logicalWidth const): Deleted.
1734         (WebCore::RenderBoxRegionInfo::shiftLogicalLeft): Deleted.
1735         (WebCore::RenderBoxRegionInfo::isShifted const): Deleted.
1736         (WebCore::RenderBoxRegionInfo::createOverflow): Deleted.
1737         (WebCore::RenderBoxRegionInfo::overflow const): Deleted.
1738         (WebCore::RenderBoxRegionInfo::clearOverflow): Deleted.
1739         * rendering/RenderBoxModelObject.cpp:
1740         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):
1741         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint const):
1742         * rendering/RenderBoxModelObject.h:
1743         (WebCore::RenderBoxModelObject::canHaveBoxInfoInFragment const):
1744         (WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion const): Deleted.
1745         * rendering/RenderBoxRegionInfo.h: Removed.
1746         * rendering/RenderElement.cpp:
1747         * rendering/RenderFileUploadControl.cpp:
1748         (WebCore::RenderFileUploadControl::positionForPoint):
1749         * rendering/RenderFileUploadControl.h:
1750         * rendering/RenderFlexibleBox.cpp:
1751         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
1752         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
1753         * rendering/RenderFlowThread.cpp:
1754         (WebCore::RenderFlowThread::RenderFlowThread):
1755         (WebCore::RenderFlowThread::styleDidChange):
1756         (WebCore::RenderFlowThread::removeFlowChildInfo):
1757         (WebCore::RenderFlowThread::removeFragmentFromThread):
1758         (WebCore::RenderFlowThread::invalidateFragments):
1759         (WebCore::RenderFlowThread::validateFragments):
1760         (WebCore::RenderFlowThread::layout):
1761         (WebCore::RenderFlowThread::updateLogicalWidth):
1762         (WebCore::RenderFlowThread::computeLogicalHeight const):
1763         (WebCore::RenderFlowThread::repaintRectangleInFragments const):
1764         (WebCore::RenderFlowThread::fragmentAtBlockOffset const):
1765         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const):
1766         (WebCore::RenderFlowThread::pageLogicalTopForOffset const):
1767         (WebCore::RenderFlowThread::pageLogicalWidthForOffset const):
1768         (WebCore::RenderFlowThread::pageLogicalHeightForOffset const):
1769         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset const):
1770         (WebCore::RenderFlowThread::mapFromFlowToFragment const):
1771         (WebCore::RenderFlowThread::removeRenderBoxFragmentInfo):
1772         (WebCore::RenderFlowThread::removeLineFragmentInfo):
1773         (WebCore::RenderFlowThread::logicalWidthChangedInFragmentsForBlock):
1774         (WebCore::RenderFlowThread::contentLogicalWidthOfFirstFragment const):
1775         (WebCore::RenderFlowThread::contentLogicalHeightOfFirstFragment const):
1776         (WebCore::RenderFlowThread::contentLogicalLeftOfFirstFragment const):
1777         (WebCore::RenderFlowThread::firstFragment const):
1778         (WebCore::RenderFlowThread::lastFragment const):
1779         (WebCore::RenderFlowThread::clearRenderBoxFragmentInfoAndCustomStyle):
1780         (WebCore::RenderFlowThread::setFragmentRangeForBox):
1781         (WebCore::RenderFlowThread::hasCachedFragmentRangeForBox const):
1782         (WebCore::RenderFlowThread::getFragmentRangeForBoxFromCachedInfo const):
1783         (WebCore::RenderFlowThread::getFragmentRangeForBox const):
1784         (WebCore::RenderFlowThread::computedFragmentRangeForBox const):
1785         (WebCore::RenderFlowThread::fragmentInRange const):
1786         (WebCore::RenderFlowThread::objectShouldFragmentInFlowFragment const):
1787         (WebCore::RenderFlowThread::objectInFlowFragment const):
1788         (WebCore::RenderFlowThread::checkLinesConsistency const):
1789         (WebCore::RenderFlowThread::clearLinesToFragmentMap):
1790         (WebCore::RenderFlowThread::deleteLines):
1791         (WebCore::RenderFlowThread::willBeDestroyed):
1792         (WebCore::RenderFlowThread::markFragmentsForOverflowLayoutIfNeeded):
1793         (WebCore::RenderFlowThread::updateFragmentsFlowThreadPortionRect):
1794         (WebCore::RenderFlowThread::addForcedFragmentBreak):
1795         (WebCore::RenderFlowThread::collectLayerFragments):
1796         (WebCore::RenderFlowThread::fragmentsBoundingBox):
1797         (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstFragment const):
1798         (WebCore::RenderFlowThread::FragmentSearchAdapter::collectIfNeeded):
1799         (WebCore::RenderFlowThread::mapLocalToContainer const):
1800         (WebCore::RenderFlowThread::addFragmentsVisualEffectOverflow):
1801         (WebCore::RenderFlowThread::addFragmentsVisualOverflowFromTheme):
1802         (WebCore::RenderFlowThread::addFragmentsOverflowFromChild):
1803         (WebCore::RenderFlowThread::addFragmentsLayoutOverflow):
1804         (WebCore::RenderFlowThread::addFragmentsVisualOverflow):
1805         (WebCore::RenderFlowThread::clearFragmentsOverflow):
1806         (WebCore::RenderFlowThread::currentFragment const):
1807         (WebCore::RenderFlowThread::containingFragmentMap):
1808         (WebCore::RenderFlowThread::removeRegionFromThread): Deleted.
1809         (WebCore::RenderFlowThread::invalidateRegions): Deleted.
1810         (WebCore::RenderFlowThread::validateRegions): Deleted.
1811         (WebCore::RenderFlowThread::repaintRectangleInRegions const): Deleted.
1812         (WebCore::RenderFlowThread::regionAtBlockOffset const): Deleted.
1813         (WebCore::RenderFlowThread::mapFromFlowToRegion const): Deleted.
1814         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo): Deleted.
1815         (WebCore::RenderFlowThread::removeLineRegionInfo): Deleted.
1816         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock): Deleted.
1817         (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion const): Deleted.
1818         (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion const): Deleted.
1819         (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion const): Deleted.
1820         (WebCore::RenderFlowThread::firstRegion const): Deleted.
1821         (WebCore::RenderFlowThread::lastRegion const): Deleted.
1822         (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle): Deleted.
1823         (WebCore::RenderFlowThread::setRegionRangeForBox): Deleted.
1824         (WebCore::RenderFlowThread::hasCachedRegionRangeForBox const): Deleted.
1825         (WebCore::RenderFlowThread::getRegionRangeForBoxFromCachedInfo const): Deleted.
1826         (WebCore::RenderFlowThread::getRegionRangeForBox const): Deleted.
1827         (WebCore::RenderFlowThread::computedRegionRangeForBox const): Deleted.
1828         (WebCore::RenderFlowThread::regionInRange const): Deleted.
1829         (WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion const): Deleted.
1830         (WebCore::RenderFlowThread::objectInFlowRegion const): Deleted.
1831         (WebCore::RenderFlowThread::clearLinesToRegionMap): Deleted.
1832         (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded): Deleted.
1833         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): Deleted.
1834         (WebCore::RenderFlowThread::addForcedRegionBreak): Deleted.
1835         (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion const): Deleted.
1836         (WebCore::RenderFlowThread::RegionSearchAdapter::collectIfNeeded): Deleted.
1837         (WebCore::RenderFlowThread::addRegionsVisualEffectOverflow): Deleted.
1838         (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme): Deleted.
1839         (WebCore::RenderFlowThread::addRegionsOverflowFromChild): Deleted.
1840         (WebCore::RenderFlowThread::addRegionsLayoutOverflow): Deleted.
1841         (WebCore::RenderFlowThread::addRegionsVisualOverflow): Deleted.
1842         (WebCore::RenderFlowThread::clearRegionsOverflow): Deleted.
1843         (WebCore::RenderFlowThread::currentRegion const): Deleted.
1844         (WebCore::RenderFlowThread::containingRegionMap): Deleted.
1845         * rendering/RenderFlowThread.h:
1846         (WTF::ValueToString<WebCore::RenderFragmentContainer::string):
1847         (WTF::ValueToString<WebCore::RenderRegion::string): Deleted.
1848         * rendering/RenderFragmentContainer.cpp: Copied from rendering/RenderRegion.cpp.
1849         (WebCore::RenderFragmentContainer::RenderFragmentContainer):
1850         (WebCore::RenderFragmentContainer::mapFragmentPointIntoFlowThreadCoordinates):
1851         (WebCore::RenderFragmentContainer::positionForPoint):
1852         (WebCore::RenderFragmentContainer::pageLogicalWidth const):
1853         (WebCore::RenderFragmentContainer::pageLogicalHeight const):
1854         (WebCore::RenderFragmentContainer::logicalHeightOfAllFlowThreadContent const):
1855         (WebCore::RenderFragmentContainer::flowThreadPortionOverflowRect):
1856         (WebCore::RenderFragmentContainer::flowThreadPortionLocation const):
1857         (WebCore::RenderFragmentContainer::overflowRectForFlowThreadPortion):
1858         (WebCore::RenderFragmentContainer::pageLogicalTopForOffset const):
1859         (WebCore::RenderFragmentContainer::isFirstFragment const):
1860         (WebCore::RenderFragmentContainer::isLastFragment const):
1861         (WebCore::RenderFragmentContainer::shouldClipFlowThreadContent const):
1862         (WebCore::RenderFragmentContainer::styleDidChange):
1863         (WebCore::RenderFragmentContainer::computeOverflowFromFlowThread):
1864         (WebCore::RenderFragmentContainer::repaintFlowThreadContent):
1865         (WebCore::RenderFragmentContainer::repaintFlowThreadContentRectangle):
1866         (WebCore::RenderFragmentContainer::installFlowThread):
1867         (WebCore::RenderFragmentContainer::attachFragment):
1868         (WebCore::RenderFragmentContainer::detachFragment):
1869         (WebCore::RenderFragmentContainer::renderBoxFragmentInfo const):
1870         (WebCore::RenderFragmentContainer::setRenderBoxFragmentInfo):
1871         (WebCore::RenderFragmentContainer::takeRenderBoxFragmentInfo):
1872         (WebCore::RenderFragmentContainer::removeRenderBoxFragmentInfo):
1873         (WebCore::RenderFragmentContainer::deleteAllRenderBoxFragmentInfo):
1874         (WebCore::RenderFragmentContainer::logicalTopOfFlowThreadContentRect const):
1875         (WebCore::RenderFragmentContainer::logicalBottomOfFlowThreadContentRect const):
1876         (WebCore::RenderFragmentContainer::insertedIntoTree):
1877         (WebCore::RenderFragmentContainer::willBeRemovedFromTree):
1878         (WebCore::RenderFragmentContainer::computeIntrinsicLogicalWidths const):
1879         (WebCore::RenderFragmentContainer::computePreferredLogicalWidths):
1880         (WebCore::RenderFragmentContainer::adjustFragmentBoundsFromFlowThreadPortionRect const):
1881         (WebCore::RenderFragmentContainer::ensureOverflowForBox):
1882         (WebCore::RenderFragmentContainer::rectFlowPortionForBox const):
1883         (WebCore::RenderFragmentContainer::addLayoutOverflowForBox):
1884         (WebCore::RenderFragmentContainer::addVisualOverflowForBox):
1885         (WebCore::RenderFragmentContainer::layoutOverflowRectForBox):
1886         (WebCore::RenderFragmentContainer::visualOverflowRectForBox):
1887         (WebCore::RenderFragmentContainer::layoutOverflowRectForBoxForPropagation):
1888         (WebCore::RenderFragmentContainer::visualOverflowRectForBoxForPropagation):
1889         (WebCore::CurrentRenderFragmentContainerMaintainer::CurrentRenderFragmentContainerMaintainer):
1890         (WebCore::CurrentRenderFragmentContainerMaintainer::~CurrentRenderFragmentContainerMaintainer):
1891         (WebCore::RenderRegion::RenderRegion): Deleted.
1892         (WebCore::RenderRegion::mapRegionPointIntoFlowThreadCoordinates): Deleted.
1893         (WebCore::RenderRegion::positionForPoint): Deleted.
1894         (WebCore::RenderRegion::pageLogicalWidth const): Deleted.
1895         (WebCore::RenderRegion::pageLogicalHeight const): Deleted.
1896         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent const): Deleted.
1897         (WebCore::RenderRegion::flowThreadPortionOverflowRect): Deleted.
1898         (WebCore::RenderRegion::flowThreadPortionLocation const): Deleted.
1899         (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Deleted.
1900         (WebCore::RenderRegion::pageLogicalTopForOffset const): Deleted.
1901         (WebCore::RenderRegion::isFirstRegion const): Deleted.
1902         (WebCore::RenderRegion::isLastRegion const): Deleted.
1903         (WebCore::RenderRegion::shouldClipFlowThreadContent const): Deleted.
1904         (WebCore::RenderRegion::styleDidChange): Deleted.
1905         (WebCore::RenderRegion::computeOverflowFromFlowThread): Deleted.
1906         (WebCore::RenderRegion::repaintFlowThreadContent): Deleted.
1907         (WebCore::RenderRegion::repaintFlowThreadContentRectangle): Deleted.
1908         (WebCore::RenderRegion::installFlowThread): Deleted.
1909         (WebCore::RenderRegion::attachRegion): Deleted.
1910         (WebCore::RenderRegion::detachRegion): Deleted.
1911         (WebCore::RenderRegion::renderBoxRegionInfo const): Deleted.
1912         (WebCore::RenderRegion::setRenderBoxRegionInfo): Deleted.
1913         (WebCore::RenderRegion::takeRenderBoxRegionInfo): Deleted.
1914         (WebCore::RenderRegion::removeRenderBoxRegionInfo): Deleted.
1915         (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo): Deleted.
1916         (WebCore::RenderRegion::logicalTopOfFlowThreadContentRect const): Deleted.
1917         (WebCore::RenderRegion::logicalBottomOfFlowThreadContentRect const): Deleted.
1918         (WebCore::RenderRegion::insertedIntoTree): Deleted.
1919         (WebCore::RenderRegion::willBeRemovedFromTree): Deleted.
1920         (WebCore::RenderRegion::computeIntrinsicLogicalWidths const): Deleted.
1921         (WebCore::RenderRegion::computePreferredLogicalWidths): Deleted.
1922         (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect const): Deleted.
1923         (WebCore::RenderRegion::ensureOverflowForBox): Deleted.
1924         (WebCore::RenderRegion::rectFlowPortionForBox const): Deleted.
1925         (WebCore::RenderRegion::addLayoutOverflowForBox): Deleted.
1926         (WebCore::RenderRegion::addVisualOverflowForBox): Deleted.
1927         (WebCore::RenderRegion::layoutOverflowRectForBox): Deleted.
1928         (WebCore::RenderRegion::visualOverflowRectForBox): Deleted.
1929         (WebCore::RenderRegion::layoutOverflowRectForBoxForPropagation): Deleted.
1930         (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation): Deleted.
1931         (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer): Deleted.
1932         (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer): Deleted.
1933         * rendering/RenderFragmentContainer.h: Copied from rendering/RenderRegion.h.
1934         (WebCore::RenderFragmentContainer::isRenderFragmentContainerSet const):
1935         (WebCore::RenderFragmentContainer::absoluteQuadsForBoxInFragment):
1936         (WebCore::CurrentRenderFragmentContainerMaintainer::fragment const):
1937         (WebCore::RenderRegion::setFlowThreadPortionRect): Deleted.
1938         (WebCore::RenderRegion::flowThreadPortionRect const): Deleted.
1939         (WebCore::RenderRegion::flowThread const): Deleted.
1940         (WebCore::RenderRegion::isValid const): Deleted.
1941         (WebCore::RenderRegion::setIsValid): Deleted.
1942         (WebCore::RenderRegion::logicalTopForFlowThreadContent const): Deleted.
1943         (WebCore::RenderRegion::logicalBottomForFlowThreadContent const): Deleted.
1944         (WebCore::RenderRegion::isRenderRegionSet const): Deleted.
1945         (WebCore::RenderRegion::collectLayerFragments): Deleted.
1946         (WebCore::RenderRegion::absoluteQuadsForBoxInRegion): Deleted.
1947         (WebCore::CurrentRenderRegionMaintainer::region const): Deleted.
1948         * rendering/RenderFragmentContainerSet.cpp: Copied from rendering/RenderRegionSet.cpp.
1949         (WebCore::RenderFragmentContainerSet::RenderFragmentContainerSet):
1950         (WebCore::RenderFragmentContainerSet::installFlowThread):
1951         (WebCore::RenderFragmentContainerSet::expandToEncompassFlowThreadContentsIfNeeded):
1952         (WebCore::RenderRegionSet::RenderRegionSet): Deleted.
1953         (WebCore::RenderRegionSet::installFlowThread): Deleted.
1954         (WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded): Deleted.
1955         * rendering/RenderFragmentContainerSet.h: Copied from rendering/RenderRegionSet.h.
1956         * rendering/RenderGrid.cpp:
1957         (WebCore::RenderGrid::computeMarginLogicalSizeForChild const):
1958         * rendering/RenderInline.cpp:
1959         (WebCore::RenderInline::positionForPoint):
1960         (WebCore::RenderInline::linesVisualOverflowBoundingBoxInFragment const):
1961         (WebCore::RenderInline::linesVisualOverflowBoundingBoxInRegion const): Deleted.
1962         * rendering/RenderInline.h:
1963         * rendering/RenderLayer.cpp:
1964         (WebCore::accumulateOffsetTowardsAncestor):
1965         (WebCore::RenderLayer::calculateClipRects const):
1966         * rendering/RenderLayerBacking.cpp:
1967         (WebCore::RenderLayerBacking::paintIntoLayer):
1968         * rendering/RenderLayerCompositor.cpp:
1969         (WebCore::RenderLayerCompositor::canBeComposited const):
1970         * rendering/RenderLineBreak.cpp:
1971         (WebCore::RenderLineBreak::positionForPoint):
1972         * rendering/RenderLineBreak.h:
1973         * rendering/RenderMultiColumnFlowThread.cpp:
1974         (WebCore::RenderMultiColumnFlowThread::addFragmentToThread):
1975         (WebCore::RenderMultiColumnFlowThread::willBeRemovedFromTree):
1976         (WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant):
1977         (WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
1978         (WebCore::RenderMultiColumnFlowThread::setPageBreak):
1979         (WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight):
1980         (WebCore::RenderMultiColumnFlowThread::fragmentAtBlockOffset const):
1981         (WebCore::RenderMultiColumnFlowThread::setFragmentRangeForBox):
1982         (WebCore::RenderMultiColumnFlowThread::addForcedFragmentBreak):
1983         (WebCore::RenderMultiColumnFlowThread::offsetFromContainer const):
1984         (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint const):
1985         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFragmentToFlow const):
1986         (WebCore::RenderMultiColumnFlowThread::mapFromFlowToFragment const):
1987         (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToFragment const):
1988         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToFragment const):
1989         (WebCore::RenderMultiColumnFlowThread::addRegionToThread): Deleted.
1990         (WebCore::RenderMultiColumnFlowThread::regionAtBlockOffset const): Deleted.
1991         (WebCore::RenderMultiColumnFlowThread::setRegionRangeForBox): Deleted.
1992         (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak): Deleted.
1993         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromRegionToFlow const): Deleted.
1994         (WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion const): Deleted.
1995         (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion const): Deleted.
1996         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion const): Deleted.
1997         * rendering/RenderMultiColumnFlowThread.h:
1998         * rendering/RenderMultiColumnSet.cpp:
1999         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2000         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
2001         (WebCore::RenderMultiColumnSet::beginFlow):
2002         (WebCore::RenderMultiColumnSet::endFlow):
2003         (WebCore::RenderMultiColumnSet::layout):
2004         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
2005         (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
2006         (WebCore::RenderMultiColumnSet::collectLayerFragments):
2007         (WebCore::RenderMultiColumnSet::adjustFragmentBoundsFromFlowThreadPortionRect const):
2008         (WebCore::RenderMultiColumnSet::positionForPoint):
2009         (WebCore::RenderMultiColumnSet::translateFragmentPointToFlowThread const):
2010         (WebCore::RenderMultiColumnSet::updateHitTestResult):
2011         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect const): Deleted.
2012         (WebCore::RenderMultiColumnSet::translateRegionPointToFlowThread const): Deleted.
2013         * rendering/RenderMultiColumnSet.h:
2014         * rendering/RenderObject.cpp:
2015         (WebCore::RenderObject::containerForRepaint const):
2016         (WebCore::RenderObject::repaintUsingContainer const):
2017         (WebCore::RenderObject::outputRegionsInformation const):
2018         (WebCore::RenderObject::positionForPoint):
2019         * rendering/RenderObject.h:
2020         (WebCore::RenderObject::isRenderFragmentContainer const):
2021         (WebCore::RenderObject::isRenderRegion const): Deleted.
2022         * rendering/RenderRegion.cpp: Removed.
2023         * rendering/RenderRegion.h: Removed.
2024         * rendering/RenderRegionSet.cpp: Removed.
2025         * rendering/RenderRegionSet.h: Removed.
2026         * rendering/RenderReplaced.cpp:
2027         (WebCore::RenderReplaced::positionForPoint):
2028         * rendering/RenderReplaced.h:
2029         * rendering/RenderTable.cpp:
2030         (WebCore::RenderTable::updateLogicalWidth):
2031         (WebCore::RenderTable::overflowClipRect):
2032         * rendering/RenderTable.h:
2033         * rendering/RenderText.cpp:
2034         (WebCore::RenderText::positionForPoint):
2035         * rendering/RenderText.h:
2036         * rendering/RenderTreeAsText.cpp:
2037         * rendering/RenderingAllInOne.cpp:
2038         * rendering/RootInlineBox.cpp:
2039         (WebCore::containingFragmentMap):
2040         (WebCore::RootInlineBox::~RootInlineBox):
2041         (WebCore::RootInlineBox::containingFragment const):
2042         (WebCore::RootInlineBox::clearContainingFragment):
2043         (WebCore::RootInlineBox::setContainingFragment):
2044         (WebCore::containingRegionMap): Deleted.
2045         (WebCore::RootInlineBox::containingRegion const): Deleted.
2046         (WebCore::RootInlineBox::clearContainingRegion): Deleted.
2047         (WebCore::RootInlineBox::setContainingRegion): Deleted.
2048         * rendering/RootInlineBox.h:
2049         * rendering/shapes/ShapeOutsideInfo.cpp:
2050         (WebCore::ShapeOutsideInfo::logicalLeftOffset const):
2051         * rendering/style/RenderStyleConstants.h:
2052         * rendering/svg/RenderSVGInlineText.cpp:
2053         (WebCore::RenderSVGInlineText::positionForPoint):
2054         * rendering/svg/RenderSVGInlineText.h:
2055         * rendering/svg/RenderSVGText.cpp:
2056         (WebCore::RenderSVGText::positionForPoint):
2057         * rendering/svg/RenderSVGText.h:
2058
2059 2017-09-26  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2060
2061         [Curl] Introduce CurlResponse to hold response information among threads.
2062         https://bugs.webkit.org/show_bug.cgi?id=177496
2063
2064         Reviewed by Alex Christensen.
2065
2066         * platform/network/curl/AuthenticationChallenge.h:
2067         * platform/network/curl/AuthenticationChallengeCurl.cpp:
2068         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2069         (WebCore::AuthenticationChallenge::protectionSpaceFromHandle):
2070         * platform/network/curl/CurlContext.cpp:
2071         (WebCore::CurlHandle::getHttpConnectCode):
2072         * platform/network/curl/CurlContext.h:
2073         * platform/network/curl/CurlResponse.h: Added.
2074         (WebCore::CurlResponse::isolatedCopy const):
2075         * platform/network/curl/ResourceHandleCurlDelegate.cpp:
2076         (WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
2077         (WebCore::ResourceHandleCurlDelegate::didReceiveContentData):
2078         (WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
2079         (WebCore::ResourceHandleCurlDelegate::didFinish):
2080         (WebCore::ResourceHandleCurlDelegate::handleDataURL):
2081         (WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
2082         (WebCore::isHttpInfo): Deleted.
2083         * platform/network/curl/ResourceHandleCurlDelegate.h:
2084         * platform/network/curl/ResourceResponse.h:
2085         (WebCore::ResourceResponse::ResourceResponse):
2086         (WebCore::ResourceResponse::setResponseFired): Deleted.
2087         (WebCore::ResourceResponse::responseFired): Deleted.
2088         * platform/network/curl/ResourceResponseCurl.cpp:
2089         (WebCore::ResourceResponse::ResourceResponse):
2090         (WebCore::ResourceResponse::appendHTTPHeaderField):
2091         (WebCore::ResourceResponse::setStatusLine):
2092
2093 2017-09-26  Chris Dumez  <cdumez@apple.com>
2094
2095         Make StoredCredentials an enum class and rename its header
2096         https://bugs.webkit.org/show_bug.cgi?id=177455
2097
2098         Reviewed by Youenn Fablet.
2099
2100         Follow-up to r222467, actually make it an enum *class*.
2101
2102         * platform/network/StoredCredentialsPolicy.h:
2103         (): Deleted.
2104
2105 2017-09-26  Daniel Bates  <dabates@apple.com>
2106
2107         Remove extraneous includes of TextRun.h
2108         https://bugs.webkit.org/show_bug.cgi?id=177499
2109
2110         Reviewed by Myles C. Maxfield.
2111
2112         No functionality changed. So, no new tests.
2113
2114         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2115         * platform/mac/DragImageMac.mm:
2116         * platform/text/ios/LocalizedDateCache.mm:
2117         * testing/InternalSettings.cpp:
2118
2119 2017-09-26  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
2120
2121         [PAL] Move Clock into PAL
2122         https://bugs.webkit.org/show_bug.cgi?id=174342
2123
2124         Reviewed by Myles C. Maxfield.
2125
2126         No new tests. No change in behavior.
2127
2128         * CMakeLists.txt:
2129         * WebCore.xcodeproj/project.pbxproj:
2130         * html/MediaController.cpp:
2131         (MediaController::MediaController):
2132         * html/MediaController.h:
2133         * platform/Clock.cpp: Removed.
2134         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2135         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
2136         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2137         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
2138         * platform/mac/PlatformClockCA.cpp: Removed. PlatformClockCA is no longer used.
2139         * platform/mac/PlatformClockCA.h: Removed.
2140
2141 2017-09-26  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2142
2143         [Curl] Change member variable of CurlHandle to use std::unique_ptr
2144         https://bugs.webkit.org/show_bug.cgi?id=177492
2145
2146         Reviewed by Alex Christensen.
2147
2148         * platform/network/curl/CurlDownload.cpp:
2149         (WebCore::CurlDownload::init):
2150         (WebCore::CurlDownload::getResponse const):
2151         (WebCore::CurlDownload::setupTransfer):
2152         (WebCore::CurlDownload::didCompleteTransfer):
2153         (WebCore::CurlDownload::didCancelTransfer):
2154         (WebCore::CurlDownload::didReceiveHeader):
2155         (WebCore::CurlDownload::addHeaders): Deleted.
2156         * platform/network/curl/CurlDownload.h:
2157         * platform/network/curl/ResourceHandleCurlDelegate.cpp:
2158         (WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
2159         (WebCore::ResourceHandleCurlDelegate::start):
2160         (WebCore::ResourceHandleCurlDelegate::setDefersLoading):
2161         (WebCore::ResourceHandleCurlDelegate::setAuthentication):
2162         (WebCore::ResourceHandleCurlDelegate::setupTransfer):
2163         (WebCore::ResourceHandleCurlDelegate::didCompleteTransfer):
2164         (WebCore::ResourceHandleCurlDelegate::didCancelTransfer):
2165         (WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
2166         (WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
2167         (WebCore::ResourceHandleCurlDelegate::setupPOST):
2168         (WebCore::ResourceHandleCurlDelegate::setupPUT):
2169         (WebCore::ResourceHandleCurlDelegate::setupFormData):
2170         (WebCore::ResourceHandleCurlDelegate::applyAuthentication):
2171         (WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
2172         (WebCore::ResourceHandleCurlDelegate::willSetupSslCtx):
2173         (WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
2174         (WebCore::ResourceHandleCurlDelegate::didReceiveData):
2175         * platform/network/curl/ResourceHandleCurlDelegate.h:
2176
2177 2017-09-26  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2178
2179         [Curl] Simplify JobManager's duty and move the tasks to client
2180         for easy handling. Also simlify CurlHandle by not storing internal
2181         error value as a member variable.
2182         https://bugs.webkit.org/show_bug.cgi?id=177466
2183
2184         Reviewed by Alex Christensen.
2185
2186         * platform/network/curl/CurlContext.cpp:
2187         (WebCore::CurlHandle::perform):
2188         (WebCore::CurlHandle::pause):
2189         (WebCore::CurlHandle::getEffectiveURL):
2190         (WebCore::CurlHandle::getPrimaryPort):
2191         (WebCore::CurlHandle::getResponseCode):
2192         (WebCore::CurlHandle::getContentLength):
2193         (WebCore::CurlHandle::getHttpAuthAvail):
2194         (WebCore::CurlHandle::getNetworkLoadMetrics):
2195         * platform/network/curl/CurlContext.h:
2196         (WebCore::CurlHandle::errorCode const): Deleted.
2197         (WebCore::CurlHandle::setErrorCode): Deleted.
2198         * platform/network/curl/CurlDownload.cpp:
2199         (WebCore::CurlDownload::start):
2200         (WebCore::CurlDownload::cancel):
2201         (WebCore::CurlDownload::setupTransfer):
2202         (WebCore::CurlDownload::didCompleteTransfer):
2203         (WebCore::CurlDownload::didCancelTransfer):
2204         (WebCore::CurlDownload::setupRequest): Deleted.
2205         (WebCore::CurlDownload::notifyFinish): Deleted.
2206         (WebCore::CurlDownload::notifyFail): Deleted.
2207         * platform/network/curl/CurlDownload.h:
2208         * platform/network/curl/CurlJobManager.cpp:
2209         (WebCore::CurlJobList::startJobs):
2210         (WebCore::CurlJobList::finishJobs):
2211         (WebCore::CurlJobManager::add):
2212         (WebCore::CurlJobManager::cancel):
2213         (WebCore::CurlJobManager::callOnJobThread):
2214         (WebCore::CurlJobManager::updateJobList):
2215         (WebCore::CurlJobManager::workerThread):
2216         (WebCore::CurlJobList::notifyResult): Deleted.
2217         * platform/network/curl/CurlJobManager.h:
2218         * platform/network/curl/ResourceHandleCurlDelegate.cpp:
2219         (WebCore::ResourceHandleCurlDelegate::start):
2220         (WebCore::ResourceHandleCurlDelegate::cancel):
2221         (WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
2222         (WebCore::ResourceHandleCurlDelegate::setupTransfer):
2223         (WebCore::ResourceHandleCurlDelegate::didCompleteTransfer):
2224         (WebCore::ResourceHandleCurlDelegate::didCancelTransfer):
2225         (WebCore::ResourceHandleCurlDelegate::didFinish):
2226         (WebCore::ResourceHandleCurlDelegate::didFail):
2227         (WebCore::ResourceHandleCurlDelegate::setupRequest): Deleted.
2228         (WebCore::ResourceHandleCurlDelegate::notifyFinish): Deleted.
2229         (WebCore::ResourceHandleCurlDelegate::notifyFail): Deleted.
2230         * platform/network/curl/ResourceHandleCurlDelegate.h:
2231
2232 2017-09-26  Daniel Bates  <dabates@apple.com>
2233
2234         Cleanup: Consolidate non-selection background painting code for text
2235         https://bugs.webkit.org/show_bug.cgi?id=177490
2236
2237         Reviewed by Zalan Bujtas.
2238
2239         Share code to paint the background of a text subrange instead of duplicating
2240         it for text match markers and composition underlines.
2241
2242         Additionally standardize the argument order for various paint functions and
2243         make more paint functions private.
2244
2245         No functionality changed. So, no new tests.
2246
2247         * rendering/InlineTextBox.cpp:
2248         (WebCore::InlineTextBox::paint): Updated code as needed for changes below.
2249         (WebCore::InlineTextBox::paintSelection): Add FIXME comment to fix up this code for
2250         combined text while I am in this file.
2251         (WebCore::InlineTextBox::paintTextSubrangeBackground): Added. Extracted from the common code of
2252         paintCompositionBackground() and paintTextMatchMarker().
2253         (WebCore::InlineTextBox::paintCompositionBackground): Modified to use paintTextSubrangeBackground().
2254         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
2255         (WebCore::InlineTextBox::paintDocumentMarker): Add FIXME comment to fix up this code for
2256         combined and hyphenated text while I am here.
2257         (WebCore::InlineTextBox::paintDocumentMarkers): Update code as needed for changes
2258         above.
2259         * rendering/InlineTextBox.h: Change visibility of paintCompositionBackground(),
2260         paintDocumentMarkers() and paintCompositionUnderline() from protected to private
2261         as no derived class makes use of these functions. Group related functions to
2262         improve readability.
2263
2264 2017-09-26  Dean Jackson  <dino@apple.com>
2265
2266         Unreviewed. Remove hardware concurrency from features list.
2267
2268         * features.json:
2269
2270 2017-09-26  Antti Koivisto  <antti@apple.com>
2271
2272         REGRESSION (222040): Google Maps Street View CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::PropertyWrapperAcceleratedTransform::blend const + 92
2273         https://bugs.webkit.org/show_bug.cgi?id=177485
2274
2275         Reviewed by Zalan Bujtas.
2276
2277         We crash when animating between two different types of transforms because renderer is null for the first frame.
2278
2279         Test: fast/animation/animation-mixed-transform-crash.html
2280
2281         * page/animation/AnimationBase.cpp:
2282         (WebCore::AnimationBase::currentStyle const):
2283
2284             Add a way to get the current style from animations.
2285             This is either the render style or the inital style.
2286
2287         * page/animation/AnimationBase.h:
2288         * page/animation/CSSPropertyAnimation.cpp:
2289         (WebCore::blendFunc):
2290
2291             Renderer may be null when computing the first frame of the animation. Null check.
2292
2293         (WebCore::blendFilter):
2294
2295             Here too.
2296
2297         * page/animation/CompositeAnimation.cpp:
2298         (WebCore::CompositeAnimation::updateTransitions):
2299         * page/animation/ImplicitAnimation.h:
2300         * page/animation/KeyframeAnimation.h:
2301
2302 2017-09-26  Zan Dobersek  <zdobersek@igalia.com>
2303
2304         [EME] Add ClearKey support for persistent session data load and removal
2305         https://bugs.webkit.org/show_bug.cgi?id=177442
2306
2307         Reviewed by Xabier Rodriguez-Calvar.
2308
2309         Implement the session data load and removal for persistent sessions
2310         in the ClearKey implementation of the CDMInstance interface.
2311
2312         CDMInstanceClearKey::loadSession() finds data for the specified session
2313         name, if any, and constructs a corresponding KeyStatusVector object that
2314         holds information about all known keys associated with this session before
2315         dispatching the LoadSessionCallback asynchronously.
2316
2317         CDMInstanceClearKey::removeSessionData() similarly finds the session data,
2318         if any, and then removes it from the state tracker. The key data is still
2319         reused to construct the KeyStatusVector object that holds information
2320         about all the keys that were stored for this session. The key information
2321         is also embedded in the 'license release' JSON message. Both key status
2322         vector and message are then used in the RemoveSessionDataCallback dispatch
2323         that is again done asynchronously.
2324
2325         No new tests -- affected tests have their baselines updated.
2326
2327         * platform/encryptedmedia/clearkey/CDMClearKey.cpp:
2328         (WebCore::CDMInstanceClearKey::loadSession):
2329         (WebCore::CDMInstanceClearKey::removeSessionData):
2330
2331 2017-09-26  Ms2ger  <Ms2ger@igalia.com>
2332
2333         Update compressedTexImage3D to match the signature in the specification.
2334         https://bugs.webkit.org/show_bug.cgi?id=177431
2335
2336         Reviewed by Sam Weinig.
2337
2338         No new tests: not much point in adding tests now; this method doesn't
2339         do anything anyway.
2340
2341         * html/canvas/WebGL2RenderingContext.cpp:
2342         (WebCore::WebGL2RenderingContext::compressedTexImage3D):
2343         * html/canvas/WebGL2RenderingContext.h:
2344         * html/canvas/WebGL2RenderingContext.idl:
2345
2346 2017-09-25  Timothy Horton  <timothy_horton@apple.com>
2347
2348         Fix the macOS WebCore CMake build
2349
2350         * PlatformMac.cmake:
2351
2352 2017-09-25  Alex Christensen  <achristensen@webkit.org>
2353
2354         Make PolicyAction an encodable enum class
2355         https://bugs.webkit.org/show_bug.cgi?id=177480
2356
2357         Reviewed by Antti Koivisto.
2358
2359         * loader/DocumentLoader.cpp:
2360         (WebCore::DocumentLoader::responseReceived):
2361         (WebCore::DocumentLoader::continueAfterContentPolicy):
2362         * loader/FrameLoaderTypes.h:
2363         * loader/PolicyChecker.cpp:
2364         (WebCore::PolicyChecker::checkNavigationPolicy):
2365         (WebCore::PolicyChecker::checkNewWindowPolicy):
2366
2367 2017-09-25  Timothy Horton  <timothy_horton@apple.com>
2368
2369         Fix the macOS WebCore CMake build
2370
2371         * PlatformMac.cmake:
2372
2373 2017-09-25  Frederik Riedel  <riedel@apple.com>
2374
2375         Expose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
2376         https://bugs.webkit.org/show_bug.cgi?id=174394
2377         <rdar://problem/33183504>
2378
2379         Reviewed by Ryosuke Niwa.
2380
2381         * WebCore.xcodeproj/project.pbxproj:
2382         * editing/ios/AutofillElements.cpp: Added.
2383         (WebCore::isAutofillableElement): Returns true if the element is of type text or email.
2384         (WebCore::nextAutofillableElement): Returns the next focusable element that is autofillable.
2385         (WebCore::previousAutofillableElement): Returns the previous focusable element that is autofillable.
2386         (WebCore::AutofillElements::computeAutofillElements): Computes the autofill elements (username & password)
2387         for a given input element.
2388         (WebCore::AutofillElements::autofill): Fills the credentials into the pair of username/password elements.
2389         * editing/ios/AutofillElements.h: Added.
2390
2391 2017-09-25  Devin Rousso  <webkit@devinrousso.com>
2392
2393         Web Inspector: move Console.addInspectedNode to DOM.setInspectedNode
2394         https://bugs.webkit.org/show_bug.cgi?id=176827
2395
2396         Reviewed by Joseph Pecoraro.
2397
2398         Tests: http/tests/inspector/dom/cross-domain-inspected-node-access.html
2399                inspector/dom/setInspectedNode.html
2400
2401         * inspector/InspectorDOMAgent.h:
2402         * inspector/InspectorDOMAgent.cpp:
2403         (WebCore::InspectorDOMAgent::setInspectedNode):
2404
2405         * inspector/PageConsoleAgent.h:
2406         * inspector/PageConsoleAgent.cpp:
2407         (WebCore::PageConsoleAgent::addInspectedNode): Deleted.
2408
2409         * inspector/WorkerConsoleAgent.h:
2410         * inspector/WorkerConsoleAgent.cpp:
2411         (WebCore::WorkerConsoleAgent::addInspectedNode): Deleted.
2412
2413 2017-09-25  Sam Weinig  <sam@webkit.org>
2414
2415         [WebIDL] Factor out IsExceptionOr check from toJS/toJSNewlyCreated signature
2416         https://bugs.webkit.org/show_bug.cgi?id=177457
2417
2418         Reviewed by Youenn Fablet.
2419
2420         Add new type, IsExceptionOr, that factors out the previously repeated logic of determining
2421         if a type is an ExceptionOr template type.
2422
2423         * bindings/js/JSDOMConvertBase.h:
2424         (WebCore::toJS):
2425         (WebCore::toJSNewlyCreated):
2426
2427 2017-09-25  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2428
2429         [Curl] Refactor and improve methods in the CurlHandle
2430         https://bugs.webkit.org/show_bug.cgi?id=177373
2431
2432         Reviewed by Alex Christensen.
2433
2434         * platform/network/curl/CurlContext.cpp:
2435         (WebCore::CurlShareHandle::~CurlShareHandle):
2436         (WebCore::CurlMultiHandle::~CurlMultiHandle):
2437         (WebCore::CurlHandle::~CurlHandle):
2438         (WebCore::CurlHandle::initialize):
2439         (WebCore::CurlHandle::pause):
2440         (WebCore::CurlHandle::setUrl):
2441         (WebCore::CurlHandle::appendRequestHeaders):
2442         (WebCore::CurlHandle::appendRequestHeader):
2443         (WebCore::CurlHandle::removeRequestHeader):
2444         (WebCore::CurlHandle::enableRequestHeaders):
2445         (WebCore::CurlHandle::getContentLength):
2446         (WebCore::CurlHandle::getNetworkLoadMetrics):
2447         (WebCore::CurlHandle::errorDescription const): Deleted.
2448         (WebCore::CurlHandle::clearUrl): Deleted.
2449         (WebCore::CurlHandle::getContentLenghtDownload): Deleted.
2450         (WebCore::CurlHandle::getTimes): Deleted.
2451         * platform/network/curl/CurlContext.h:
2452         (WebCore::CurlHandle::privateData const): Deleted.
2453         (WebCore::CurlHandle::setPrivateData): Deleted.
2454         (WebCore::CurlHandle::url const): Deleted.
2455         * platform/network/curl/CurlDownload.cpp:
2456         (WebCore::CurlDownload::setupRequest):
2457         * platform/network/curl/CurlSSLVerifier.cpp:
2458         (WebCore::CurlSSLVerifier::certVerifyCallback):
2459         * platform/network/curl/ResourceHandleCurlDelegate.cpp:
2460         (WebCore::ResourceHandleCurlDelegate::setupRequest):
2461         (WebCore::ResourceHandleCurlDelegate::setupPUT):
2462         (WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
2463         (WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
2464
2465 2017-09-25  Youenn Fablet  <youenn@apple.com>
2466
2467         WebRTC video does not resume receiving when switching back to Safari 11 on iOS
2468         https://bugs.webkit.org/show_bug.cgi?id=175472
2469         <rdar://problem/33860863>
2470
2471         Reviewed by Darin Adler.
2472
2473         Test: webrtc/video-interruption.html and manual testing.
2474
2475         Using new SetActive method from libwebrtc encoder/decoder to enable/disable them based on interuptions.
2476         For that purpose, LibWebRTCProvider is now storing the peer connection factory and keeping track of the encoder/decoder factories.
2477         LibWebRTCProvider is then notified by WebPage when backgrounded/foregrounded.
2478
2479         * WebCore.xcodeproj/project.pbxproj:
2480         * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
2481         (WebCore::staticFactoryAndThreads):
2482         (WebCore::initializePeerConnectionFactoryAndThreads):
2483         (WebCore::LibWebRTCProvider::factory):
2484         (WebCore::LibWebRTCProvider::setPeerConnectionFactory):
2485         (WebCore::LibWebRTCProvider::createPeerConnection):
2486         (WebCore::LibWebRTCProvider::setActive):
2487         (WebCore::LibWebRTCProvider::webRTCAvailable):
2488         (WebCore::LibWebRTCProvider::mayResumePlayback): Deleted.
2489         (WebCore::LibWebRTCProvider::suspendPlayback): Deleted.
2490         * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
2491         * platform/mediastream/libwebrtc/VideoToolBoxDecoderFactory.cpp: Copied from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp.
2492         (WebCore::VideoToolboxVideoDecoderFactory::setActive):
2493         (WebCore::VideoToolboxVideoDecoderFactory::CreateVideoDecoder):
2494         (WebCore::VideoToolboxVideoDecoderFactory::DestroyVideoDecoder):
2495         * platform/mediastream/libwebrtc/VideoToolBoxDecoderFactory.h: Copied from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h.
2496         * platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp:
2497         (WebCore::VideoToolboxVideoEncoderFactory::setActive):
2498         (WebCore::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
2499         (WebCore::VideoToolboxVideoEncoderFactory::DestroyVideoEncoder):
2500         * platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h:
2501         * testing/Internals.cpp:
2502         (WebCore::Internals::resetToConsistentState):
2503         * testing/MockLibWebRTCPeerConnection.cpp:
2504         (WebCore::useRealRTCPeerConnectionFactory):
2505         (WebCore::useMockRTCPeerConnectionFactory):
2506         * testing/MockLibWebRTCPeerConnection.h:
2507
2508 2017-09-25  Sam Weinig  <sam@webkit.org>
2509
2510         Remove unused EditorClient functions
2511         https://bugs.webkit.org/show_bug.cgi?id=177463
2512
2513         Reviewed by Alex Christensen.
2514
2515         Remove unused EditorClient functions.
2516
2517         * loader/EmptyClients.cpp:
2518         * page/EditorClient.h:
2519
2520 2017-09-25  Per Arne Vollan  <pvollan@apple.com>
2521
2522         Crash in WebCore::TreeScope::documentScope
2523         https://bugs.webkit.org/show_bug.cgi?id=176159
2524
2525         Reviewed by Ryosuke Niwa.
2526
2527         When all children are replaced with a new node in ContainerNode::replaceAllChildren,
2528         the treescope of the new node should be set after the call to willRemoveChildren,
2529         since this call can fire events, and execute JS code, which might change the treescope
2530         of the container node.
2531
2532         Test: fast/dom/crash-moving-subtree-between-documents.html
2533
2534         * dom/ContainerNode.cpp:
2535         (WebCore::ContainerNode::replaceAllChildren):
2536
2537 2017-09-25  Alex Christensen  <achristensen@webkit.org>
2538
2539         Make Attribute an enum class
2540         https://bugs.webkit.org/show_bug.cgi?id=177414
2541
2542         Reviewed by Yusuke Suzuki.
2543
2544         No change in behavior.
2545
2546         * bindings/js/JSDOMGlobalObject.cpp:
2547         (WebCore::JSDOMGlobalObject::addBuiltinGlobals):
2548         * bindings/js/JSDOMMapLike.cpp:
2549         (WebCore::initializeBackingMap):
2550         (WebCore::createBackingMap):
2551         * bindings/js/JSDOMWindowBase.cpp:
2552         (WebCore::JSDOMWindowBase::finishCreation):
2553         * bindings/js/JSDOMWindowCustom.cpp:
2554         (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
2555         (WebCore::JSDOMWindow::getOwnPropertySlot):
2556         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
2557         * bindings/js/JSDOMWindowProperties.cpp:
2558         (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):
2559         * bindings/js/JSImageDataCustom.cpp:
2560         (WebCore::toJSNewlyCreated):
2561         * bindings/js/JSLocationCustom.cpp:
2562         (WebCore::getOwnPropertySlotCommon):
2563         * bindings/js/JSPluginElementFunctions.cpp:
2564         (WebCore::pluginElementCustomGetOwnPropertySlot):
2565         * bindings/scripts/CodeGeneratorJS.pm:
2566         (GenerateIndexedGetter):
2567         (GenerateNamedGetter):
2568         (GetJSCAttributesForAttribute):
2569         (GeneratePropertiesHashTable):
2570         (addUnscopableProperties):
2571         (GenerateImplementation):
2572         (GenerateCallbackImplementationContent):
2573         (GenerateHashTableValueArray):
2574         (GenerateConstructorHelperMethods):
2575         (ComputeFunctionSpecial):
2576         * bindings/scripts/test/JS/JSInterfaceName.cpp:
2577         (WebCore::JSInterfaceNameConstructor::initializeProperties):
2578         * bindings/scripts/test/JS/JSMapLike.cpp:
2579         (WebCore::JSMapLikeConstructor::initializeProperties):
2580         (WebCore::JSMapLikePrototype::finishCreation):
2581         * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
2582         (WebCore::JSReadOnlyMapLikeConstructor::initializeProperties):
2583         (WebCore::JSReadOnlyMapLikePrototype::finishCreation):
2584         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2585         (WebCore::JSTestActiveDOMObjectConstructor::initializeProperties):
2586         * bindings/scripts/test/JS/JSTestCEReactions.cpp:
2587         (WebCore::JSTestCEReactionsConstructor::initializeProperties):
2588         * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
2589         (WebCore::JSTestCEReactionsStringifierConstructor::initializeProperties):
2590         * bindings/scripts/test/JS/JSTestCallTracer.cpp:
2591         (WebCore::JSTestCallTracerConstructor::initializeProperties):
2592         * bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
2593         (WebCore::JSTestCallbackInterfaceConstructor::initializeProperties):
2594         * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
2595         (WebCore::JSTestClassWithJSBuiltinConstructorConstructor::initializeProperties):
2596         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
2597         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::initializeProperties):
2598         (WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
2599         * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
2600         (WebCore::JSTestDOMJITConstructor::initializeProperties):
2601         * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
2602         (WebCore::JSTestEnabledBySettingConstructor::initializeProperties):
2603         (WebCore::JSTestEnabledBySetting::finishCreation):
2604         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2605         (WebCore::JSTestEventConstructorConstructor::initializeProperties):
2606         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2607         (WebCore::JSTestEventTargetConstructor::initializeProperties):
2608         (WebCore::JSTestEventTarget::getOwnPropertySlot):
2609         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
2610         * bindings/scripts/test/JS/JSTestException.cpp:
2611         (WebCore::JSTestExceptionConstructor::initializeProperties):
2612         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2613         (WebCore::JSTestGenerateIsReachableConstructor::initializeProperties):
2614         * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
2615         (WebCore::JSTestGlobalObjectConstructor::initializeProperties):
2616         (WebCore::JSTestGlobalObject::finishCreation):
2617         * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
2618         (WebCore::JSTestIndexedSetterNoIdentifierConstructor::initializeProperties):
2619         (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot):
2620         (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex):
2621         * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
2622         (WebCore::JSTestIndexedSetterThrowingExceptionConstructor::initializeProperties):
2623         (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot):
2624         (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex):
2625         * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
2626         (WebCore::JSTestIndexedSetterWithIdentifierConstructor::initializeProperties):
2627         (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot):
2628         (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex):
2629         * bindings/scripts/test/JS/JSTestInterface.cpp:
2630         (WebCore::JSTestInterfaceConstructor::initializeProperties):
2631         * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
2632         (WebCore::JSTestInterfaceLeadingUnderscoreConstructor::initializeProperties):
2633         * bindings/scripts/test/JS/JSTestIterable.cpp:
2634         (WebCore::JSTestIterableConstructor::initializeProperties):
2635         (WebCore::JSTestIterablePrototype::finishCreation):
2636         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
2637         (WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties):
2638         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2639         (WebCore::JSTestMediaQueryListListenerConstructor::initializeProperties):
2640         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
2641         (WebCore::JSTestNamedAndIndexedSetterNoIdentifierConstructor::initializeProperties):
2642         (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot):
2643         (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex):
2644         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
2645         (WebCore::JSTestNamedAndIndexedSetterThrowingExceptionConstructor::initializeProperties):
2646         (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot):
2647         (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex):
2648         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
2649         (WebCore::JSTestNamedAndIndexedSetterWithIdentifierConstructor::initializeProperties):
2650         (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot):
2651         (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex):
2652         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2653         (WebCore::JSTestNamedConstructorConstructor::initializeProperties):
2654         (WebCore::JSTestNamedConstructorNamedConstructor::initializeProperties):
2655         * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
2656         (WebCore::JSTestNamedDeleterNoIdentifierConstructor::initializeProperties):
2657         (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot):
2658         (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex):
2659         * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
2660         (WebCore::JSTestNamedDeleterThrowingExceptionConstructor::initializeProperties):
2661         (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot):
2662         (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex):
2663         * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
2664         (WebCore::JSTestNamedDeleterWithIdentifierConstructor::initializeProperties):
2665         (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot):
2666         (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex):
2667         * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
2668         (WebCore::JSTestNamedDeleterWithIndexedGetterConstructor::initializeProperties):
2669         (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot):
2670         (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex):
2671         * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
2672         (WebCore::JSTestNamedGetterCallWithConstructor::initializeProperties):
2673         (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot):
2674         (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex):
2675         * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
2676         (WebCore::JSTestNamedGetterNoIdentifierConstructor::initializeProperties):
2677         (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot):
2678         (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex):
2679         * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
2680         (WebCore::JSTestNamedGetterWithIdentifierConstructor::initializeProperties):
2681         (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot):
2682         (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex):
2683         * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
2684         (WebCore::JSTestNamedSetterNoIdentifierConstructor::initializeProperties):
2685         (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot):
2686         (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex):
2687         * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
2688         (WebCore::JSTestNamedSetterThrowingExceptionConstructor::initializeProperties):
2689         (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot):
2690         (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex):
2691         * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
2692         (WebCore::JSTestNamedSetterWithIdentifierConstructor::initializeProperties):
2693         (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot):
2694         (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex):
2695         * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
2696         (WebCore::JSTestNamedSetterWithIndexedGetterConstructor::initializeProperties):
2697         (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot):
2698         (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex):
2699         * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
2700         (WebCore::JSTestNamedSetterWithIndexedGetterAndSetterConstructor::initializeProperties):
2701         (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot):
2702         (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex):
2703         * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
2704         (WebCore::JSTestNamedSetterWithOverrideBuiltinsConstructor::initializeProperties):
2705         (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot):
2706         (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex):
2707         * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
2708         (WebCore::JSTestNamedSetterWithUnforgablePropertiesConstructor::initializeProperties):
2709         (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot):
2710         (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex):
2711         * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
2712         (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor::initializeProperties):
2713         (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot):
2714         (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex):
2715         * bindings/scripts/test/JS/JSTestNode.cpp:
2716         (WebCore::JSTestNodeConstructor::initializeProperties):
2717         (WebCore::JSTestNodePrototype::finishCreation):
2718         * bindings/scripts/test/JS/JSTestObj.cpp:
2719         (WebCore::JSTestObjConstructor::initializeProperties):
2720         (WebCore::JSTestObjPrototype::finishCreation):
2721         (WebCore::JSTestObj::getOwnPropertySlot):
2722         (WebCore::JSTestObj::getOwnPropertySlotByIndex):
2723         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2724         (WebCore::JSTestOverloadedConstructorsConstructor::initializeProperties):
2725         * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
2726         (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::initializeProperties):
2727         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
2728         (WebCore::JSTestOverrideBuiltinsConstructor::initializeProperties):
2729         (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot):
2730         (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex):
2731         * bindings/scripts/test/JS/JSTestPluginInterface.cpp:
2732         (WebCore::JSTestPluginInterfaceConstructor::initializeProperties):
2733         * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
2734         (WebCore::JSTestPromiseRejectionEventConstructor::initializeProperties):
2735         * bindings/scripts/test/JS/JSTestSerialization.cpp:
2736         (WebCore::JSTestSerializationConstructor::initializeProperties):
2737         * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
2738         (WebCore::JSTestSerializationIndirectInheritanceConstructor::initializeProperties):
2739         * bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
2740         (WebCore::JSTestSerializationInheritConstructor::initializeProperties):
2741         * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
2742         (WebCore::JSTestSerializationInheritFinalConstructor::initializeProperties):
2743         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2744         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::initializeProperties):
2745         * bindings/scripts/test/JS/JSTestStringifier.cpp:
2746         (WebCore::JSTestStringifierConstructor::initializeProperties):
2747         * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
2748         (WebCore::JSTestStringifierAnonymousOperationConstructor::initializeProperties):
2749         * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
2750         (WebCore::JSTestStringifierNamedOperationConstructor::initializeProperties):
2751         * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
2752         (WebCore::JSTestStringifierOperationImplementedAsConstructor::initializeProperties):
2753         * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
2754         (WebCore::JSTestStringifierOperationNamedToStringConstructor::initializeProperties):
2755         * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
2756         (WebCore::JSTestStringifierReadOnlyAttributeConstructor::initializeProperties):
2757         * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
2758         (WebCore::JSTestStringifierReadWriteAttributeConstructor::initializeProperties):
2759         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2760         (WebCore::JSTestTypedefsConstructor::initializeProperties):
2761         * bridge/runtime_array.cpp:
2762         (JSC::RuntimeArray::getOwnPropertySlot):
2763         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
2764         * bridge/runtime_method.cpp:
2765         (JSC::RuntimeMethod::getOwnPropertySlot):
2766         * bridge/runtime_object.cpp:
2767         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
2768         * html/HTMLMediaElement.cpp:
2769         (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
2770
2771 2017-09-25  Alex Christensen  <achristensen@webkit.org>
2772
2773         Stop using PolicyCallback
2774         https://bugs.webkit.org/show_bug.cgi?id=176088
2775
2776         Reviewed by Andy Estes.
2777
2778         This is what lambdas are for. No change in behavior.
2779         Cancelling the callback is now the responsibility of the FrameLoaderClient, to whom we have given the lambda.
2780         That is why there are changes in WebKit and WebKitLegacy where the FrameLoaderClient::cancelPolicyCheck finds the lambda it has stored.
2781
2782         * CMakeLists.txt:
2783         * WebCore.xcodeproj/project.pbxproj:
2784         * loader/DocumentLoader.cpp:
2785         * loader/FrameLoader.cpp:
2786         * loader/FrameLoaderClient.h:
2787         * loader/PolicyCallback.cpp: Removed.
2788         * loader/PolicyCallback.h: Removed.
2789         * loader/PolicyChecker.cpp:
2790         (WebCore::PolicyChecker::checkNavigationPolicy):
2791         (WebCore::PolicyChecker::checkNewWindowPolicy):
2792         (WebCore::PolicyChecker::stopCheck):
2793         (WebCore::PolicyChecker::continueAfterNavigationPolicy): Deleted.
2794         * loader/PolicyChecker.h:
2795         (WebCore::PolicyChecker::setSuggestedFilename): Deleted.
2796
2797 2017-09-25  Youenn Fablet  <youenn@apple.com>
2798
2799         MediaStreamTrack.getSettings should compute its deviceId/groupId like enumerateDevices
2800         https://bugs.webkit.org/show_bug.cgi?id=177433
2801
2802         Reviewed by Jer Noble.
2803
2804         Covered by improved test.
2805
2806         Hash the deviceId returned by getSettings as done by enumerateDevices/getUserMedia.
2807         Do the same thing for groupId.
2808         Make sure mock sources have their deviceId set consistently with mock devices.
2809
2810         * Modules/mediastream/MediaStreamTrack.cpp:
2811         (WebCore::MediaStreamTrack::getSettings const):
2812         * Modules/mediastream/MediaStreamTrack.h:
2813         * Modules/mediastream/MediaStreamTrack.idl:
2814         * platform/mediastream/mac/MockRealtimeAudioSourceMac.h:
2815         * platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:
2816         (WebCore::MockRealtimeAudioSource::create):
2817         (WebCore::MockRealtimeAudioSourceMac::MockRealtimeAudioSourceMac):
2818         * platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
2819         * platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
2820         (WebCore::MockRealtimeVideoSource::create):
2821         (WebCore::MockRealtimeVideoSourceMac::MockRealtimeVideoSourceMac):
2822         * platform/mock/MockRealtimeAudioSource.cpp:
2823         (WebCore::MockRealtimeAudioSource::create):
2824         (WebCore::MockRealtimeAudioSource::createMuted):
2825         (WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource):
2826         * platform/mock/MockRealtimeAudioSource.h:
2827         * platform/mock/MockRealtimeVideoSource.cpp:
2828         (WebCore::MockRealtimeVideoSource::create):
2829         (WebCore::MockRealtimeVideoSource::createMuted):
2830         (WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
2831         * platform/mock/MockRealtimeVideoSource.h:
2832
2833 2017-09-25  Chris Dumez  <cdumez@apple.com>
2834
2835         Make StoredCredentials an enum class and rename its header
2836         https://bugs.webkit.org/show_bug.cgi?id=177455
2837
2838         Reviewed by Youenn Fablet.
2839
2840         Make StoredCredentials an enum class and rename its header for clarity. This was error-prone because 0 meant
2841         "allow" and and 1 meant "do not allow". It was trivial to convert it to a boolean by mistake and get the
2842         opposite behavior.
2843
2844         * WebCore.xcodeproj/project.pbxproj:
2845         * css/StyleRuleImport.cpp:
2846         (WebCore::StyleRuleImport::requestStyleSheet):
2847         * loader/CrossOriginAccessControl.cpp:
2848         (WebCore::updateRequestForAccessControl):
2849         (WebCore::createAccessControlPreflightRequest):
2850         (WebCore::passesAccessControlCheck):
2851         (WebCore::validatePreflightResponse):
2852         * loader/CrossOriginAccessControl.h:
2853         * loader/CrossOriginPreflightChecker.cpp:
2854         (WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
2855         (WebCore::CrossOriginPreflightChecker::doPreflight):
2856         * loader/CrossOriginPreflightResultCache.cpp:
2857         (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest const):
2858         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
2859         * loader/CrossOriginPreflightResultCache.h:
2860         (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
2861         * loader/DocumentLoader.cpp:
2862         (WebCore::DocumentLoader::startLoadingMainResource):
2863         * loader/DocumentThreadableLoader.cpp:
2864         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2865         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
2866         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
2867         (WebCore::DocumentThreadableLoader::redirectReceived):
2868         (WebCore::DocumentThreadableLoader::preflightSuccess):
2869         (WebCore::DocumentThreadableLoader::loadRequest):
2870         * loader/FrameLoader.cpp:
2871         (WebCore::FrameLoader::loadResourceSynchronously):
2872         * loader/FrameLoader.h:
2873         * loader/LoaderStrategy.h:
2874         * loader/MediaResourceLoader.cpp:
2875         (WebCore::MediaResourceLoader::requestResource):
2876         * loader/NetscapePlugInStreamLoader.cpp:
2877         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
2878         * loader/ResourceLoader.cpp:
2879         (WebCore::ResourceLoader::shouldUseCredentialStorage):
2880         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2881         * loader/ResourceLoaderOptions.h:
2882         (WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
2883         * loader/SubresourceLoader.cpp:
2884         (WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
2885         (WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
2886         * loader/ThreadableLoader.cpp:
2887         (WebCore::ThreadableLoaderOptions::isolatedCopy const):
2888         * loader/cache/CachedResource.cpp:
2889         (WebCore::CachedResource::loadFrom):
2890         * loader/cache/CachedResourceLoader.cpp:
2891         (WebCore::CachedResourceLoader::defaultCachedResourceOptions):
2892         * loader/cache/CachedResourceRequest.cpp:
2893         (WebCore::CachedResourceRequest::setAsPotentiallyCrossOrigin):
2894         (WebCore::CachedResourceRequest::updateForAccessControl):
2895         * loader/icon/IconLoader.cpp:
2896         (WebCore::IconLoader::startLoading):
2897         * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
2898         (WebCore::WebCoreAVCFResourceLoader::startLoading):
2899         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
2900         (WebCore::WebCoreAVFResourceLoader::startLoading):
2901         * platform/network/BlobRegistryImpl.cpp:
2902         (WebCore::loadBlobResourceSynchronously):
2903         * platform/network/ResourceHandle.cpp:
2904         (WebCore::ResourceHandle::loadResourceSynchronously):
2905         * platform/network/ResourceHandle.h:
2906         * platform/network/StoredCredentialsPolicy.h: Renamed from Source/WebCore/platform/network/ResourceHandleTypes.h.
2907         * platform/network/cf/ResourceHandleCFNet.cpp:
2908         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2909         * platform/network/curl/ResourceHandleCurl.cpp:
2910         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2911         * platform/network/mac/ResourceHandleMac.mm:
2912         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2913         * platform/network/soup/ResourceHandleSoup.cpp:
2914         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2915         * style/StylePendingResources.cpp:
2916         (WebCore::Style::loadPendingImage):
2917         * xml/XSLTProcessorLibxslt.cpp:
2918         (WebCore::docLoaderFunc):
2919         * xml/parser/XMLDocumentParserLibxml2.cpp:
2920         (WebCore::openFunc):
2921
2922 2017-09-25  Sam Weinig  <sam@webkit.org>
2923
2924         Remove unnecessary userVisibleString EditorClient function
2925         https://bugs.webkit.org/show_bug.cgi?id=177456
2926
2927         Reviewed by Dan Bernstein.
2928
2929         The implementation of userVisibleString has been in WebCore for sometime (in WebCoreNSURLExtras)
2930         so there is no need to call through the EditorClient, just for it to call back to WebCore.
2931
2932         * editing/Editor.h:
2933
2934             Keep userVisibleString helper function but make it static, as it no longer needs
2935             any state. It is useful to have this helper, so non-ObjC code in Editor can get a
2936             userVisibleString.
2937
2938         * editing/cocoa/EditorCocoa.mm:
2939         (WebCore::Editor::userVisibleString):
2940
2941             Call through to the WebCoreNSURLExtras implementation.
2942
2943         * editing/mac/EditorMac.mm:
2944         (WebCore::Editor::plainTextFromPasteboard):
2945         (WebCore::Editor::writeImageToPasteboard):
2946         (WebCore::Editor::userVisibleString): Deleted.
2947         * editing/mac/WebContentReaderMac.mm:
2948         (WebCore::WebContentReader::readFilenames):
2949
2950             Replace client calls with direct calls.
2951
2952         * loader/EmptyClients.cpp:
2953         * page/EditorClient.h:
2954
2955             Remove client function.
2956
2957         * testing/Internals.mm:
2958         (WebCore::Internals::userVisibleString):
2959
2960             Replace client call with direct call.
2961
2962 2017-09-25  Timothy Horton  <timothy_horton@apple.com>
2963
2964         Fix the build with <attachment> disabled
2965
2966         * editing/mac/WebContentReaderMac.mm:
2967
2968 2017-09-25  Per Arne Vollan  <pvollan@apple.com>
2969
2970         Unreviewed Windows build fix.
2971
2972         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
2973         (WebCore::InbandTextTrackPrivateAVCF::readNativeSampleBuffer):
2974
2975 2017-09-25  Commit Queue  <commit-queue@webkit.org>
2976
2977         Unreviewed, rolling out r222455.
2978         https://bugs.webkit.org/show_bug.cgi?id=177460
2979
2980         broke iOS build (Requested by alexchristensen on #webkit).
2981
2982         Reverted changeset:
2983
2984         "Add WKContentRuleList notify action type"
2985         https://bugs.webkit.org/show_bug.cgi?id=177013
2986         http://trac.webkit.org/changeset/222455
2987
2988 2017-09-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2989
2990         Building release with -DLOG_DISABLED=0 fails
2991         https://bugs.webkit.org/show_bug.cgi?id=177441
2992
2993         Reviewed by Michael Catanzaro.
2994
2995         No new tests, it is a build fix.
2996
2997         * Modules/indexeddb/IDBKeyPath.cpp:
2998         * Modules/indexeddb/IDBKeyPath.h:
2999
3000 2017-09-25  Brent Fulgham  <bfulgham@apple.com>
3001
3002         Switch back to partitioning (rather than blocking) prevalent origins without interaction
3003         https://bugs.webkit.org/show_bug.cgi?id=177452
3004         <rdar://problem/34632618>
3005
3006         Reviewed by Chris Dumez.
3007
3008         Temporarily revert to "partition-only" behavior, due to site compatibility issues with
3009         full blocking.
3010
3011         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
3012         (WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):
3013
3014 2017-09-25  Alex Christensen  <achristensen@webkit.org>
3015
3016         Separate form submission from PolicyChecker infrastructure
3017         https://bugs.webkit.org/show_bug.cgi?id=177396
3018
3019         Reviewed by Geoffrey Garen.
3020
3021         We used PolicyChecker for WillSubmitForm even though we just need a completion handler
3022         with no parameters.  That is what lambdas and WTF::Functions are for.
3023
3024         No change in behavior.
3025
3026         * loader/EmptyClients.cpp:
3027         (WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
3028         * loader/FrameLoader.cpp:
3029         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3030         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Deleted.
3031         * loader/FrameLoader.h:
3032         * loader/FrameLoaderClient.h:
3033         * loader/PolicyChecker.cpp:
3034         (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm): Deleted.
3035         * loader/PolicyChecker.h:
3036
3037 2017-09-25  Alex Christensen  <achristensen@webkit.org>
3038
3039         Add WKContentRuleList notify action type
3040         https://bugs.webkit.org/show_bug.cgi?id=177013
3041         <rdar://problem/31073936>
3042
3043         Reviewed by Darin Adler.
3044
3045         Covered by new API tests.
3046
3047         * contentextensions/ContentExtensionActions.h:
3048         (WebCore::ContentExtensions::hasStringArgument):
3049         * contentextensions/ContentExtensionCompiler.cpp:
3050         (WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
3051         (WebCore::ContentExtensions::serializeActions):
3052         * contentextensions/ContentExtensionError.cpp:
3053         (WebCore::ContentExtensions::contentExtensionErrorCategory):
3054         * contentextensions/ContentExtensionError.h:
3055         * contentextensions/ContentExtensionParser.cpp:
3056         (WebCore::ContentExtensions::loadAction):
3057         * contentextensions/ContentExtensionRule.cpp:
3058         (WebCore::ContentExtensions::Action::deserialize):
3059         (WebCore::ContentExtensions::Action::deserializeType):
3060         (WebCore::ContentExtensions::Action::serializedLength):
3061         * contentextensions/ContentExtensionRule.h:
3062         (WebCore::ContentExtensions::Action::Action):
3063         * contentextensions/ContentExtensionsBackend.cpp:
3064         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
3065         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):
3066         (WebCore::ContentExtensions::applyBlockedStatusToRequest):
3067         * loader/FrameLoader.cpp:
3068         (WebCore::FrameLoader::loadResourceSynchronously):
3069         * loader/PingLoader.cpp:
3070         (WebCore::processContentExtensionRulesForLoad):
3071         * loader/ResourceLoader.cpp:
3072         (WebCore::ResourceLoader::willSendRequestInternal):
3073         * loader/cache/CachedResourceLoader.cpp:
3074         (WebCore::CachedResourceLoader::requestResource):
3075         * loader/cache/CachedResourceRequest.cpp:
3076         (WebCore::CachedResourceRequest::applyBlockedStatus):
3077         * loader/cache/CachedResourceRequest.h:
3078         * page/ChromeClient.h:
3079
3080 2017-09-25  Sam Weinig  <sam@webkit.org>
3081
3082         [WebIDL] Remove GetterMayThrowException
3083         https://bugs.webkit.org/show_bug.cgi?id=177422
3084
3085         Reviewed by Youenn Fablet.
3086
3087         * bindings/js/JSDOMConvertBase.h:
3088         (WebCore::toJSNewlyCreated):
3089         (WebCore::toJS):
3090
3091             Add overloads of toJS and toJSNewlyCreated that take ThrowScopes and a value that
3092             is not an ExceptionOr (keeping the existing overloads that take an ExceptionOr).
3093             This allows NativeToJSValue to not need to know of a conversion can throw, as the
3094             c++ type system will now make the determination for it.
3095
3096         * bindings/scripts/CodeGeneratorJS.pm:
3097         (GenerateSerializerDefinition):
3098         (NativeToJSValueUsingReferences):
3099         (NativeToJSValueUsingPointers):
3100         (NativeToJSValue):
3101
3102             Always assume an exception can be thrown for attributes now that the converters will
3103             do the right thing based on whether the value is an ExceptionOr or not. Also, remove 
3104             $suppressExceptionCheck and $excludeNullability, they were never being set.
3105
3106         * bindings/scripts/IDLAttributes.json:
3107
3108             Remove GetterMayThrowException from the list of supported extended attributes.
3109
3110         * Modules/indexeddb/IDBRequest.idl:
3111         * Modules/mediasource/SourceBuffer.idl:
3112         * Modules/webdatabase/SQLResultSet.idl:
3113         * bindings/scripts/test/TestObj.idl:
3114         * bindings/scripts/test/TestTypedefs.idl:
3115         * dom/Document.idl:
3116         * html/HTMLInputElement.idl:
3117         * page/DOMWindow.idl:
3118         * page/History.idl:
3119         * svg/SVGLength.idl:
3120         * xml/XMLHttpRequest.idl:
3121         * xml/XPathResult.idl:
3122         
3123             Remove GetterMayThrowException extended attribute from IDL files.
3124
3125         * bindings/scripts/test/JS/JSMapLike.cpp:
3126         * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
3127         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3128         * bindings/scripts/test/JS/JSTestCEReactions.cpp:
3129         * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
3130         * bindings/scripts/test/JS/JSTestCallTracer.cpp:
3131         * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
3132         * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
3133         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3134         * bindings/scripts/test/JS/JSTestException.cpp:
3135         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3136         * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
3137         * bindings/scripts/test/JS/JSTestInterface.cpp:
3138         * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
3139         * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
3140         * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
3141         * bindings/scripts/test/JS/JSTestNode.cpp:
3142         * bindings/scripts/test/JS/JSTestObj.cpp:
3143         * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
3144         * bindings/scripts/test/JS/JSTestSerialization.cpp:
3145         * bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
3146         * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
3147         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3148         * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
3149         * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
3150         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3151
3152             Update test results.
3153
3154 2017-09-25  Timothy Horton  <timothy_horton@apple.com>
3155
3156         Make progress on getting Mac CMake building again
3157         https://bugs.webkit.org/show_bug.cgi?id=177443
3158
3159         Unreviewed, just "fixing" the build.
3160
3161         * PlatformMac.cmake:
3162         Add some missing files and include paths.
3163
3164 2017-09-25  Ms2ger  <Ms2ger@igalia.com>
3165
3166         Update waitSync and the TIMEOUT_IGNORED constant to use signed integers.
3167         https://bugs.webkit.org/show_bug.cgi?id=177239
3168
3169         Reviewed by Žan Doberšek.
3170
3171         This matches the specification.
3172
3173         Test: fast/canvas/webgl/webgl2/constants.html
3174
3175         * html/canvas/WebGL2RenderingContext.cpp:
3176         (WebCore::WebGL2RenderingContext::waitSync):
3177         * html/canvas/WebGL2RenderingContext.h:
3178         * html/canvas/WebGL2RenderingContext.idl:
3179
3180 2017-09-25  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
3181
3182         Align Media Source Extension IDL with spec
3183         https://bugs.webkit.org/show_bug.cgi?id=177369
3184
3185         Reviewed by Sam Weinig.
3186
3187         Align IDL as per specification:
3188          - https://www.w3.org/TR/media-source/
3189
3190         * Modules/mediasource/AudioTrackMediaSource.idl:
3191         * Modules/mediasource/SourceBuffer.idl:
3192         * Modules/mediasource/TextTrackMediaSource.idl:
3193         * Modules/mediasource/VideoTrackMediaSource.idl:
3194
3195 2017-09-25  Manuel Rego Casasnovas  <rego@igalia.com>
3196
3197         [css-grid] Small refactoring adding RenderGrid::contentAlignment()
3198         https://bugs.webkit.org/show_bug.cgi?id=177130
3199
3200         Reviewed by Sergio Villar Senin.
3201
3202         As a follow-up of r221931, this patch does a small refactoring
3203         adding a new method RenderGrid::contentAlignment()
3204         that is used from RenderGrid and GridTrackSizingAlgorithm.
3205
3206         No new tests, no change of behavior.
3207
3208         * rendering/GridTrackSizingAlgorithm.cpp:
3209         (WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
3210         * rendering/RenderGrid.cpp:
3211         (WebCore::contentAlignmentNormalBehaviorGrid):
3212         (WebCore::RenderGrid::contentAlignment const):
3213         (WebCore::RenderGrid::computeContentPositionAndDistributionOffset const):
3214         (WebCore::RenderGrid::contentAlignmentNormalBehaviorGrid): Deleted.
3215         * rendering/RenderGrid.h:
3216         * rendering/style/RenderStyle.cpp:
3217         (WebCore::resolvedContentAlignment):
3218         (WebCore::RenderStyle::resolvedAlignContent const):
3219         (WebCore::RenderStyle::resolvedJustifyContent const):
3220         * rendering/style/RenderStyle.h:
3221
3222 2017-09-25  Manuel Rego Casasnovas  <rego@igalia.com>
3223
3224         [css-grid] fit-content() tracks shouldn't stretch
3225         https://bugs.webkit.org/show_bug.cgi?id=177300
3226
3227         Reviewed by Sergio Villar Senin.
3228
3229         The spec is pretty clear regarding this
3230         (https://drafts.csswg.org/css-grid/#algo-stretch):
3231           "This step sizes expands tracks that have an auto max track sizing
3232            function by dividing any remaining positive, definite free space
3233            equally amongst them."
3234
3235         The fit-content() tracks don't have an auto max track sizing function,
3236         so they shouldn't be considered in this step of the algorithm.
3237
3238         The patch modifies GridTrackSizingAlgorithm::initializeTrackSizes()
3239         so it doesn't consider fit-content() tracks as auto sized ones
3240         (which are the ones later stretched in the last step of the algorithm).
3241
3242         Test: imported/w3c/web-platform-tests/css/css-grid-1/alignment/grid-fit-content-tracks-dont-stretch-001.html
3243
3244         * rendering/GridTrackSizingAlgorithm.cpp:
3245         (WebCore::GridTrackSizingAlgorithm::initializeTrackSizes):
3246         (WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
3247         (WebCore::GridTrackSizingAlgorithm::setup):
3248         (WebCore::GridTrackSizingAlgorithm::reset):
3249         * rendering/GridTrackSizingAlgorithm.h:
3250
3251 2017-09-24  Antti Koivisto  <antti@apple.com>
3252
3253         Remove CSS regions related fields from RenderStyle
3254         https://bugs.webkit.org/show_bug.cgi?id=177415
3255
3256         Reviewed by Sam Weinig.
3257
3258         * css/CSSPrimitiveValueMappings.h:
3259         (WebCore::CSSPrimitiveValue::operator RegionFragment const): Deleted.
3260         * css/StyleResolver.cpp:
3261         (WebCore::StyleResolver::adjustRenderStyle):
3262         * rendering/RenderBlock.cpp:
3263         (WebCore::RenderBlock::avoidsFloats const): Deleted.
3264         * rendering/RenderBlock.h:
3265         * rendering/RenderBlockFlow.cpp:
3266         (WebCore::RenderBlockFlow::hasNextPage const):
3267         * rendering/RenderLayer.cpp:
3268         (WebCore::RenderLayer::calculateClipRects const):
3269         * rendering/style/RenderStyle.cpp:
3270         (WebCore::RenderStyle::changeRequiresLayout const):
3271         * rendering/style/RenderStyle.h:
3272         (WebCore::pseudoElementRendererIsNeeded):
3273         (WebCore::RenderStyle::hasFlowInto const): Deleted.
3274         (WebCore::RenderStyle::flowThread const): Deleted.
3275         (WebCore::RenderStyle::hasFlowFrom const): Deleted.
3276         (WebCore::RenderStyle::regionThread const): Deleted.
3277         (WebCore::RenderStyle::regionFragment const): Deleted.
3278         (WebCore::RenderStyle::setFlowThread): Deleted.
3279         (WebCore::RenderStyle::setRegionThread): Deleted.
3280         (WebCore::RenderStyle::setRegionFragment): Deleted.
3281         (WebCore::RenderStyle::initialFlowThread): Deleted.
3282         (WebCore::RenderStyle::initialRegionThread): Deleted.
3283         (WebCore::RenderStyle::initialRegionFragment): Deleted.
3284         * rendering/style/RenderStyleConstants.h:
3285         * rendering/style/StyleRareNonInheritedData.cpp:
3286         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3287         (WebCore::StyleRareNonInheritedData::operator== const):
3288         * rendering/style/StyleRareNonInheritedData.h:
3289
3290 2017-09-24  Joanmarie Diggs  <jdiggs@igalia.com>
3291
3292         [ATK] Object attributes are missing for ARIA live region roles
3293         https://bugs.webkit.org/show_bug.cgi?id=171174
3294
3295         Reviewed by Chris Fleizach.
3296
3297         Expose the values of aria-live, aria-atomic, and aria-relevant via AtkObject
3298         attributes on live region elements and their descendants. In order to accomplish
3299         exposure on descendants, add AccessibilityObject::ariaLiveRegionAncestor(). Add an
3300         optional argument, excludeIfOff, to AccessibilityObject::isInsideARIALiveRegion()
3301         and AccessibilityObject::supportsARIALiveRegion(). This is needed because we need
3302         to expose live region properties via ATK even in the case where the live region
3303         is disabled/off, but supportsARIALiveRegion() deliberately checks if the live
3304         region is enabled.
3305
3306         Tests: accessibility/aria-liveregion-marquee-default.html
3307                accessibility/aria-liveregions-attributes.html
3308
3309         * accessibility/AccessibilityObject.cpp:
3310         (WebCore::AccessibilityObject::isInsideARIALiveRegion const):
3311         (WebCore::AccessibilityObject::ariaLiveRegionAncestor const):
3312         (WebCore::AccessibilityObject::supportsARIALiveRegion const):
3313         * accessibility/AccessibilityObject.h:
3314         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3315         (webkitAccessibleGetAttributes):
3316
3317 2017-09-23  Youenn Fablet  <youenn@apple.com>
3318
3319         Remove SetterMayThrowException
3320         https://bugs.webkit.org/show_bug.cgi?id=177408
3321
3322         Reviewed by Sam Weinig.
3323
3324         No change of behavior.
3325
3326         Updating IDLs to remove SetterMayThrowException as it is no longer needed.
3327         Updating AttributeSetter to compute the return type using Functor.
3328
3329         * Modules/indexeddb/IDBIndex.idl:
3330         * Modules/indexeddb/IDBObjectStore.idl:
3331         * Modules/mediasource/MediaSource.idl:
3332         * Modules/mediasource/SourceBuffer.idl:
3333         * Modules/mediastream/RTCDataChannel.idl:
3334         * Modules/webaudio/AnalyserNode.idl:
3335         * Modules/webaudio/AudioNode.idl: