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