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