Web Inspector: Include Beacon and Ping requests in Network tab
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2017-10-02  Joseph Pecoraro  <pecoraro@apple.com>
2
3         Web Inspector: Include Beacon and Ping requests in Network tab
4         https://bugs.webkit.org/show_bug.cgi?id=177641
5         <rdar://problem/33086839>
6
7         Reviewed by Chris Dumez.
8
9         Tests: http/tests/inspector/network/beacon-type.html
10                http/tests/inspector/network/ping-type.html
11
12         * Modules/beacon/NavigatorBeacon.cpp:
13         (WebCore::NavigatorBeacon::sendBeacon):
14         Fix a typo.
15
16         * loader/PingLoader.cpp:
17         (WebCore::PingLoader::startPingLoad):
18         * loader/cache/CachedResource.cpp:
19         (WebCore::CachedResource::load):
20         Include InspectorInstrumentation hooks for ping network loads.
21
22         * loader/LoaderStrategy.h:
23         * platform/network/PingHandle.h:
24         Include an optional ResourceResponse in the ping load completion callback.
25         If available this will be enough for Web Inspector to include details such
26         as the response statusCode.
27
28         * inspector/InspectorInstrumentation.cpp:
29         (WebCore::InspectorInstrumentation::willSendRequestOfTypeImpl):
30         (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl): Deleted.
31         * inspector/InspectorInstrumentation.h:
32         (WebCore::InspectorInstrumentation::willSendRequestOfType):
33         (WebCore::InspectorInstrumentation::continueAfterPingLoader): Deleted.
34         * inspector/InspectorNetworkAgent.cpp:
35         (WebCore::resourceTypeForCachedResource):
36         (WebCore::resourceTypeForLoadType):
37         (WebCore::InspectorNetworkAgent::willSendRequest):
38         (WebCore::InspectorNetworkAgent::willSendRequestOfType):
39         * inspector/InspectorNetworkAgent.h:
40         Make a general willSendRequestOfType hook when sending a request that does
41         not go through normal CachedResource loading. The Ping and Beacon requests
42         go through this process, we may also use this path for Preflight requests.
43
44         * inspector/InspectorPageAgent.cpp:
45         (WebCore::InspectorPageAgent::resourceTypeJson):
46         (WebCore::InspectorPageAgent::cachedResourceType):
47         * inspector/InspectorPageAgent.h:
48         Small refactoring.
49
50 2017-10-02  Zalan Bujtas  <zalan@apple.com>
51
52         SelectionRangeData should not hold raw RenderObject pointers
53         https://bugs.webkit.org/show_bug.cgi?id=177677
54         <rdar://problem/34763060>
55
56         Reviewed by Sam Weinig.
57
58         SelectionRangeData::Context start and end renderers' lifetime is not strictly tied
59         to the lifetime of SelectionRangeData.
60
61         Covered by existing tests.
62
63         * editing/FrameSelection.cpp:
64         (WebCore::FrameSelection::updateAppearance):
65         * platform/DragImage.cpp:
66         (WebCore::createDragImageForRange):
67         * rendering/SelectionRangeData.cpp:
68         (WebCore::isValidRendererForSelection):
69         (WebCore::collect):
70         (WebCore::SelectionRangeData::set):
71         (WebCore::SelectionRangeData::clear):
72         (WebCore::SelectionRangeData::repaint const):
73         (WebCore::SelectionRangeData::collectBounds const):
74         (WebCore::SelectionRangeData::apply):
75         * rendering/SelectionRangeData.h:
76         (WebCore::SelectionRangeData::Context::Context):
77         (WebCore::SelectionRangeData::Context::start const):
78         (WebCore::SelectionRangeData::Context::end const):
79         (WebCore::SelectionRangeData::Context::startPosition const):
80         (WebCore::SelectionRangeData::Context::endPosition const):
81         (WebCore::SelectionRangeData::Context::operator== const):
82         (WebCore::SelectionRangeData::start const):
83         (WebCore::SelectionRangeData::end const):
84         (WebCore::SelectionRangeData::startPosition const):
85         (WebCore::SelectionRangeData::endPosition const):
86
87 2017-10-02  Olivier Blin  <olivier.blin@softathome.com>
88
89         [WPE] Remove GnuTLS dependency
90         https://bugs.webkit.org/show_bug.cgi?id=177750
91
92         Reviewed by Michael Catanzaro.
93
94         libgcrypt is used by default instead of GnuTLS.
95         See bug 163125
96
97         * PlatformWPE.cmake:
98
99 2017-10-02  Zalan Bujtas  <zalan@apple.com>
100
101         Addressing post-review comments after r222621
102         https://bugs.webkit.org/show_bug.cgi?id=177610
103
104         Reviewed by Darin Adler.
105
106         * rendering/RenderMenuList.cpp:
107         (RenderMenuList::didUpdateActiveOption):
108
109 2017-10-02  Daniel Bates  <dabates@apple.com>
110
111         Remove length argument from TextPainter::paint()
112         https://bugs.webkit.org/show_bug.cgi?id=177758
113
114         Reviewed by Alex Christensen.
115
116         Have TextPainter.paint() use the length of the specified TextRun as opposed to
117         taking an explicit argument for the length of the TextRun.
118
119         Following r222670 InlineTextBox creates a TextRun with respect to the truncated
120         line. Prior to r222670 InlineTextBox did not do this and hence it had to pass both
121         the TextRun and truncated length to TextPainter.paint() to have the line painted.
122         Code that needs to paint a substring of a TextRun can still do so by using TextPainter.paintRange().
123
124         No functionality changed. So, no new tests.
125
126         * rendering/InlineTextBox.cpp:
127         (WebCore::InlineTextBox::paint):
128         * rendering/SimpleLineLayoutFunctions.cpp:
129         (WebCore::SimpleLineLayout::paintFlow):
130         * rendering/TextPainter.cpp:
131         (WebCore::TextPainter::paint):
132         * rendering/TextPainter.h:
133
134 2017-10-02  Fujii Hironori  <Hironori.Fujii@sony.com>
135
136         [curl] Crashes in CurlRequest::setupPUT()
137         https://bugs.webkit.org/show_bug.cgi?id=177733
138
139         Reviewed by Alex Christensen.
140
141         Tests: http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed.html
142
143         * platform/network/curl/CurlRequest.cpp:
144         (WebCore::CurlRequest::setupPUT): Null-check the result of request.httpBody().
145
146 2017-10-02  Basuke Suzuki  <Basuke.Suzuki@sony.com>
147
148         [CURL] Should handle redirects in WebCore
149         https://bugs.webkit.org/show_bug.cgi?id=21242
150
151         Reviewed by Alex Christensen.
152
153         * platform/network/ResourceHandle.cpp:
154         * platform/network/curl/CurlContext.cpp:
155         (WebCore::CurlHandle::enableAutoReferer): Deleted.
156         * platform/network/curl/CurlContext.h:
157         * platform/network/curl/CurlRequest.cpp:
158         (WebCore::CurlRequest::setupTransfer):
159         (WebCore::CurlRequest::didReceiveHeader):
160         (WebCore::CurlRequest::didReceiveData):
161         * platform/network/curl/ResourceHandleCurl.cpp:
162         (WebCore::ResourceHandle::start):
163         (WebCore::ResourceHandle::continueDidReceiveResponse):
164         (WebCore::ResourceHandle::continueWillSendRequest):
165         * platform/network/curl/ResourceHandleCurlDelegate.cpp:
166         (WebCore::ResourceHandleCurlDelegate::curlDidReceiveResponse):
167         (WebCore::ResourceHandleCurlDelegate::shouldRedirectAsGET):
168         (WebCore::ResourceHandleCurlDelegate::willSendRequest):
169         (WebCore::ResourceHandleCurlDelegate::continueWillSendRequest):
170         (WebCore::ResourceHandleCurlDelegate::continueAfterWillSendRequest):
171         * platform/network/curl/ResourceHandleCurlDelegate.h:
172         * platform/network/curl/ResourceResponse.h:
173         * platform/network/curl/ResourceResponseCurl.cpp:
174         (WebCore::ResourceResponse::shouldRedirect):
175         (WebCore::ResourceResponse::isMovedPermanently const):
176         (WebCore::ResourceResponse::isFound const):
177         (WebCore::ResourceResponse::isSeeOther const):
178         (WebCore::ResourceResponse::isRedirection const): Deleted.
179
180 2017-10-02  Antti Koivisto  <antti@apple.com>
181
182         Crashes with guard malloc under RenderFullScreen::unwrapRenderer
183         https://bugs.webkit.org/show_bug.cgi?id=177760
184
185         Unreviewed.
186
187         * rendering/RenderFullScreen.cpp:
188         (WebCore::RenderFullScreen::unwrapRenderer):
189
190         The assert accesses 'this' after it has been deleted. It is not very valuable so remove the assert.
191
192 2017-10-02  Zan Dobersek  <zdobersek@igalia.com>
193
194         GraphicsContext: remove unused ENABLE(3D_TRANSFORMS) && USE(TEXTURE_MAPPER)
195         https://bugs.webkit.org/show_bug.cgi?id=177757
196
197         Reviewed by Michael Catanzaro.
198
199         Remove three methods from the GraphicsContext class that were conditioned
200         with the ENABLE(3D_TRANSFORMS) and USE(TEXTURE_MAPPER) guards. These aren't
201         used anywhere at this point, but apparently used to be in the TextureMapper
202         implementation.
203
204         * platform/graphics/GraphicsContext.h:
205         * platform/graphics/cairo/GraphicsContextCairo.cpp:
206         (WebCore::GraphicsContext::get3DTransform const): Deleted.
207         (WebCore::GraphicsContext::concat3DTransform): Deleted.
208         (WebCore::GraphicsContext::set3DTransform): Deleted.
209
210 2017-10-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
211
212         [GLib] NetworkStateNotifier implementation missing
213         https://bugs.webkit.org/show_bug.cgi?id=177741
214
215         Reviewed by Carlos Garcia Campos.
216
217         No new tests. The DOM support is already being tested, but we would need a way
218         of simulating a network outage to test GNetworkMonitor.
219
220         * PlatformGTK.cmake: add new file.
221         * PlatformWPE.cmake: add new file.
222         * platform/network/NetworkStateNotifier.cpp: no longer need the empty implementations, all platforms covered.
223         * platform/network/NetworkStateNotifier.h:
224         * platform/network/glib/NetworkStateNotifierGLib.cpp: Added.
225         (WebCore::NetworkStateNotifier::updateStateWithoutNotifying): update the network state using GNetworkMonitor's availability.
226         (WebCore::NetworkStateNotifier::networkChangedCallback): when network-changed is emitted, trigger a state update.
227         (WebCore::NetworkStateNotifier::startObserving): watch GNetworkMonitor's network-changed signal.
228
229 2017-10-02  Olivier Blin  <olivier.blin@softathome.com>
230
231         Fix build with MathML disabled
232         https://bugs.webkit.org/show_bug.cgi?id=177744
233
234         Reviewed by Michael Catanzaro.
235
236         These are regressions from r217549 (StyleResolver) and r221379 (RenderBlockFlow), which do not guard MathML usage.
237
238         * css/StyleResolver.cpp:
239         (WebCore::hasEffectiveDisplayNoneForDisplayContents):
240         * rendering/RenderBlockFlow.cpp:
241         (WebCore::RenderBlockFlow::willCreateColumns const):
242
243 2017-10-02  Yusuke Suzuki  <utatane.tea@gmail.com>
244
245         Use ThreadIdentifier instead of thread::this_thread::get_id
246         https://bugs.webkit.org/show_bug.cgi?id=177729
247
248         Reviewed by Sam Weinig.
249
250         We can use WTF::ThreadIdentifier instead of thread::this_thread::get_id
251         to make use of ThreadIdentifier consistent in WebKit. In the other places,
252         we use ThreadIdentifier for this debugging purpose. And this is the only
253         place using thread::this_thread::get_id for the exact same purpose.
254         Furthermore, thread::this_thread::get_id in Windows platform. So we prefer
255         using ThreadIdentifier than thread::this_thread::get_id.
256
257         * Modules/webdatabase/DatabaseDetails.h:
258         (WebCore::DatabaseDetails::DatabaseDetails):
259         (WebCore::DatabaseDetails::threadID const):
260         * Modules/webdatabase/DatabaseManager.cpp:
261         (WebCore::DatabaseManager::detailsForNameAndOrigin):
262
263 2017-10-02  Antti Koivisto  <antti@apple.com>
264
265         Fix memory leaks in RenderMultiColumnFlow
266         https://bugs.webkit.org/show_bug.cgi?id=177735
267
268         Reviewed by Zalan Bujtas.
269
270         * rendering/RenderMultiColumnFlow.cpp:
271         (WebCore::RenderMultiColumnFlow::evacuateAndDestroy):
272
273             Switch from destroy() to removeFromParentAndDestroy() (they are currently equivalent in practice).
274
275         (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):
276
277             Destroy the placeholders instead of leaking them.
278
279         (WebCore::RenderMultiColumnFlow::handleSpannerRemoval):
280
281             Destroy the placeholder instead of leaking it.
282
283 2017-10-02  Charles Turner  <cturner@igalia.com>
284
285         Try to play AVC codec even if H.264 decoder only advertises byte-stream profile.
286         https://bugs.webkit.org/show_bug.cgi?id=177550
287
288         GStreamer's element factory filters will claim they can't play videos with AVC
289         codec strings, but the elements really are capable of playing them when filters
290         like videoconvert are inserted by playbin. Videos of this variety are in the YouTube
291         2018 EME conformance tests.
292
293         Also replace std::array with a stack array, this saves having to count
294         the number of elements (the compiler does that now) and reduces braces.
295
296         Reviewed by Carlos Alberto Lopez Perez.
297
298         * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
299         (WebCore::codecSet):
300
301 2017-10-02  Tomas Popela  <tpopela@redhat.com>
302
303         [SOUP] Default kerberos authentication credentials are used in ephemeral (private) mode
304         https://bugs.webkit.org/show_bug.cgi?id=177738
305
306         Reviewed by Carlos Garcia Campos.
307
308         If the session is ephemeral then don't enable the Negotiate support in
309         our SoupSession.
310
311         * platform/network/soup/NetworkStorageSessionSoup.cpp: Pass the
312         session ID if it's known to the SoupNetworkSession.
313         (WebCore::NetworkStorageSession::ensurePrivateBrowsingSession):
314         (WebCore::NetworkStorageSession::getOrCreateSoupNetworkSession const):
315         * platform/network/soup/SoupNetworkSession.cpp:
316         (WebCore::SoupNetworkSession::SoupNetworkSession): If the session is
317         ephemeral (based on given session ID) then don't activate the
318         Negotiate support in SoupSession.
319         * platform/network/soup/SoupNetworkSession.h:
320         Change the constructor to accept the PAL::SessionID with the default
321         value set to PAL::SessionID::emptySessionID.
322
323 2017-10-02  Joanmarie Diggs  <jdiggs@igalia.com>
324
325         REGRESSION(r222640) [GTK] Build broken with ATK 2.14
326         https://bugs.webkit.org/show_bug.cgi?id=177634
327
328         Reviewed by Michael Catanzaro.
329
330         Use ATK_CHECK_VERSION to prevent the build failure.
331
332         No new tests. This fixes a downstream build failure.
333
334         * accessibility/atk/AXObjectCacheAtk.cpp:
335         (WebCore::AXObjectCache::postPlatformNotification):
336
337 2017-10-01  Ryosuke Niwa  <rniwa@webkit.org>
338
339         Pasteboard shouldn't add "Files" as a type
340         https://bugs.webkit.org/show_bug.cgi?id=177731
341
342         Reviewed by Wenson Hsieh.
343
344         Removed the platform specific code to add "Files" when there is a file present in platform's pasteboard.
345         DataTransfer::types now adds "Files" automatically when Pasteboard::containsFiles returns true.
346
347         No new tests since there should be no behavioral change.
348
349         * dom/DataTransfer.cpp:
350         (WebCore::DataTransfer::types const):
351         * platform/gtk/PasteboardGtk.cpp:
352         (WebCore::Pasteboard::typesForLegacyUnsafeBindings):
353         * platform/ios/PasteboardIOS.mm:
354         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):
355         * platform/mac/PasteboardMac.mm:
356         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):
357         * platform/win/PasteboardWin.cpp:
358         (WebCore::addMimeTypesForFormat): Removed the code to add "Text" and "URL" as separate types since
359         this is not what the rest of ports do, and this type normalization is now taken care of by DataTransfer
360         since r221063.
361
362 2017-10-02  Ryosuke Niwa  <rniwa@webkit.org>
363
364         Another attempt to fix Windows build after r222697.
365
366         * editing/FrameSelection.cpp:
367         (WebCore::FrameSelection::updateAppearance):
368         * platform/DragImage.cpp:
369         (WebCore::createDragImageForRange):
370         * rendering/SelectionRangeData.cpp:
371         (WebCore::SelectionRangeData::clear):
372         * rendering/SelectionRangeData.h:
373         (WebCore::SelectionRangeData::Context::Context):
374
375 2017-10-02  Ryosuke Niwa  <rniwa@webkit.org>
376
377         Windows build fix attempt after r222697.
378
379         * platform/DragImage.cpp:
380         (WebCore::createDragImageForRange):
381
382 2017-10-02  Ryosuke Niwa  <rniwa@webkit.org>
383
384         Merge readFilenames() and read(PasteboardFileReader)
385         https://bugs.webkit.org/show_bug.cgi?id=177728
386         <rdar://problem/34761725>
387
388         Reviewed by Sam Weinig.
389
390         Generalized PasteboardFileReader to return multiple files instead of just one file, and replaced the use
391         of Pasteboard::readFilenames() with it. Because eliminates the need for finding the list of types to read
392         as files in addition to file names, this patch also removes Pasteboard::typesTreatedAsFiles().
393
394         Note that Pasteboard::readFilenames() continues to exist in macOS and iOS as it's internally used by
395         Pasteboard::read(PasteboardFileReader) in PasteboardCocoa.mm.
396
397         No new tests since there should be no behavioral change.
398
399         * dom/DataTransfer.cpp:
400         (WebCore::DataTransfer::files const): Now makes a single call to Pasteboard::read(PasteboardFileReader)
401         instead of reading filenames and then falling back to it. Also got rid of if-def for drag drop checks
402         since forDrag() and forFileDrag() are always defined since r222688.
403         (WebCore::PasteboardFileTypeReader): Added. Gets the list of all file types.
404         (WebCore::PasteboardFileTypeReader::readFilename): Added. Gets the list of all file types.
405         (WebCore::PasteboardFileTypeReader::readBuffer): Added. Gets the list of all file types.
406         (WebCore::DataTransfer::hasFileOfType): Reimplemented using PasteboardFileTypeReader.
407         * editing/WebCorePasteboardFileReader.cpp:
408         (WebCore::WebCorePasteboardFileReader::readFilename): Added.
409         (WebCore::WebCorePasteboardFileReader::readBuffer): Renamed from read.
410         * editing/WebCorePasteboardFileReader.h:
411         * platform/Pasteboard.h:
412         (WebCore::PasteboardFileReader): Removed the constructor since we no longer specify a specific type to
413         read off of pasteboard, and renamed the existing read function to readBuffer, and added a new variant
414         which takes a filename.
415         * platform/StaticPasteboard.h:
416         * platform/cocoa/PasteboardCocoa.mm:
417         (WebCore::imageTypeToFakeFilename): Return "image/png" for ImageType::TIFF (to do TIFF-to-PNG conversion;
418         see r222656 for why this is needed) now that this function is used to convert directly from image type
419         converted from cocoa type instead of the one reverse-converted from MIME type.
420         (WebCore::mimeTypeToImageType): Deleted.
421         (WebCore::Pasteboard::typesTreatedAsFiles): Deleted.
422         (WebCore::Pasteboard::typesForLegacyUnsafeBindings): Use newly added readTypesWithSecurityCheck.
423         (WebCore::convertTIFFToPNG): Extracted out of read(PasteboardFileReader).
424         (WebCore::Pasteboard::read): Generalized to add filenames as well as image buffers as files. Because now
425         we're concerting Cocoa types to ImageType, we no longer have to detect when TIFF-as-PNG conversion is
426         happening here. We just treat ImageType::TIFF as PNG and do the conversion.
427         (WebCore::Pasteboard::readStringInCustomData): Use newly added readBufferForTypeWithSecurityCheck.
428         (WebCore::Pasteboard::readTypesWithSecurityCheck): Added.
429         (WebCore::Pasteboard::readBufferForTypeWithSecurityCheck): Added.
430         * platform/gtk/PasteboardGtk.cpp:
431         (WebCore::Pasteboard::read): Implemented.
432         (WebCore::Pasteboard::typesTreatedAsFiles): Deleted.
433         (WebCore::Pasteboard::containsFiles): Implemented without calling readFilenames, which has been deleted.
434         (WebCore::Pasteboard::readFilenames): Deleted.
435         * platform/win/PasteboardWin.cpp:
436         (WebCore::Pasteboard::typesTreatedAsFiles): Deleted.
437         (WebCore::PasteboardFileCounter): Added. Used to counts the number of files in the pasteboard.
438         (WebCore::PasteboardFileCounter::readFilename):
439         (WebCore::PasteboardFileCounter::readBuffer):
440         (WebCore::Pasteboard::containsFiles):
441         (WebCore::Pasteboard::read): Moved the code to extract filenames out of readFilenames.
442         (WebCore::Pasteboard::readFilenames): Deleted.
443         * platform/wpe/PasteboardWPE.cpp:
444         (WebCore::Pasteboard::typesTreatedAsFiles): Deleted.
445         (WebCore::Pasteboard::readFilenames): Deleted.
446
447 2017-10-01  Sam Weinig  <sam@webkit.org>
448
449         [Settings] Move remaining simple settings to Settings.in
450         https://bugs.webkit.org/show_bug.cgi?id=177730
451
452         Reviewed by Darin Adler.
453
454         - Adds new option type for Settings.in, 'getter', which allows you to specify
455           a custom name for the setting's getter. For instance, the setting javaEnabled
456           has a custom getter name, 'isJavaEnabled'.
457         - Adds support for WTF::Seconds as a type of setting. Used by only 
458           timeWithoutMouseMovementBeforeHidingControls at the moment.
459         - Moves non-generated settings from Settings.h/cpp that don't require custom
460           action when set, to Settings.in
461
462         * Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py:
463         * Scripts/GenerateSettings/GenerateSettingsHeaderFile.py:
464         * Scripts/GenerateSettings/Settings.py:
465
466             Add support for 'getter' and the Seconds type.
467
468         * WebCore.xcodeproj/project.pbxproj:
469         * platform/text/FontRenderingMode.h: Copied from Source/WebCore/platform/text/TextFlags.h.
470         * platform/text/TextFlags.h:
471         
472             Add FontRenderingMode.h. Moved out of TextFlags.h to be accessible by
473             the settings generator.
474         
475         * page/Settings.cpp:
476         (WebCore::Settings::Settings):
477         (WebCore::Settings::setJavaEnabled): Deleted.
478         (WebCore::Settings::setJavaEnabledForLocalFiles): Deleted.
479         (WebCore::Settings::setPreferMIMETypeForImages): Deleted.
480         (WebCore::Settings::setForcePendingWebGLPolicy): Deleted.
481         (WebCore::Settings::setNeedsAdobeFrameReloadingQuirk): Deleted.
482         (WebCore::Settings::setFontRenderingMode): Deleted.
483         (WebCore::Settings::fontRenderingMode const): Deleted.
484         (WebCore::Settings::setShowTiledScrollingIndicator): Deleted.
485         (WebCore::Settings::setFontFallbackPrefersPictographs): Deleted.
486         (WebCore::Settings::setWebFontsAlwaysFallBack): Deleted.
487         * page/Settings.h:
488         (WebCore::Settings::isJavaEnabled const): Deleted.
489         (WebCore::Settings::isJavaEnabledForLocalFiles const): Deleted.
490         (WebCore::Settings::preferMIMETypeForImages const): Deleted.
491         (WebCore::Settings::needsAcrobatFrameReloadingQuirk const): Deleted.
492         (WebCore::Settings::showTiledScrollingIndicator const): Deleted.
493         (WebCore::Settings::setTouchEventEmulationEnabled): Deleted.
494         (WebCore::Settings::isTouchEventEmulationEnabled const): Deleted.
495         (WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls): Deleted.
496         (WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls const): Deleted.
497         (WebCore::Settings::fontFallbackPrefersPictographs const): Deleted.
498         (WebCore::Settings::webFontsAlwaysFallBack const): Deleted.
499         (WebCore::Settings::setMediaKeysStorageDirectory): Deleted.
500         (WebCore::Settings::mediaKeysStorageDirectory const): Deleted.
501         (WebCore::Settings::setMediaDeviceIdentifierStorageDirectory): Deleted.
502         (WebCore::Settings::mediaDeviceIdentifierStorageDirectory const): Deleted.
503         (WebCore::Settings::applePayEnabled const): Deleted.
504         (WebCore::Settings::setApplePayEnabled): Deleted.
505         (WebCore::Settings::applePayCapabilityDisclosureAllowed const): Deleted.
506         (WebCore::Settings::setApplePayCapabilityDisclosureAllowed): Deleted.
507         (WebCore::Settings::isForcePendingWebGLPolicy const): Deleted.
508         * page/Settings.in:
509
510             Moved hand-written settings to be Settings.in based.
511
512 2017-10-01  Zalan Bujtas  <zalan@apple.com>
513
514         RenderView does not need to be a SelectionSubtreeRoot
515         https://bugs.webkit.org/show_bug.cgi?id=177713
516
517         Reviewed by Darin Adler and Antti Koivisto.
518
519         1. SelectionSubtreeRoot -> SelectionRangeData 
520         2. Move all selection logic from RenderView to SelectionRangeData
521         3. class RenderView : public SelectionSubtreeRoot -> SelectionRangeData m_selection;
522         4. Remove redundant code
523         5. General modernization
524  
525         No change in functionality.
526
527         * editing/FrameSelection.cpp:
528         (WebCore::FrameSelection::setNeedsSelectionUpdate):
529         (WebCore::DragCaretController::nodeWillBeRemoved):
530         (WebCore::FrameSelection::respondToNodeModification):
531         (WebCore::FrameSelection::prepareForDestruction):
532         (WebCore::FrameSelection::focusedOrActiveStateChanged):
533         (WebCore::FrameSelection::updateAppearance):
534         (WebCore::FrameSelection::selectionBounds const):
535         * page/FrameView.cpp:
536         (WebCore::FrameView::paintContentsForSnapshot):
537         * platform/DragImage.cpp:
538         (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
539         (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
540         (WebCore::createDragImageForRange):
541         * rendering/InlineTextBox.cpp:
542         (WebCore::InlineTextBox::selectionState):
543         (WebCore::InlineTextBox::selectionStartEnd const):
544         * rendering/RenderBlock.cpp:
545         (WebCore::RenderBlock::isSelectionRoot const):
546         * rendering/RenderObject.cpp:
547         (WebCore::RenderObject::isSelectionBorder const):
548         * rendering/RenderObject.h:
549         * rendering/RenderReplaced.cpp:
550         (WebCore::RenderReplaced::isSelected const):
551         * rendering/RenderText.cpp:
552         (WebCore::RenderText::collectSelectionRectsForLineBoxes):
553         * rendering/RenderTextLineBoxes.cpp:
554         (WebCore::RenderTextLineBoxes::setSelectionState):
555         * rendering/RenderView.cpp:
556         (WebCore::RenderView::RenderView):
557         (WebCore::SelectionIterator::SelectionIterator): Deleted.
558         (WebCore::SelectionIterator::current const): Deleted.
559         (WebCore::SelectionIterator::next): Deleted.
560         (WebCore::SelectionIterator::checkForSpanner): Deleted.
561         (WebCore::rendererAfterPosition): Deleted.
562         (WebCore::RenderView::selectionBounds const): Deleted.
563         (WebCore::RenderView::subtreeSelectionBounds const): Deleted.
564         (WebCore::RenderView::repaintSelection const): Deleted.
565         (WebCore::RenderView::repaintSubtreeSelection const): Deleted.
566         (WebCore::RenderView::setSelection): Deleted.
567         (WebCore::isValidObjectForNewSelection): Deleted.
568         (WebCore::RenderView::clearSubtreeSelection const): Deleted.
569         (WebCore::RenderView::applySubtreeSelection): Deleted.
570         (WebCore::RenderView::getSelection const): Deleted.
571         (WebCore::RenderView::clearSelection): Deleted.
572         * rendering/RenderView.h:
573         * rendering/SelectionSubtreeRoot.cpp:
574         (WebCore::rendererAfterPosition):
575         (WebCore::SelectionIterator::SelectionIterator):
576         (WebCore::SelectionIterator::current const):
577         (WebCore::SelectionIterator::next):
578         (WebCore::SelectionIterator::checkForSpanner):
579         (WebCore::SelectionRangeData::SelectionRangeData):
580         (WebCore::SelectionRangeData::set):
581         (WebCore::SelectionRangeData::clear):
582         (WebCore::SelectionRangeData::repaint const):
583         (WebCore::SelectionRangeData::bounds const):
584         (WebCore::SelectionRangeData::collectAndClear const):
585         (WebCore::SelectionRangeData::apply):
586         (WebCore::SelectionRangeData::isValidRendererForNewSelection const):
587         (WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot): Deleted.
588         * rendering/SelectionSubtreeRoot.h:
589         (WebCore::SelectionRangeData::Context::operator== const):
590         (WebCore::SelectionRangeData::get const):
591         (WebCore::SelectionRangeData::start const):
592         (WebCore::SelectionRangeData::end const):
593         (WebCore::SelectionRangeData::startPosition const):
594         (WebCore::SelectionRangeData::endPosition const):
595         (WebCore::SelectionSubtreeRoot::OldSelectionData::OldSelectionData): Deleted.
596         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData): Deleted.
597         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart const): Deleted.
598         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos const): Deleted.
599         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd const): Deleted.
600         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos const): Deleted.
601         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions const): Deleted.
602         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection): Deleted.
603         (WebCore::SelectionSubtreeRoot::selectionData): Deleted.
604         (WebCore::SelectionSubtreeRoot::selectionData const): Deleted.
605         (WebCore::SelectionSubtreeRoot::setSelectionData): Deleted.
606
607 2017-10-01  Sam Weinig  <sam@webkit.org>
608
609         [Settings] Enums should not be passed by const reference
610         https://bugs.webkit.org/show_bug.cgi?id=177727
611
612         Reviewed by Darin Adler.
613
614         * Scripts/GenerateSettings/GenerateSettingsImplementationFile.py:
615         * Scripts/GenerateSettings/GenerateSettingsHeaderFile.py:
616         (printGetterAndSetter):
617         
618             Use the new typeIsAggregate predicate to determine whether to
619             use const reference or not.
620         
621         (includeForSetting): Deleted.
622
623             Move includeForSetting to Settings.py with the rest of the Setting
624             helpers.
625
626         * Scripts/GenerateSettings/Settings.py:
627         (mapToIDLType):
628         (typeIsPrimitive):
629         (typeIsAggregate):
630         
631             Add predicate to determine if a setting's type is an aggregate (struct or class)
632             or a primitive. Remove references to size_t, which is not used.
633
634 2017-10-01  Sam Weinig  <sam@webkit.org>
635
636         Add support for DOM aborting (https://dom.spec.whatwg.org/#aborting-ongoing-activities)
637         https://bugs.webkit.org/show_bug.cgi?id=177718
638
639         Reviewed by Darin Adler.
640
641         Adds standalone support for AbortController and AbortSignal. No integration
642         with other specs yet.
643
644         * CMakeLists.txt:
645         * DerivedSources.make:
646         * WebCore.xcodeproj/project.pbxproj:
647         
648             Add new files.
649         
650         * dom/AbortController.cpp: Added.
651         * dom/AbortController.h: Added.
652         * dom/AbortController.idl: Added.
653         * dom/AbortSignal.cpp: Added.
654         * dom/AbortSignal.h: Added.
655         * dom/AbortSignal.idl: Added.
656         
657             Add basic support AbortController and AbortSignal.
658         
659         * dom/EventTargetFactory.in:
660         
661             Add AbortSignal to the list of EventTargets.
662
663 2017-10-01  Antti Koivisto  <antti@apple.com>
664
665         Use WeakPtr for first-letter memory management
666         https://bugs.webkit.org/show_bug.cgi?id=177716
667
668         Reviewed by Darin Adler.
669
670         * rendering/RenderElement.cpp:
671         (WebCore::RenderElement::destroyLeftoverChildren):
672
673             Remove first-letter special case.
674             Use removeAndDestroyChild instead of calling destroy() directly. The latter should
675             eventually stop calling takeChild and assert that the renderer is not in the tree.
676
677         * rendering/RenderTextFragment.cpp:
678         (WebCore::RenderTextFragment::willBeDestroyed):
679         (WebCore::RenderTextFragment::setText):
680         * rendering/RenderTextFragment.h:
681
682             Use WeakPtr.
683
684 2017-10-01  Sam Weinig  <sam@webkit.org>
685
686         XMLHttpRequest's responseXML should be annotated with [Exposed=Window]
687         https://bugs.webkit.org/show_bug.cgi?id=177714
688
689         Reviewed by Darin Adler.
690
691         Tests: imported/w3c/web-platform-tests/XMLHttpRequest/responseType-document-in-worker.html
692                imported/w3c/web-platform-tests/XMLHttpRequest/responseXML-unavailable-in-worker.html
693
694         * xml/XMLHttpRequest.cpp:
695         (WebCore::XMLHttpRequest::responseXML):
696         
697             Replace returning null for non-document contexts with an assertion now
698             that the bindings layer ensures this doesn't get called.
699         
700         (WebCore::XMLHttpRequest::setResponseType):
701         
702             Match the spec and turn attempts to set a responseType of 'document' in
703             non-documents contexts as a no-op.
704         
705         * xml/XMLHttpRequest.idl:
706         
707             Address FIXME and annotate responseXML with [Exposed=Window] now that it
708             is supported.
709
710 2017-09-30  Ryosuke Niwa  <rniwa@webkit.org>
711
712         Don't reveal file URL when pasting an image
713         https://bugs.webkit.org/show_bug.cgi?id=177710
714         <rdar://problem/34757924>
715
716         Reviewed by Wenson Hsieh.
717
718         Fixed the bug by generalizing the code we had for drag & drop to hide string types when there is a file.
719
720         We don't hide string types when customPasteboardDataEnabled() is false to preserve the backwards compatiblity
721         with apps that are relying on being able to read files URLs in the pasteboard.
722
723         Test: editing/pasteboard/paste-image-does-not-reveal-file-url.html
724
725         * dom/DataTransfer.cpp:
726         (WebCore::DataTransfer::getData const): Pretend there is no string data when there is a file in the pasteboard
727         custom pasteboard data is enabled.
728         (WebCore::DataTransfer::setData): Ditto.
729         (WebCore::DataTransfer::types const): Ditto.
730         * dom/DataTransfer.h:
731         (WebCore::DataTransfer::forDrag const): Added for when drag & drop support is disabled at compilation time.
732         (WebCore::DataTransfer::forFileDrag const): Ditto.
733         * platform/Pasteboard.h:
734         * platform/StaticPasteboard.h:
735         * platform/cocoa/PasteboardCocoa.mm:
736         (WebCore::Pasteboard::containsFiles): Added.
737         * platform/gtk/PasteboardGtk.cpp:
738         (WebCore::Pasteboard::containsFiles): Added.
739         * platform/win/PasteboardWin.cpp:
740         (WebCore::Pasteboard::containsFiles): Added.
741         * platform/wpe/PasteboardWPE.cpp:
742         (WebCore::Pasteboard::containsFiles): Added.
743         (WebCore::Pasteboard::readFilenames): Annotated this function with notImplemented().
744
745 2017-09-30  Sam Weinig  <sam@webkit.org>
746
747         [Settings] Replace SettingsMacros.h with a generated base class for Settings
748         https://bugs.webkit.org/show_bug.cgi?id=177681
749
750         Reviewed by Darin Adler.
751
752         - Adds a SettingsGenerated class that Settings inherits from. The new class
753           has the members and getters/setters for all the generated bindings.
754         - Some default values for settings are literals in Settings.in, but rather
755           constants or functions defined externally. These have all been moved to
756           SettingsDefaultValues.h to allow for the script to include them all for
757           SettingsGenerated.
758         - Previously, a few enums were declared in Settings.h for use by Settings.
759           Now that SettingsGenerated needs access, we standarize the same way that
760           exists for the IDL generator; expecting the enum to be in a header of the
761           same name.
762
763         * CMakeLists.txt:
764         * DerivedSources.make:
765         * WebCore.xcodeproj/project.pbxproj:
766         * WebCoreMacros.cmake:
767
768             Add new files / generation steps.
769         
770         * Scripts/GenerateSettings.py:
771         * Scripts/GenerateSettings/GenerateSettings.py:
772         * Scripts/GenerateSettings/GenerateSettingsHeaderFile.py: Added.
773         * Scripts/GenerateSettings/GenerateSettingsImplementationFile.py: Added.
774         * Scripts/GenerateSettings/GenerateSettingsMacrosHeader.py: Removed.
775         * Scripts/GenerateSettings/Settings.py:
776         
777             Replace script to generate SettingsMacros.h with scripts to generate a SettingsGenerated.{h,cpp}.
778         
779         * accessibility/ForcedAccessibilityValue.h: Added.
780         * editing/EditableLinkBehavior.h: Added.
781         * editing/EditingBehavior.h:
782         * editing/EditingBehaviorType.h: Copied from editing/EditingBehaviorTypes.h.
783         * editing/EditingBehaviorTypes.h: Removed.
784         * editing/cocoa/DataDetection.h:
785         * editing/cocoa/DataDetectorTypes.h: Added.
786         * page/DebugOverlayRegions.h: Added.
787         * page/FrameFlattening.h: Added.
788         * page/PDFImageCachingPolicy.h: Added.
789         * page/TextDirectionSubmenuInclusionBehavior.h: Added.
790         * page/UserInterfaceDirectionPolicy.h: Added.
791         * platform/text/TextDirection.h: Added.
792         * platform/text/WritingMode.h:
793
794             Split out enums from Settings.h
795
796         * css/MediaQueryEvaluator.cpp:
797
798             Update for new name of ForcedAccessibilityValue.
799
800         * html/parser/HTMLParserOptions.cpp:
801
802             Update for new name of defaultMaximumHTMLParserDOMTreeDepth.
803
804         * page/Settings.cpp:
805         * page/Settings.h:
806         
807             - Move defaults to SettingsDefaultValues.h (and SettingsDefaultValuesCocoa.mm for defaultTextAutosizingEnabled).
808             - Move enums to their own files.
809             - Inherit from SettingsGenerated.h
810         
811         * page/Settings.in:
812         
813             - Use new 'include' option for javaScriptRuntimeFlags setting to include <runtime/RuntimeFlags.h>,
814               as it doesn't fit the normal idiomatic model.
815             - Replace call to defaultMinimumZoomFontSize() with direct constant access.
816
817         * page/SettingsDefaultValues.h: Added.
818         * page/cocoa/SettingsDefaultValuesCocoa.mm: Added.
819
820             Move default values from Settings to this new file.
821
822         * page/cocoa/SettingsCocoa.mm:
823         
824             Move defaultTextAutosizingEnabled() out of here and into SettingsDefaultValuesCocoa.mm.
825         
826         * style/StyleTreeResolver.cpp:
827
828             - Update for new scoping of defaultMaximumRenderTreeDepth.
829             - Move defaultMaximumRenderTreeDepth from Settings here. This is the only use.
830
831         * testing/InternalSettings.cpp:
832         (WebCore::InternalSettings::forcedColorsAreInvertedAccessibilityValue const):
833         (WebCore::InternalSettings::setForcedColorsAreInvertedAccessibilityValue):
834         (WebCore::InternalSettings::forcedDisplayIsMonochromeAccessibilityValue const):
835         (WebCore::InternalSettings::setForcedDisplayIsMonochromeAccessibilityValue):
836         (WebCore::InternalSettings::forcedPrefersReducedMotionAccessibilityValue const):
837         (WebCore::InternalSettings::setForcedPrefersReducedMotionAccessibilityValue):
838         (WebCore::settingsToInternalSettingsValue): Deleted.
839         (WebCore::internalSettingsToSettingsValue): Deleted.
840         * testing/InternalSettings.h:
841         
842             Replace duplicate definition of ForcedAccessibilityValue with a using declaration
843             and simplify code now that it doesn't need to map between the two enums.
844
845 2017-09-30  Wenson Hsieh  <wenson_hsieh@apple.com>
846
847         [iOS WK2] API test EditorStateTests.ContentViewHasTextInContentEditableElement is a flaky failure
848         https://bugs.webkit.org/show_bug.cgi?id=177698
849
850         Reviewed by Ryosuke Niwa.
851
852         The WebKit2 API test EditorStateTests.ContentViewHasTextInContentEditableElement is currently hitting
853         intermittent failures on test runners. After inserting just an image in the editable element, we would expect
854         that -hasText should return NO because the text content is an empty string, but we find that -hasText is YES.
855         This is because we're bailing on an early return in computeEditableRootHasContentAndPlainText because the
856         EditorState's PostLayoutData contains non-zero characters near the selection, which is incorrect.
857
858         However, upon closer inspection, this is due to a latent bug in the charactersAroundPosition helper function.
859         This function attempts to compute characters before and after the current selection by initializing a Vector
860         of size 3 with the relevant character data, and then sets oneAfter, oneBefore and twoBefore to the UChar32
861         values in the vector. However, in the case where there are less than three characters, we end up assigning
862         the uninitialized values in the vector to one or more of oneAfter, oneBefore and twoBefore, which causes the
863         helper added in r222654 to bail early when it should not.
864
865         To fix this, we initialize the values in `characters` to 0 (which is the initial value for the 3 corresponding
866         members in the PostLayoutData struct). We also turn `characters` into a UChar32 array on the stack, to avoid the
867         heap allocations using a Vector<UChar32>.
868
869         No new tests; fixes a flaky API test.
870
871         * editing/VisibleUnits.cpp:
872         (WebCore::charactersAroundPosition):
873
874 2017-09-30  Antti Koivisto  <antti@apple.com>
875
876         Add makeWeakPtr for easier WeakPtr construction
877         https://bugs.webkit.org/show_bug.cgi?id=177706
878
879         Reviewed by Sam Weinig.
880
881         Use it in render tree.
882
883         * loader/SubframeLoader.cpp:
884         (WebCore::SubframeLoader::loadPlugin):
885         * page/FrameView.cpp:
886         (WebCore::FrameView::updateEmbeddedObject):
887         * rendering/RenderMultiColumnFlow.cpp:
888         (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):
889         * rendering/RenderObject.h:
890         (WebCore::RenderObject::weakFactory const):
891         (WebCore::RenderObject::createWeakPtr): Deleted.
892         * rendering/RenderView.cpp:
893         (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
894         * rendering/RenderWidget.cpp:
895         (WebCore::RenderWidget::setWidgetGeometry):
896         (WebCore::RenderWidget::setWidget):
897         (WebCore::RenderWidget::updateWidgetPosition):
898
899 2017-09-30  Ryosuke Niwa  <rniwa@webkit.org>
900
901         Share more pasteboard code between iOS and macOS and remove dependency on Settings
902         https://bugs.webkit.org/show_bug.cgi?id=177700
903
904         Reviewed by Wenson Hsieh.
905
906         Moved more code from PasteboardIOS.mm and PasteboardMac.mm into PasteboardCocoa.mm to share code.
907
908         This patch also removes the layering violation inadvertently introduced in r222595 whereby which
909         Pasteboard code depends on Settings. To do this, this patch splits readStringForBindings is into
910         readString and readStringInCustomData and typesForBindings into typesSafeForBindings and
911         typesForLegacyUnsafeBindings, and moves the logic to decide whether a given type or string is read
912         off of the native pasteboard entry or our custom data entry is moved to DataTransfer.
913
914         No new tests since there should be no behavioral change.
915
916         * dom/DataTransfer.cpp:
917         (WebCore::DataTransfer::getData const): Moved the code to decide whether string is
918         read off of custom data or native pasteboard from readStringForBindings.
919         (WebCore::DataTransfer::types const): Ditto from typesForBindings.
920         * platform/Pasteboard.cpp:
921         (WebCore::Pasteboard::isSafeTypeForDOMToReadAndWrite): Moved into Pasteboard.
922         * platform/Pasteboard.h:
923         * platform/StaticPasteboard.cpp:
924         (WebCore::StaticPasteboard::readString): Renamed from readStringForBindings.
925         (WebCore::StaticPasteboard::readStringInCustomData): Added.
926         (WebCore::StaticPasteboard::writeString):
927         * platform/StaticPasteboard.h:
928         * platform/cocoa/PasteboardCocoa.mm:
929         (WebCore::Pasteboard::typesSafeForBindings): Extracted out of typesForBindings in PasteboardIOS.mm
930         and PasteboardMac.mm.
931         (WebCore::Pasteboard::typesForLegacyUnsafeBindings): Ditto.
932         (WebCore::Pasteboard::readString): Ditto.
933         (WebCore::Pasteboard::readStringInCustomData): Ditto.
934         (WebCore::Pasteboard::writeCustomData): Moved here from PasteboardIOS.mm and PasteboardCocoa.mm.
935         (WebCore::Pasteboard::changeCount const): Ditto.
936         * platform/gtk/PasteboardGtk.cpp:
937         (WebCore::Pasteboard::typesSafeForBindings): Added.
938         (WebCore::Pasteboard::typesForLegacyUnsafeBindings): Renamed from readStringForBindings.
939         (WebCore::Pasteboard::readString):
940         (WebCore::Pasteboard::readStringInCustomData): Added.
941         * platform/ios/PasteboardIOS.mm:
942         (WebCore::Pasteboard::writeCustomData): Moved to PasteboardCocoa.mm.
943         (WebCore::Pasteboard::changeCount const): Ditto.
944         (WebCore::Pasteboard::readPlatformValueAsString): Moved into Pasteboard.
945         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType): Ditto.
946         (WebCore::Pasteboard::readStringForBindings): Moved to PasteboardCocoa.mm.
947         (WebCore::Pasteboard::typesForBindings): Ditto.
948         * platform/ios/PlatformPasteboardIOS.mm:
949         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
950         * platform/mac/PasteboardMac.mm:
951         (WebCore::Pasteboard::changeCount const): Moved to PasteboardCocoa.mm.
952         (WebCore::Pasteboard::writeCustomData): Ditto.
953         (WebCore::Pasteboard::readPlatformValueAsString): Moved into Pasteboard.
954         (WebCore::Pasteboard::readStringForBindings): Moved to PasteboardCocoa.mm.
955         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType): Moved into Pasteboard.
956         (WebCore::Pasteboard::typesForBindings): Moved to PasteboardCocoa.mm.
957         * platform/mac/PlatformPasteboardMac.mm:
958         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
959         * platform/win/PasteboardWin.cpp:
960         (WebCore::Pasteboard::typesSafeForBindings): Added.
961         (WebCore::Pasteboard::typesForLegacyUnsafeBindings): Renamed from readStringForBindings.
962         (WebCore::Pasteboard::readString): Renamed from readStringForBindings.
963         (WebCore::Pasteboard::readStringInCustomData): Added.
964         * platform/wpe/PasteboardWPE.cpp:
965         (WebCore::Pasteboard::typesSafeForBindings): Added.
966         (WebCore::PasteboardtypesForLegacyUnsafeBindings): Renamed from readStringForBindings.
967         (WebCore::Pasteboard::readString): Renamed from readStringForBindings.
968         (WebCore::Pasteboard::readStringInCustomData): Added.
969
970 2017-09-29  Antti Koivisto  <antti@apple.com>
971
972         Use smart pointers for creating, adding and removing renderers
973         https://bugs.webkit.org/show_bug.cgi?id=177603
974
975         Reviewed by Zalan Bujtas.
976
977         With this patch RenderObject ownership is consistently managed using RenderPtrs. It also
978         clarifies that in-tree renderers are always owned by the parent renderer.
979
980         - renderers are constructed with createRenderer<> which returns RenderPtr
981         - addChild and related functions take RenderPtrs
982         - removeChild is replaced with takeChild that returns a RenderPtr
983         - only addChildInternal/takeChildInternal deal with raw ownder renderer pointers.
984
985         There are still a few exception left, noted below, to be fixed later.
986
987         * dom/Document.cpp:
988         (WebCore::Document::webkitWillEnterFullScreenForElement):
989         * rendering/RenderBlock.cpp:
990         (WebCore::RenderBlock::addChildToContinuation):
991         (WebCore::RenderBlock::addChild):
992         (WebCore::RenderBlock::addChildIgnoringContinuation):
993         (WebCore::RenderBlock::makeChildrenNonInline):
994         (WebCore::RenderBlock::dropAnonymousBoxChild):
995         (WebCore::RenderBlock::takeChild):
996         (WebCore::RenderBlock::createAnonymousBlockWithStyleAndDisplay):
997         (WebCore::RenderBlock::removeChild): Deleted.
998         * rendering/RenderBlock.h:
999         (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
1000         (WebCore::RenderBlock::createAnonymousBoxWithSameTypeAs const):
1001         (WebCore::RenderBlock::createAnonymousBlock const):
1002         * rendering/RenderBlockFlow.cpp:
1003         (WebCore::RenderBlockFlow::addChild):
1004         (WebCore::RenderBlockFlow::takeChild):
1005         (WebCore::RenderBlockFlow::removeChild): Deleted.
1006         * rendering/RenderBlockFlow.h:
1007         * rendering/RenderBox.cpp:
1008         (WebCore::RenderBox::splitAnonymousBoxesAroundChild):
1009         * rendering/RenderBox.h:
1010         (WebCore::RenderBox::createAnonymousBoxWithSameTypeAs const):
1011         * rendering/RenderBoxModelObject.cpp:
1012         (WebCore::RenderBoxModelObject::moveChildTo):
1013         * rendering/RenderButton.cpp:
1014         (WebCore::RenderButton::addChild):
1015         (WebCore::RenderButton::takeChild):
1016         (WebCore::RenderButton::setText):
1017         (WebCore::RenderButton::removeChild): Deleted.
1018         * rendering/RenderButton.h:
1019         * rendering/RenderElement.cpp:
1020         (WebCore::RenderElement::addChild):
1021         (WebCore::RenderElement::takeChild):
1022         (WebCore::RenderElement::removeAndDestroyChild):
1023         (WebCore::RenderElement::destroyLeftoverChildren):
1024
1025             Keep the existing behavior and leak the firstLetter renderer. The comment claims they get destroyed by RenderTextFragment.
1026             To be cleaned up later.
1027
1028         (WebCore::RenderElement::insertChildInternal):
1029         (WebCore::RenderElement::takeChildInternal):
1030         (WebCore::RenderElement::handleDynamicFloatPositionChange):
1031         (WebCore::RenderElement::removeChild): Deleted.
1032         (WebCore::RenderElement::removeChildInternal): Deleted.
1033         * rendering/RenderElement.h:
1034         (WebCore::RenderElement::addChildIgnoringContinuation):
1035         * rendering/RenderFullScreen.cpp:
1036         (WebCore::RenderFullScreen::willBeDestroyed):
1037         (WebCore::RenderFullScreen::wrapNewRenderer):
1038         (WebCore::RenderFullScreen::wrapExistingRenderer):
1039
1040             Split wrapRenderer() into two functions, wrapNewRenderer() and wrapExistingRenderer().
1041             The first one deals with adding new renderers to the tree while the latter mutates
1042             existing render tree in-place.
1043
1044         (WebCore::RenderFullScreen::unwrapRenderer):
1045         (WebCore::RenderFullScreen::createPlaceholder):
1046         (WebCore::RenderFullScreen::wrapRenderer): Deleted.
1047         * rendering/RenderFullScreen.h:
1048         * rendering/RenderGrid.cpp:
1049         (WebCore::RenderGrid::addChild):
1050         (WebCore::RenderGrid::takeChild):
1051         (WebCore::RenderGrid::removeChild): Deleted.
1052         * rendering/RenderGrid.h:
1053         * rendering/RenderInline.cpp:
1054         (WebCore::RenderInline::addChild):
1055         (WebCore::RenderInline::addChildIgnoringContinuation):
1056         (WebCore::RenderInline::splitInlines):
1057         (WebCore::RenderInline::splitFlow):
1058         (WebCore::RenderInline::addChildToContinuation):
1059         (WebCore::RenderInline::childBecameNonInline):
1060         * rendering/RenderInline.h:
1061         * rendering/RenderMenuList.cpp:
1062         (WebCore::RenderMenuList::createInnerBlock):
1063         (RenderMenuList::addChild):
1064         (RenderMenuList::takeChild):
1065         (RenderMenuList::setText):
1066         (RenderMenuList::removeChild): Deleted.
1067         * rendering/RenderMenuList.h:
1068         * rendering/RenderMultiColumnFlow.cpp:
1069         (WebCore::RenderMultiColumnFlow::evacuateAndDestroy):
1070         (WebCore::RenderMultiColumnFlow::processPossibleSpannerDescendant):
1071         (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):
1072
1073             Keep the existing behavior and leak the placeholder renderer.
1074             To be cleaned up later.
1075
1076         (WebCore::RenderMultiColumnFlow::handleSpannerRemoval):
1077
1078             Keep the existing behavior and leak the placeholder renderer.
1079             To be cleaned up later.
1080
1081         * rendering/RenderMultiColumnSpannerPlaceholder.cpp:
1082         (WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
1083         * rendering/RenderMultiColumnSpannerPlaceholder.h:
1084         * rendering/RenderObject.cpp:
1085         (WebCore::RenderObject::removeFromParentAndDestroy):
1086         (WebCore::RenderObject::willBeDestroyed):
1087         (WebCore::RenderObject::destroy):
1088         (WebCore::RenderObject::removeFromParent): Deleted.
1089         * rendering/RenderObject.h:
1090         * rendering/RenderQuote.cpp:
1091         (WebCore::RenderQuote::updateTextRenderer):
1092         * rendering/RenderRuby.cpp:
1093         (WebCore::createAnonymousRubyInlineBlock):
1094         (WebCore::RenderRubyAsInline::addChild):
1095         (WebCore::RenderRubyAsInline::takeChild):
1096         (WebCore::RenderRubyAsBlock::addChild):
1097         (WebCore::RenderRubyAsBlock::takeChild):
1098         (WebCore::RenderRubyAsInline::removeChild): Deleted.
1099         (WebCore::RenderRubyAsBlock::removeChild): Deleted.
1100         * rendering/RenderRuby.h:
1101         * rendering/RenderRubyBase.cpp:
1102         (WebCore::RenderRubyBase::moveInlineChildren):
1103         * rendering/RenderRubyRun.cpp:
1104         (WebCore::RenderRubyRun::rubyBaseSafe):
1105         (WebCore::RenderRubyRun::addChild):
1106         (WebCore::RenderRubyRun::takeChild):
1107         (WebCore::RenderRubyRun::createRubyBase const):
1108         (WebCore::RenderRubyRun::staticCreateRubyRun):
1109         (WebCore::RenderRubyRun::removeChild): Deleted.
1110         * rendering/RenderRubyRun.h:
1111         * rendering/RenderTable.cpp:
1112         (WebCore::RenderTable::addChild):
1113         (WebCore::RenderTable::createTableWithStyle):
1114         (WebCore::RenderTable::createAnonymousWithParentRenderer):
1115         * rendering/RenderTable.h:
1116         (WebCore::RenderTable::createAnonymousBoxWithSameTypeAs const):
1117         * rendering/RenderTableCell.cpp:
1118         (WebCore::RenderTableCell::createTableCellWithStyle):
1119         (WebCore::RenderTableCell::createAnonymousWithParentRenderer):
1120         * rendering/RenderTableCell.h:
1121         (WebCore::RenderTableCell::createAnonymousBoxWithSameTypeAs const):
1122         * rendering/RenderTableRow.cpp:
1123         (WebCore::RenderTableRow::addChild):
1124         (WebCore::RenderTableRow::createTableRowWithStyle):
1125         (WebCore::RenderTableRow::createAnonymousWithParentRenderer):
1126         * rendering/RenderTableRow.h:
1127         (WebCore::RenderTableRow::createAnonymousBoxWithSameTypeAs const):
1128         * rendering/RenderTableSection.cpp:
1129         (WebCore::RenderTableSection::addChild):
1130         (WebCore::RenderTableSection::createTableSectionWithStyle):
1131         (WebCore::RenderTableSection::createAnonymousWithParentRenderer):
1132         * rendering/RenderTableSection.h:
1133         (WebCore::RenderTableSection::createAnonymousBoxWithSameTypeAs const):
1134         * rendering/mathml/RenderMathMLFenced.cpp:
1135         (WebCore::RenderMathMLFenced::makeFences):
1136         (WebCore::RenderMathMLFenced::addChild):
1137         * rendering/mathml/RenderMathMLFenced.h:
1138         * rendering/svg/RenderSVGContainer.cpp:
1139         (WebCore::RenderSVGContainer::addChild):
1140         (WebCore::RenderSVGContainer::takeChild):
1141         (WebCore::RenderSVGContainer::removeChild): Deleted.
1142         * rendering/svg/RenderSVGContainer.h:
1143         * rendering/svg/RenderSVGInline.cpp:
1144         (WebCore::RenderSVGInline::addChild):
1145         (WebCore::RenderSVGInline::takeChild):
1146         (WebCore::RenderSVGInline::removeChild): Deleted.
1147         * rendering/svg/RenderSVGInline.h:
1148         * rendering/svg/RenderSVGRoot.cpp:
1149         (WebCore::RenderSVGRoot::addChild):
1150         (WebCore::RenderSVGRoot::takeChild):
1151         (WebCore::RenderSVGRoot::removeChild): Deleted.
1152         * rendering/svg/RenderSVGRoot.h:
1153         * rendering/svg/RenderSVGText.cpp:
1154         (WebCore::RenderSVGText::addChild):
1155         (WebCore::RenderSVGText::takeChild):
1156         (WebCore::RenderSVGText::removeChild): Deleted.
1157         * rendering/svg/RenderSVGText.h:
1158         * style/RenderTreePosition.h:
1159         (WebCore::RenderTreePosition::insert):
1160         * style/RenderTreeUpdater.cpp:
1161         (WebCore::RenderTreeUpdater::createRenderer):
1162         (WebCore::createTextRenderer):
1163         * style/RenderTreeUpdaterFirstLetter.cpp:
1164         (WebCore::updateFirstLetterStyle):
1165         (WebCore::createFirstLetterRenderer):
1166         * style/RenderTreeUpdaterGeneratedContent.cpp:
1167         (WebCore::createContentRenderers):
1168         * style/RenderTreeUpdaterListItem.cpp:
1169         (WebCore::RenderTreeUpdater::ListItem::updateMarker):
1170         * style/RenderTreeUpdaterMultiColumn.cpp:
1171         (WebCore::RenderTreeUpdater::MultiColumn::createFragmentedFlow):
1172
1173 2017-09-29  Zalan Bujtas  <zalan@apple.com>
1174
1175         Remove redundant RenderObject::selectionRoot and dependencies
1176         https://bugs.webkit.org/show_bug.cgi?id=177696
1177
1178         Reviewed by Ryosuke Niwa.
1179
1180         There's only one selection root (RenderView).
1181
1182         * rendering/InlineTextBox.cpp:
1183         (WebCore::InlineTextBox::selectionState):
1184         (WebCore::InlineTextBox::selectionStartEnd const):
1185         * rendering/RenderObject.cpp:
1186         (WebCore::RenderObject::selectionRoot const): Deleted.
1187         (WebCore::RenderObject::selectionStartEnd const): Deleted.
1188         * rendering/RenderObject.h:
1189         * rendering/RenderReplaced.cpp:
1190         (WebCore::RenderReplaced::isSelected const):
1191         * rendering/RenderText.cpp:
1192         (WebCore::RenderText::collectSelectionRectsForLineBoxes):
1193         * rendering/RenderTextLineBoxes.cpp:
1194         (WebCore::RenderTextLineBoxes::setSelectionState):
1195         * rendering/RenderView.h:
1196         * rendering/SelectionSubtreeRoot.h:
1197
1198 2017-09-29  Chris Dumez  <cdumez@apple.com>
1199
1200         http/tests/preconnect/link-rel-preconnect-https.html is flaky
1201         https://bugs.webkit.org/show_bug.cgi?id=177673
1202
1203         Reviewed by Alex Christensen.
1204
1205         No new tests, unskipped test that is now passing consistently.
1206
1207         * loader/LinkLoader.cpp:
1208         (WebCore::LinkLoader::loadLink):
1209         * loader/LoaderStrategy.h:
1210
1211 2017-09-29  Daniel Bates  <dabates@apple.com>
1212
1213         Extract logic to compute text to render into common function
1214         https://bugs.webkit.org/show_bug.cgi?id=177607
1215
1216         Reviewed by Zalan Bujtas.
1217
1218         Currently we duplicate the logic to compute the text to render
1219         throughout InlineTextBox. Instead we should move this common
1220         code into a member function. This will allow us to audit the
1221         the code paths that render text and ensure such code paths
1222         account for hyphenation and combined text, if applicable.
1223
1224         Note that a TextRun does not own the text. The caller owns it.
1225
1226         No functionality changed. So, no new tests.
1227
1228         * rendering/InlineTextBox.cpp:
1229         (WebCore::InlineTextBox::localSelectionRect const): Modified to
1230         use text() and createTextRun() to compute the text to render
1231         and the text run for it.
1232         (WebCore::InlineTextBox::paint): Ditto.
1233         (WebCore::InlineTextBox::paintSelection): Ditto. Additionally query
1234         lineStyle() for the style of the line instead of requiring it to be
1235         passed as an argument.
1236         (WebCore::InlineTextBox::paintTextSubrangeBackground): Modified
1237         to use text() and createTextRun() to compute the text to render
1238         and the text run for it.
1239         (WebCore::InlineTextBox::paintDocumentMarker): Ditto.
1240         (WebCore::InlineTextBox::offsetForPosition const): Ditto.
1241         (WebCore::InlineTextBox::positionForOffset const): Ditto.
1242         (WebCore::InlineTextBox::createTextRun const): Added; formerly named constructTextRun.
1243         (WebCore::InlineTextBox::text const): Added.
1244         (WebCore::InlineTextBox::substringToRender const): Deleted.
1245         (WebCore::InlineTextBox::hyphenatedStringForTextRun const): Deleted.
1246         (WebCore::InlineTextBox::constructTextRun const): Deleted.
1247         * rendering/InlineTextBox.h:
1248         (WebCore::InlineTextBox::substringToRender): Deleted.
1249         (WebCore::InlineTextBox::hyphenatedStringForTextRun): Deleted.
1250         (WebCore::InlineTextBox::constructTextRun): Deleted; renamed to createTextRun.
1251
1252 2017-09-29  Zalan Bujtas  <zalan@apple.com>
1253
1254         Remove SelectionSubtreeRoot::RenderSubtreesMap
1255         https://bugs.webkit.org/show_bug.cgi?id=177685
1256
1257         Reviewed by Andy Estes.
1258
1259         This is in preparation of removing redundant SelectionSubtreeRoot.
1260         (Now that we removed regions, RenderView is the only selection root) 
1261
1262         No change in functionality.
1263
1264         * rendering/RenderView.cpp:
1265         (WebCore::RenderView::selectionBounds const):
1266         (WebCore::RenderView::subtreeSelectionBounds const):
1267         (WebCore::RenderView::repaintSelection const):
1268         (WebCore::RenderView::repaintSubtreeSelection const):
1269         (WebCore::RenderView::setSelection):
1270         (WebCore::isValidObjectForNewSelection):
1271         (WebCore::RenderView::clearSubtreeSelection const):
1272         (WebCore::RenderView::applySubtreeSelection):
1273         (WebCore::RenderView::updateSelectionForSubtrees): Deleted.
1274         * rendering/RenderView.h:
1275         * rendering/SelectionSubtreeRoot.h:
1276
1277 2017-09-29  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1278
1279         [Curl] Extract a features to manage HTTP communication from ResourceHandle
1280         https://bugs.webkit.org/show_bug.cgi?id=175148
1281
1282         Reviewed by Alex Christensen.
1283
1284         * platform/Curl.cmake:
1285         * platform/network/curl/CurlRequest.cpp: Added.
1286         (WebCore::CurlRequest::CurlRequest):
1287         (WebCore::CurlRequest::setUserPass):
1288         (WebCore::CurlRequest::start):
1289         (WebCore::CurlRequest::startWithJobManager):
1290         (WebCore::CurlRequest::cancel):
1291         (WebCore::CurlRequest::suspend):
1292         (WebCore::CurlRequest::resume):
1293         (WebCore::CurlRequest::callDelegate):
1294         (WebCore::CurlRequest::setupTransfer):
1295         (WebCore::CurlRequest::willSetupSslCtx):
1296         (WebCore::CurlRequest::willSendData):
1297         (WebCore::CurlRequest::didReceiveHeader):
1298         (WebCore::CurlRequest::didReceiveData):
1299         (WebCore::CurlRequest::didCompleteTransfer):
1300         (WebCore::CurlRequest::didCancelTransfer):
1301         (WebCore::CurlRequest::resolveBlobReferences):
1302         (WebCore::CurlRequest::setupPUT):
1303         (WebCore::CurlRequest::setupPOST):
1304         (WebCore::CurlRequest::setupFormData):
1305         (WebCore::CurlRequest::invokeDidReceiveResponseForFile):
1306         (WebCore::CurlRequest::invokeDidReceiveResponse):
1307         (WebCore::CurlRequest::setPaused):
1308         (WebCore::CurlRequest::willSetupSslCtxCallback):
1309         (WebCore::CurlRequest::willSendDataCallback):
1310         (WebCore::CurlRequest::didReceiveHeaderCallback):
1311         (WebCore::CurlRequest::didReceiveDataCallback):
1312         * platform/network/curl/CurlRequest.h: Added.
1313         (WebCore::CurlRequest::~CurlRequest):
1314         (WebCore::CurlRequest::setDelegate):
1315         (WebCore::CurlRequest::isSyncRequest):
1316         (WebCore::CurlRequest::getNetworkLoadMetrics):
1317         * platform/network/curl/CurlRequestDelegate.h: Added.
1318         * platform/network/curl/ResourceHandleCurl.cpp:
1319         (WebCore::ResourceHandle::cancel):
1320         (WebCore::ResourceHandle::platformSetDefersLoading):
1321         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1322         (WebCore::ResourceHandle::receivedCredential):
1323         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
1324         (WebCore::ResourceHandle::receivedCancellation):
1325         * platform/network/curl/ResourceHandleCurlDelegate.cpp:
1326         (WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
1327         (WebCore::ResourceHandleCurlDelegate::~ResourceHandleCurlDelegate):
1328         (WebCore::ResourceHandleCurlDelegate::start):
1329         (WebCore::ResourceHandleCurlDelegate::cancel):
1330         (WebCore::ResourceHandleCurlDelegate::setDefersLoading):
1331         (WebCore::ResourceHandleCurlDelegate::setAuthentication):
1332         (WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
1333         (WebCore::ResourceHandleCurlDelegate::createCurlRequest):
1334         (WebCore::ResourceHandleCurlDelegate::cancelledOrClientless):
1335         (WebCore::ResourceHandleCurlDelegate::curlDidReceiveResponse):
1336         (WebCore::ResourceHandleCurlDelegate::curlDidReceiveBuffer):
1337         (WebCore::ResourceHandleCurlDelegate::curlDidComplete):
1338         (WebCore::ResourceHandleCurlDelegate::curlDidFailWithError):
1339         (WebCore::ResourceHandleCurlDelegate::response):
1340         (WebCore::ResourceHandleCurlDelegate::getCredential):
1341         (WebCore::ResourceHandleCurlDelegate::retain): Deleted.
1342         (WebCore::ResourceHandleCurlDelegate::release): Deleted.
1343         (WebCore::ResourceHandleCurlDelegate::setupTransfer): Deleted.
1344         (WebCore::ResourceHandleCurlDelegate::didCompleteTransfer): Deleted.
1345         (WebCore::ResourceHandleCurlDelegate::didCancelTransfer): Deleted.
1346         (WebCore::ResourceHandleCurlDelegate::setupAuthentication): Deleted.
1347         (WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders): Deleted.
1348         (WebCore::ResourceHandleCurlDelegate::didReceiveContentData): Deleted.
1349         (WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse): Deleted.
1350         (WebCore::ResourceHandleCurlDelegate::prepareSendData): Deleted.
1351         (WebCore::ResourceHandleCurlDelegate::didFinish): Deleted.
1352         (WebCore::ResourceHandleCurlDelegate::didFail): Deleted.
1353         (WebCore::ResourceHandleCurlDelegate::setupPOST): Deleted.
1354         (WebCore::ResourceHandleCurlDelegate::setupPUT): Deleted.
1355         (WebCore::ResourceHandleCurlDelegate::getFormElementsCount): Deleted.
1356         (WebCore::ResourceHandleCurlDelegate::setupFormData): Deleted.
1357         (WebCore::ResourceHandleCurlDelegate::applyAuthentication): Deleted.
1358         (WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics): Deleted.
1359         (WebCore::ResourceHandleCurlDelegate::willSetupSslCtx): Deleted.
1360         (WebCore::ResourceHandleCurlDelegate::didReceiveHeader): Deleted.
1361         (WebCore::ResourceHandleCurlDelegate::didReceiveData): Deleted.
1362         (WebCore::ResourceHandleCurlDelegate::willSendData): Deleted.
1363         (WebCore::ResourceHandleCurlDelegate::willSetupSslCtxCallback): Deleted.
1364         (WebCore::ResourceHandleCurlDelegate::didReceiveHeaderCallback): Deleted.
1365         (WebCore::ResourceHandleCurlDelegate::didReceiveDataCallback): Deleted.
1366         (WebCore::ResourceHandleCurlDelegate::willSendDataCallback): Deleted.
1367         * platform/network/curl/ResourceHandleCurlDelegate.h:
1368
1369 2017-09-29  Chris Dumez  <cdumez@apple.com>
1370
1371         Split some logic out of VisitedLinkStore and make it reusable
1372         https://bugs.webkit.org/show_bug.cgi?id=177575
1373
1374         Reviewed by Alex Christensen.
1375
1376         Rename LinkHash to SharedStringHash to make it more reusable.
1377
1378         * CMakeLists.txt:
1379         * WebCore.xcodeproj/project.pbxproj:
1380         * css/StyleResolver.cpp:
1381         * dom/VisitedLinkState.cpp:
1382         (WebCore::linkHashForElement):
1383         (WebCore::VisitedLinkState::invalidateStyleForLink):
1384         (WebCore::VisitedLinkState::determineLinkStateSlowCase):
1385         * dom/VisitedLinkState.h:
1386         * html/HTMLAnchorElement.h:
1387         (WebCore::HTMLAnchorElement::visitedLinkHash const):
1388         * loader/EmptyClients.cpp:
1389         * loader/HistoryController.cpp:
1390         (WebCore::addVisitedLink):
1391         * page/Page.cpp:
1392         (WebCore::Page::invalidateStylesForLink):
1393         * page/Page.h:
1394         * page/VisitedLinkStore.cpp:
1395         (WebCore::VisitedLinkStore::invalidateStylesForLink):
1396         * page/VisitedLinkStore.h:
1397         * platform/SharedStringHash.cpp: Renamed from Source/WebCore/platform/LinkHash.cpp.
1398         (WebCore::needsTrailingSlash):
1399         (WebCore::computeSharedStringHashInline):
1400         (WebCore::computeSharedStringHash):
1401         * platform/SharedStringHash.h: Renamed from Source/WebCore/platform/LinkHash.h.
1402         (WebCore::SharedStringHashHash::hash):
1403         (WebCore::SharedStringHashHash::equal):
1404         (WebCore::SharedStringHashHash::avoidDeletedValue):
1405
1406 2017-09-29  Don Olmstead  <don.olmstead@sony.com>
1407
1408         [WinCairo] Fix build after rev 222610
1409         https://bugs.webkit.org/show_bug.cgi?id=177674
1410
1411         Reviewed by Per Arne Vollan.
1412
1413         No new tests. No change in behavior.
1414
1415         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
1416
1417 2017-09-29  Wenson Hsieh  <wenson_hsieh@apple.com>
1418
1419         [iOS] Remove unused pre-iOS 11 codepaths for writing to the pasteboard
1420         https://bugs.webkit.org/show_bug.cgi?id=177669
1421
1422         Reviewed by Tim Horton.
1423
1424         Now that PlatformPasteboardIOS codepaths for writing data on drag and copy have been unified to both use
1425         NSItemProviders, we can remove the legacy codepath that called -setItems on UIPasteboard, since nothing uses it
1426         any more. No change in behavior.
1427
1428         * platform/ios/PlatformPasteboardIOS.mm:
1429         (WebCore::PlatformPasteboard::write):
1430         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
1431         (WebCore::PlatformPasteboard::allowReadingURLAtIndex const):
1432         (WebCore::PlatformPasteboard::readURL):
1433         (WebCore::richTextRepresentationsForPasteboardWebContent): Deleted.
1434
1435 2017-09-28  Ryosuke Niwa  <rniwa@webkit.org>
1436
1437         Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
1438         https://bugs.webkit.org/show_bug.cgi?id=170449
1439         <rdar://problem/31432525>
1440
1441         Reviewed by Wenson Hsieh.
1442
1443         The bug was caused by image types in NSPasteboard or UIPasteboard not being treated as file items in dataTransfer.
1444         Because there is no Web API to get binary data out of dataTransfer unlike text data, we need to treat any image
1445         data as files even if they're entirely in the memory.
1446
1447         This patch introduces the notion of pasteboard types to be treated as files and expose them on dataTransfer.files
1448         as well as dataTransfer.items of type "file". Because in-memory images are stored as TIFF in macOS and websites
1449         don't typically support image/tiff, we convert all such in-memory TIFF images into PNG images ourselves for
1450         a better web compatibility. This is done inside read(PasteboardFileReader&) in PasteboardCocoa.mm.
1451
1452         Note that PasteboardFileReader cannot directly have RefPtr<File> as a member variable as code in WebCore/platform
1453         including Pasteboard code is not supposed to depend on WebCore types. WebCorePasteboardFileReader, a subclass of
1454         PasteboardFileReader was introduced to resolve this reverse dependency.
1455
1456         In addition, this patch removes the restriction on dataTransfer.items that it only includes files of the supported
1457         MIME types. This was unwarranted since 1. we don't have any restriction on what an user can drag & drop into a web
1458         page via input element so there is no security benefit in this, and 2. the user should be able to copy & paste
1459         whatever file he/she desires regardless of the MIME type on websites like Google Drive.
1460
1461         Tests: PasteImage
1462
1463         * CMakeLists.txt:
1464         * WebCore.xcodeproj/project.pbxproj:
1465         * WebCore/PlatformMac.cmake:
1466         * dom/DataTransfer.cpp:
1467         (WebCore::DataTransfer::types const): Now excludes image/gif, image/png, image/jpeg, and image/tiff.
1468         (WebCore::DataTransfer::files const): Add fake files we create for in-memory images but only when there are no real
1469         files in the pasteboard since it's expensive to copy image data across UI/Web processes to create a blob URL.
1470         * dom/DataTransferItemList.cpp:
1471         (WebCore::DataTransferItemList::ensureItems const): Just expose every file type. If the user had decided to paste
1472         a file, it's okay for the page to access that file regardless of whether it's a zip file, JPEG image, etc...
1473         * editing/WebCorePasteboardFileReader.cpp:
1474         (WebCorePasteboardFileReader::~WebCorePasteboardFileReader):
1475         (WebCorePasteboardFileReader::read):
1476         * editing/WebCorePasteboardFileReader.h:
1477         (WebCorePasteboardFileReader):
1478         * platform/Pasteboard.cpp:
1479         (WebCore::PasteboardImage::PasteboardImage): Moved from platform specific translation units.
1480         (WebCore::PasteboardImage::~PasteboardImage): Ditto.
1481         * platform/Pasteboard.h:
1482         (PasteboardFileReader): Added.
1483         (* platform/StaticPasteboard.h:
1484         (StaticPasteboard::typesForBindings): Added.
1485         (StaticPasteboard::typesTreatedAsFiles): Added. Returns an empty list we don't support the web content writing image
1486         files into pasteboard at the moment.
1487         * platform/cocoa/PasteboardCocoa.mm: Added.
1488         (WebCore::PasteboardWebContent::PasteboardWebContent): Moved from PasteboardMac.mm and PasteboardIOS.mm.
1489         (WebCore::PasteboardWebContent::~PasteboardWebContent):
1490         (WebCore::cocoaTypeToImageType): Added.
1491         (WebCore::imageTypeToMIMEType): Added. Pretends to have image/png when the Cocoa type is image/tiff since most of
1492         websites don't support image/tiff.
1493         (WebCore::imageTypeToFakeFilename): Added.
1494         (WebCore::mimeTypeToImageType): Added.
1495         (WebCore::Pasteboard::shouldTreatCocoaTypeAsFile): Added. Pasteboard::typesForBindings excludes the type for which
1496         this function returns true.
1497         (WebCore::Pasteboard::typesTreatedAsFiles): Returns the list of all in-memory image types in the pasteboard.
1498         (WebCore::Pasteboard::read): Added. On macOS, we convert TIFF to PNG for web compatibility. We don't do this rather
1499         memory intensive coercion on iOS where most of apps like Photos put PNG file into the pasteboard in the first place.
1500         * platform/gtk/PasteboardGtk.cpp:
1501         (WebCore::PasteboardImage::PasteboardImage): Deleted.
1502         (WebCore::PasteboardImage::~PasteboardImage): Deleted.
1503         (WebCore::Pasteboard::read):
1504         (WebCore::Pasteboard::typesForBindings): Renamed from types.
1505         (WebCore::Pasteboard::typesTreatedAsFiles):
1506         * platform/ios/PasteboardIOS.mm:
1507         (WebCore::addHTMLClipboardTypesForCocoaType):
1508         (WebCore::Pasteboard::typesForBindings):
1509         (WebCore::PasteboardWebContent::PasteboardWebContent): Deleted.
1510         (WebCore::PasteboardWebContent::~PasteboardWebContent): Deleted.
1511         (WebCore::PasteboardImage::PasteboardImage): Deleted.
1512         (WebCore::PasteboardImage::~PasteboardImage): Deleted.
1513         (WebCore::Pasteboard::types): Deleted.
1514         * platform/ios/PlatformPasteboardIOS.mm:
1515         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType): Add "Files" to dataTransfer.types when there is an in-memory
1516         image type in the pasteboard.
1517         * platform/mac/PasteboardMac.mm:
1518         (WebCore::PasteboardWebContent::PasteboardWebContent): Deleted.
1519         (WebCore::PasteboardWebContent::~PasteboardWebContent): Deleted.
1520         (WebCore::PasteboardImage::PasteboardImage): Deleted.
1521         (WebCore::PasteboardImage::~PasteboardImage): Deleted.
1522         (WebCore::addHTMLClipboardTypesForCocoaType): Moved the check for the legacy NeXT plain text check here. Also add
1523         "Files" to dataTransfer.types when there is an in-memory image type in the pasteboard.
1524         (WebCore::Pasteboard::typesForBindings): Renamed from types.
1525         * platform/mac/PlatformPasteboardMac.mm:
1526         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType): Ditto to add "Files".
1527         * platform/win/PasteboardWin.cpp:
1528         (WebCore::Pasteboard::typesForBindings): Renamed from types.
1529         (WebCore::Pasteboard::typesTreatedAsFiles):
1530         (WebCore::Pasteboard::read):
1531         * platform/wpe/PasteboardWPE.cpp:
1532         (WebCore::Pasteboard::typesForBindings): Renamed from types.
1533         (WebCore::Pasteboard::typesTreatedAsFiles):
1534         (WebCore::Pasteboard::read):
1535
1536 2017-09-29  Wenson Hsieh  <wenson_hsieh@apple.com>
1537
1538         [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
1539         https://bugs.webkit.org/show_bug.cgi?id=177662
1540         <rdar://problem/33410373>
1541
1542         Reviewed by Tim Horton.
1543
1544         Adds a new TextIterator helper function to determine whether a Range has any plain text.
1545
1546         Tests: EditorStateTests.ContentViewHasTextInContentEditableElement
1547                EditorStateTests.ContentViewHasTextInTextarea
1548
1549         * editing/TextIterator.cpp:
1550         (WebCore::hasAnyPlainText):
1551
1552         Add a new helper to determine whether a Range contains any plain text. While inspired by and very similar to the
1553         plainText() helper function, this variant does not create a new string buffer when invoked, and is therefore
1554         more efficient for the purposes of determining whether there is any plain text at all.
1555
1556         * editing/TextIterator.h:
1557
1558 2017-09-29  Zalan Bujtas  <zalan@apple.com>
1559
1560         Add WeakPtr support to RenderObject.
1561         https://bugs.webkit.org/show_bug.cgi?id=177429
1562         <rdar://problem/34625212>
1563
1564         Reviewed by Dean Jackson.
1565
1566         This is in preparation to start using weak pointers extensively in rendering.
1567
1568         No change in functionality.
1569
1570         * loader/SubframeLoader.cpp:
1571         (WebCore::SubframeLoader::loadPlugin):
1572         * page/FrameView.cpp:
1573         (WebCore::FrameView::updateEmbeddedObject):
1574         * rendering/RenderMultiColumnFlow.cpp:
1575         (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):
1576         * rendering/RenderMultiColumnSpannerPlaceholder.h:
1577         * rendering/RenderObject.cpp:
1578         * rendering/RenderObject.h:
1579         (WebCore::RenderObject::createWeakPtr):
1580         * rendering/RenderView.cpp:
1581         (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
1582         (WebCore::RenderView::RepaintRegionAccumulator::~RepaintRegionAccumulator):
1583         * rendering/RenderView.h:
1584         * rendering/RenderWidget.cpp:
1585         (WebCore::RenderWidget::setWidgetGeometry):
1586         (WebCore::RenderWidget::setWidget):
1587         (WebCore::RenderWidget::updateWidgetPosition):
1588         * rendering/RenderWidget.h:
1589         (WebCore::RenderWidget::createWeakPtr): Deleted.
1590
1591 2017-09-29  Enrique Ocaña González  <eocanha@igalia.com>
1592
1593         [GStreamer] Refactor media player to use MediaTime consistently
1594         https://bugs.webkit.org/show_bug.cgi?id=174817
1595
1596         Reviewed by Xabier Rodriguez-Calvar.
1597
1598         Make consistent use of the MediaTime class in the GStreamer media
1599         player implementations.
1600
1601         This patch is authored by Charlie Turner <cturner@igalia.com> plus
1602         some minor modifications by Enrique: migration of m_cachedPosition,
1603         usage of m_seekTime as MediaTime in the MSE player and more logging
1604         using toString().
1605
1606         Covered by existing tests.
1607
1608         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1609         (WebCore::toGstUnsigned64Time): Scales MediaTime to the precision used
1610         by GStreamer and returns a value compatible with GstClockTime.
1611         (WebCore::toGstClockTime): Deleted.
1612         * platform/graphics/gstreamer/GStreamerUtilities.h:
1613         (WebCore::toGstClockTime): Inlined, now it takes MediaTime and converts
1614         to GstClockTime.
1615         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1616         Several changes to use MediaTime instead of float and to log MediaTime
1617         values converting them toString().
1618         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1619         (WebCore::MediaPlayerPrivateGStreamer::load):
1620         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
1621         (WebCore::MediaPlayerPrivateGStreamer::durationMediaTime const):
1622         (WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
1623         (WebCore::MediaPlayerPrivateGStreamer::seek): Uses MediaTime.
1624         (WebCore::MediaPlayerPrivateGStreamer::doSeek):
1625         (WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
1626         (WebCore::MediaPlayerPrivateGStreamer::buffered const):
1627         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
1628         (WebCore::MediaPlayerPrivateGStreamer::maxMediaTimeSeekable const):
1629         (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded const):
1630         (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress const):
1631         (WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
1632         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1633         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
1634         (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
1635         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable const): Deleted.
1636         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Changed
1637         seek(), playBackposition(), m_cachedPosition, m_durationAtEOS,
1638         m_seekTime and m_timeOfOverlappingSeek to be of MediaTime type.
1639         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1640         Prefer the methods based on MediaTime over those based on fload/double.
1641         (WebCore::MediaPlayerPrivateGStreamerBase::maxTimeLoaded const):
1642         * platform/graphics/gstreamer/mse/GStreamerMediaSample.cpp:
1643         (WebCore::GStreamerMediaSample::offsetTimestampsBy): toGstClockTime()
1644         now can handle MediaTime.
1645         * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
1646         Several changes to use MediaTime instead of float and to log MediaTime
1647         values converting them toString().
1648         (WebCore::MediaPlayerPrivateGStreamerMSE::seek):
1649         (WebCore::MediaPlayerPrivateGStreamerMSE::notifySeekNeedsDataForTime):
1650         (WebCore::MediaPlayerPrivateGStreamerMSE::doSeek):
1651         (WebCore::MediaPlayerPrivateGStreamerMSE::maybeFinishSeek):
1652         (WebCore::MediaPlayerPrivateGStreamerMSE::isTimeBuffered const):
1653         (WebCore::MediaPlayerPrivateGStreamerMSE::durationChanged):
1654         (WebCore::MediaPlayerPrivateGStreamerMSE::currentMediaTime const):
1655         (WebCore::MediaPlayerPrivateGStreamerMSE::maxTimeSeekable const):
1656         * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
1657         seek() now takes a MediaTime argument.
1658         * platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
1659         (WebCore::PlaybackPipeline::enqueueSample): Use MediaTime values in
1660         MediaSample.
1661         * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
1662         (webKitMediaSrcQueryWithParent): Use MediaTime values in
1663         durationMediaTime().
1664
1665 2017-09-28  Sam Weinig  <sam@webkit.org>
1666
1667         Re-write Settings generation in python for some reason
1668         https://bugs.webkit.org/show_bug.cgi?id=177621
1669
1670         Reviewed by Tim Horton.
1671
1672         Re-writes and splits up generation of InternalSettingsGenerated.{h|cpp|idl}
1673         and SettingsMacros.h in python in preparation for larger changes.
1674
1675         * DerivedSources.make:
1676         * Scripts/GenerateSettings: Added.
1677         * Scripts/GenerateSettings.py: Added.
1678         * Scripts/GenerateSettings/GenerateInternalSettingsHeaderFile.py: Added.
1679         * Scripts/GenerateSettings/GenerateInternalSettingsIDLFile.py: Added.
1680         * Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py: Added.
1681         * Scripts/GenerateSettings/GenerateSettings.py: Added.
1682         * Scripts/GenerateSettings/GenerateSettingsMacrosHeader.py: Added.
1683         * Scripts/GenerateSettings/Settings.py: Added.
1684         * Scripts/GenerateSettings/__init__.py: Added.
1685         * WebCore.xcodeproj/project.pbxproj:
1686         * page/make_settings.pl: Removed.
1687
1688 2017-09-28  Don Olmstead  <don.olmstead@sony.com>
1689
1690         Simplify PLATFORM ifdefs within Editor around writing selections
1691         https://bugs.webkit.org/show_bug.cgi?id=177624
1692
1693         Reviewed by Alex Christensen.
1694
1695         No new tests. No change in behavior.
1696
1697         * editing/Editor.cpp:
1698         (WebCore::Editor::performCutOrCopy):
1699         (WebCore::Editor::copyImage):
1700         * editing/Editor.h:
1701
1702 2017-09-28  Joanmarie Diggs  <jdiggs@igalia.com>
1703
1704         AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
1705         https://bugs.webkit.org/show_bug.cgi?id=177542
1706
1707         Add new notification types to AXObjectCache in order to support the notifications
1708         needed, post the notifications to all platforms, emit the signals for ATK.
1709
1710         Reviewed by Chris Fleizach.
1711
1712         Tests: accessibility/gtk/aria-disabled-changed-notification.html
1713                accessibility/gtk/aria-expanded-changed-notification.html
1714                accessibility/gtk/aria-pressed-changed-notification.html
1715                accessibility/gtk/aria-readonly-changed-notification.html
1716                accessibility/gtk/aria-required-changed-notification.html
1717
1718         * accessibility/AXObjectCache.cpp:
1719         (WebCore::AXObjectCache::handleAttributeChanged):
1720         * accessibility/AXObjectCache.h:
1721         * accessibility/atk/AXObjectCacheAtk.cpp:
1722         (WebCore::AXObjectCache::postPlatformNotification):
1723
1724 2017-09-28  Daniel Bates  <dabates@apple.com>
1725
1726         Remove TextRun::setCharactersLength() and TextRun::charactersLength()
1727         https://bugs.webkit.org/show_bug.cgi?id=177620
1728
1729         Reviewed by Zalan Bujtas.
1730
1731         The purpose of TextRun::setCharactersLength() and TextRun::charactersLength() predate the
1732         use of WidthIterator to safely iterate over characters in a TextRun that may contain
1733         surrogate halves due to how it was created (without thought of surrogate pairs). Historically
1734         TextRun::charactersLength() complemented TextRun::length() and represented the length of the
1735         text to render ignoring and respecting truncation, respectively. We not longer need either
1736         of these member functions with the advent of WidthIterator.
1737
1738         No functionality changed. So, no new tests.
1739
1740         * platform/graphics/ComplexTextController.cpp:
1741         (WebCore::TextLayout::constructTextRun):
1742         * platform/graphics/TextRun.cpp: Remove one unsigned field from ExpectedTextRunSize as we
1743         reduced the size of TextRun with the removal of TextRun::m_charactersLength.
1744         * platform/graphics/TextRun.h:
1745         (WebCore::TextRun::TextRun):
1746         (WebCore::TextRun::charactersLength const): Deleted.
1747         (WebCore::TextRun::setCharactersLength): Deleted.
1748         * rendering/InlineTextBox.cpp:
1749         (WebCore::InlineTextBox::constructTextRun const):
1750         * rendering/InlineTextBox.h:
1751         (WebCore::InlineTextBox::constructTextRun): Deleted overload that took const RenderStyle& style
1752         and StringView.
1753         * rendering/RenderText.cpp:
1754         (WebCore::RenderText::widthFromCache const):
1755         (WebCore::maxWordFragmentWidth):
1756         (WebCore::RenderText::computePreferredLogicalWidths):
1757         (WebCore::RenderText::width const):
1758         * rendering/line/BreakingContext.h:
1759         (WebCore::textWidth):
1760         (WebCore::tryHyphenating):
1761         * rendering/svg/SVGInlineTextBox.cpp:
1762         (WebCore::SVGInlineTextBox::constructTextRun const):
1763         * rendering/svg/SVGTextMetrics.cpp:
1764         (WebCore::SVGTextMetrics::constructTextRun):
1765         * rendering/svg/SVGTextMetricsBuilder.cpp:
1766         (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair const): Use TextRun::length().
1767         (WebCore::SVGTextMetricsBuilder::advance): Ditto.
1768
1769 2017-09-28  Tim Horton  <timothy_horton@apple.com>
1770
1771         Remove constant() in favor of env()
1772         https://bugs.webkit.org/show_bug.cgi?id=177581
1773         <rdar://problem/34701321>
1774
1775         Reviewed by Dean Jackson.
1776
1777         No new tests, removing a feature.
1778
1779         * css/CSSValueKeywords.in:
1780         * css/CSSVariableData.cpp:
1781         (WebCore::CSSVariableData::checkVariablesForCyclesWithRange const):
1782         (WebCore::CSSVariableData::resolveTokenRange const):
1783         * css/parser/CSSVariableParser.cpp:
1784         (WebCore::classifyBlock):
1785
1786 2017-09-28  Brent Fulgham  <bfulgham@apple.com>
1787
1788         Add ports 6679 and 6697 (IRC SSL) to port blacklist
1789         https://bugs.webkit.org/show_bug.cgi?id=177544
1790         <rdar://problem/34666525>
1791
1792         Reviewed by Alex Christensen.
1793
1794         Test: security/block-test.html
1795
1796         * platform/URL.cpp:
1797         (WebCore::portAllowed): Also block port 6679.
1798
1799 2017-09-28  Chris Dumez  <cdumez@apple.com>
1800
1801         Unreviewed, speculative Windows build fix after r222613.
1802
1803         * dom/StringCallback.idl:
1804
1805 2017-09-28  Zalan Bujtas  <zalan@apple.com>
1806
1807         Small cleanup in RenderMenuList::didUpdateActiveOption
1808         https://bugs.webkit.org/show_bug.cgi?id=177610
1809
1810         Reviewed by Dean Jackson.
1811
1812         No change in functionality.
1813
1814         * rendering/RenderMenuList.cpp:
1815         (WebCore::RenderMenuList::RenderMenuList):
1816         (RenderMenuList::didUpdateActiveOption):
1817         * rendering/RenderMenuList.h:
1818
1819 2017-09-28  Ross Kirsling  <ross.kirsling@sony.com>
1820
1821         [PAL] Move HysteresisActivity into PAL
1822         https://bugs.webkit.org/show_bug.cgi?id=177516
1823
1824         Reviewed by Alex Christensen.
1825
1826         * WebCore.xcodeproj/project.pbxproj:
1827         * platform/UserActivity.cpp:
1828         (WebCore::UserActivity::UserActivity):
1829         (WebCore::UserActivity::hysteresisUpdated):
1830         * platform/UserActivity.h:
1831         * platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:
1832         (WebCore::BackingStoreBackendCairoImpl::BackingStoreBackendCairoImpl):
1833         * platform/graphics/cairo/BackingStoreBackendCairoImpl.h:
1834         * platform/ios/WebSQLiteDatabaseTrackerClient.h:
1835         * platform/ios/WebSQLiteDatabaseTrackerClient.mm:
1836         (WebCore::WebSQLiteDatabaseTrackerClient::WebSQLiteDatabaseTrackerClient):
1837         (WebCore::WebSQLiteDatabaseTrackerClient::hysteresisUpdated):
1838
1839 2017-09-28  Chris Dumez  <cdumez@apple.com>
1840
1841         Add support for <link rel=preconnect>
1842         https://bugs.webkit.org/show_bug.cgi?id=177474
1843         <rdar://problem/33141380>
1844
1845         Reviewed by Alex Christensen.
1846
1847         Add support for <link rel=preconnect>:
1848         - https://w3c.github.io/resource-hints/#preconnect
1849
1850         It is currently only enabled for WK2 on MacOS High Sierra+
1851         and iOS 11+.
1852
1853         Tests: fast/dom/HTMLLinkElement/preconnect-support.html
1854                http/tests/preconnect/link-rel-preconnect-http.html
1855                http/tests/preconnect/link-rel-preconnect-https.html
1856
1857         * bindings/js/JSDOMExceptionHandling.h:
1858         * bindings/scripts/CodeGeneratorJS.pm:
1859         (GenerateCallbackHeaderContent):
1860         * bindings/scripts/IDLAttributes.json:
1861         * dom/Document.cpp:
1862         (WebCore::Document::addConsoleMessage):
1863         (WebCore::Document::setConsoleMessageListener):
1864         * dom/Document.h:
1865         * dom/StringCallback.idl:
1866         * html/DOMTokenList.cpp:
1867         (WebCore::DOMTokenList::DOMTokenList):
1868         (WebCore::DOMTokenList::supports):
1869         * html/DOMTokenList.h:
1870         (WebCore::DOMTokenList::DOMTokenList):
1871         * html/HTMLAnchorElement.cpp:
1872         (WebCore::HTMLAnchorElement::relList):
1873         * html/HTMLIFrameElement.cpp:
1874         (WebCore::HTMLIFrameElement::sandbox):
1875         * html/HTMLLinkElement.cpp:
1876         (WebCore::HTMLLinkElement::parseAttribute):
1877         (WebCore::HTMLLinkElement::relList):
1878         * html/LinkRelAttribute.cpp:
1879         (WebCore::LinkRelAttribute::LinkRelAttribute):
1880         (WebCore::LinkRelAttribute::isSupported):
1881         * html/LinkRelAttribute.h:
1882         * html/parser/HTMLPreloadScanner.cpp:
1883         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
1884         * loader/LinkLoader.cpp:
1885         (WebCore::LinkLoader::loadLinksFromHeader):
1886         (WebCore::LinkLoader::loadLink):
1887         * loader/LoaderStrategy.h:
1888         * page/Settings.in:
1889         * testing/Internals.cpp:
1890         (WebCore::Internals::Internals):
1891         (WebCore::Internals::setConsoleMessageListener):
1892         * testing/Internals.h:
1893         * testing/Internals.idl:
1894
1895 2017-09-28  Zalan Bujtas  <zalan@apple.com>
1896
1897         AX: Defer RenderListBox selectionChanged event until after layout is done.
1898         https://bugs.webkit.org/show_bug.cgi?id=177589
1899         <rdar://problem/34705785>
1900
1901         Reviewed by Chris Fleizach.
1902
1903         Defer AX update when the selection changed event is followed by a layout.
1904
1905         Covered by existing tests.
1906
1907         * accessibility/AXObjectCache.cpp:
1908         (WebCore::AXObjectCache::remove):
1909         (WebCore::AXObjectCache::performDeferredCacheUpdate):
1910         (WebCore::AXObjectCache::deferSelectedChildrenChangedIfNeeded):
1911         * accessibility/AXObjectCache.h:
1912         (WebCore::AXObjectCache::deferSelectedChildrenChangedIfNeeded):
1913         * rendering/RenderListBox.cpp:
1914         (WebCore::RenderListBox::selectionChanged):
1915
1916 2017-09-28  Zan Dobersek  <zdobersek@igalia.com>
1917
1918         [Cairo] Remove the cairo_glyph_t complexity from GlyphBuffer
1919         https://bugs.webkit.org/show_bug.cgi?id=177598
1920
1921         Reviewed by Carlos Garcia Campos.
1922
1923         Remove the decade-old use of cairo_glyph_t as the underlying type for
1924         Glyph. The former spans 24 bytes in size, while the latte is just 2
1925         bytes. The x and y coordinate attributes of cairo_glyph_t were only
1926         used in FontCascade::drawGlyphs() implementation, where they were
1927         overridden even if the same GlyphBuffer object was used here repeatedly.
1928
1929         FontCascade::drawGlyphs() now creates a new Vector<cairo_glyph_t> object
1930         and fills it only with the glyph index and coordinates data for glyphs
1931         that will actually be drawn. This will likely in the future be leveraged
1932         to pack the necessary data and perform the drawing operations in
1933         parallelized tasks. GlyphBuffer usages that before required USE(CAIRO)
1934         special-casing can now be simplified.
1935
1936         This also removes the need for <cairo.h> header inclusion in the
1937         GlyphBuffer.h header. This further removes Cairo header inclusion in
1938         roughly 600 build targets.
1939
1940         No new tests -- no change in behavior.
1941
1942         * platform/graphics/FontCascade.cpp:
1943         (WebCore::FontCascade::widthForSimpleText const):
1944         * platform/graphics/GlyphBuffer.h:
1945         (WebCore::GlyphBuffer::glyphAt const):
1946         (WebCore::GlyphBuffer::add):
1947         * platform/graphics/cairo/FontCairo.cpp:
1948         (WebCore::drawGlyphsToContext):
1949         (WebCore::drawGlyphsShadow):
1950         (WebCore::FontCascade::drawGlyphs):
1951         * platform/graphics/displaylists/DisplayListItems.cpp:
1952         (WebCore::DisplayList::DrawGlyphs::generateGlyphBuffer const):
1953
1954 2017-09-28  Wenson Hsieh  <wenson_hsieh@apple.com>
1955
1956         Unreviewed, rolling out r222606.
1957
1958         The debug assertion hit in these API tests should be fixed by
1959         r222608.
1960
1961         Reverted changeset:
1962
1963         "REGRESSION(r222595): Assertion failure in
1964         _preLoadedDataConformingToType"
1965         https://bugs.webkit.org/show_bug.cgi?id=177599
1966         http://trac.webkit.org/changeset/222606
1967
1968 2017-09-28  Wenson Hsieh  <wenson_hsieh@apple.com>
1969
1970         [iOS WK2] DataTransfer DataInteractionTests debug assert under -_preLoadedDataConformingToType:forItemProviderAtIndex:
1971         https://bugs.webkit.org/show_bug.cgi?id=177594
1972
1973         Reviewed by Tim Horton.
1974
1975         Currently, some API tests added in r222595 currently hit debug assertions under -preloadedDataConformingToType:
1976         forItemProviderAtIndex:. This is because the page may call DataTransfer.types, which now calls into
1977         PlatformPasteboard::typesSafeForDOMToReadAndWrite(). This calls on the AbstractPasteboard (either the
1978         UIPasteboard or WebItemProviderPasteboard, in the case of drag and drop) to fetch the custom WebKit pasteboard
1979         data blob, if it exists. For WebItemProviderPasteboard, this ends up calling into -[WebItemProviderPasteboard
1980         _preLoadedDataConformingToType:forItemProviderAtIndex:], which was previously only called after loading data off
1981         of the item providers. There's an existing sanity check in this preloaded data helper to make sure that the
1982         number of load results is equal to the number of item providers loaded from, but this sanity check only makes
1983         sense *after* the drop has happened, not before, since we should only attempt to read dropped data after any
1984         data at all has been dropped.
1985
1986         We need to check whether or not this custom data blob exists in PlatformPasteboard::typesSafeForDOMToReadAndWrite
1987         to fetch the list of DOM-exposed types to propagate back to the page. So to fix this, we make the helper methods
1988         for fetching dropped data (-dataForPasteboardType:inItemSet: and -valuesForPasteboardType:inItemSet:) fail
1989         gracefully when invoked prior to drop, when PlatformPasteboard::typesSafeForDOMToReadAndWrite is invoked.
1990
1991         No new tests; fixes iOS drag and drop API tests that currently hit this debug assertion.
1992
1993         * platform/ios/WebItemProviderPasteboard.mm:
1994         (-[WebItemProviderPasteboard dataForPasteboardType:inItemSet:]):
1995         (-[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:]):
1996
1997 2017-09-28  Ryosuke Niwa  <rniwa@webkit.org>
1998
1999         REGRESSION(r222595): Assertion failure in _preLoadedDataConformingToType
2000         https://bugs.webkit.org/show_bug.cgi?id=177599
2001
2002         Temporarily remove the debug assertion to make API tests not crash since the relevant API tests are passing.
2003
2004         * platform/ios/WebItemProviderPasteboard.mm:
2005         (-[WebItemProviderPasteboard _preLoadedDataConformingToType:forItemProviderAtIndex:]):
2006
2007 2017-09-27  Fujii Hironori  <Hironori.Fujii@sony.com>
2008
2009         [REGRESSION] word-spacing property is incorrectly applied
2010         https://bugs.webkit.org/show_bug.cgi?id=142086
2011         <rdar://problem/19985240>
2012
2013         Reviewed by Zalan Bujtas.
2014
2015         word-spacing property isn't applied to text nodes with starting
2016         with '\n' if the kerning enabled. In Bug 165796, only ' ' and '\t'
2017         are treated for word-spacing, but '\n'. It should be treated as
2018         well.
2019
2020         Test: fast/text/word-space-between-inlines.html
2021
2022         * rendering/RenderBlockLineLayout.cpp:
2023         (WebCore::setLogicalWidthForTextRun): Use
2024         FontCascade::treatAsSpace() instead of checking explicitly by
2025         comparing with ' ' and '\t'.
2026
2027 2017-09-27  Zan Dobersek  <zdobersek@igalia.com>
2028
2029         [Cairo] Remove unnecessary cairo.h includes
2030         https://bugs.webkit.org/show_bug.cgi?id=177540
2031
2032         Reviewed by Carlos Garcia Campos.
2033
2034         Drop unnecessary includes of the cairo.h header from the Font.h,
2035         FontPlatformData.h and Pattern.h headers. For the former two the
2036         header isn't required, while in the last one we can use a forward
2037         declaration for the cairo_pattern_t type instead of including
2038         the whole Cairo headers to have that available.
2039
2040         * platform/graphics/Font.h:
2041         * platform/graphics/FontPlatformData.h:
2042         * platform/graphics/Pattern.h:
2043
2044 2017-09-27  Zan Dobersek  <zdobersek@igalia.com>
2045
2046         [Cairo] Drop cairo_matrix_t conversion operators for AffineTransform, TransformationMatrix
2047         https://bugs.webkit.org/show_bug.cgi?id=177539
2048
2049         Reviewed by Carlos Garcia Campos.
2050
2051         Remove the cairo_matrix_t conversion operators from the AffineTransform
2052         and TransformationMatrix classes. These are rarely used, but enforce
2053         including the cairo.h header in both headers, which leads to the Cairo
2054         headers being included in around 800 build targets.
2055
2056         Instead, the toCairoMatrix() function is added to CairoUtilities.h that
2057         creates a cairo_matrix_t object for the given AffineTransform. No
2058         toCairoMatrix() is needed for TransformationMatrix since objects of
2059         that type aren't converted to cairo_matrix_t anywhere in the codebase.
2060
2061         This patch excludes unnecessary Cairo headers from about 550 build
2062         targets (with those headers being included in the other affected 250
2063         targets by some other header inclusion chain). CairoUtilities.h header
2064         is now included where necessary to make toCairoMatrix() available, and
2065         duplicated cairo.h inclusions are removed.
2066
2067         No new tests -- no change in behavior.
2068
2069         * editing/gtk/EditorGtk.cpp: Explicitly include <cairo.h> since it's
2070         necessary for Cairo operations used there.
2071         * platform/Cairo.cmake:
2072         * platform/graphics/cairo/CairoUtilities.cpp:
2073         (WebCore::drawPatternToCairoContext):
2074         (WebCore::toCairoMatrix):
2075         * platform/graphics/cairo/CairoUtilities.h:
2076         * platform/graphics/cairo/GradientCairo.cpp:
2077         (WebCore::Gradient::platformGradient):
2078         (WebCore::Gradient::setPlatformGradientSpaceTransform):
2079         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2080         (WebCore::GraphicsContext::concatCTM):
2081         (WebCore::GraphicsContext::setCTM):
2082         * platform/graphics/cairo/PathCairo.cpp: No need to include AffineTransform.h.
2083         (WebCore::Path::addPath):
2084         (WebCore::Path::transform):
2085         * platform/graphics/cairo/PatternCairo.cpp: Ditto.
2086         (WebCore::Pattern::createPlatformPattern const):
2087         * platform/graphics/cairo/TransformationMatrixCairo.cpp: Removed.
2088         * platform/graphics/transforms/AffineTransform.h:
2089         * platform/graphics/transforms/TransformationMatrix.h:
2090
2091 2017-09-27  Alex Christensen  <achristensen@webkit.org>
2092
2093         Add WKContentRuleList notify action type
2094         https://bugs.webkit.org/show_bug.cgi?id=177013
2095         <rdar://problem/31073936>
2096
2097         Reviewed by Darin Adler.
2098
2099         Covered by new API tests.
2100
2101         * contentextensions/ContentExtensionActions.h:
2102         (WebCore::ContentExtensions::hasStringArgument):
2103         * contentextensions/ContentExtensionCompiler.cpp:
2104         (WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
2105         (WebCore::ContentExtensions::serializeActions):
2106         * contentextensions/ContentExtensionError.cpp:
2107         (WebCore::ContentExtensions::contentExtensionErrorCategory):
2108         * contentextensions/ContentExtensionError.h:
2109         * contentextensions/ContentExtensionParser.cpp:
2110         (WebCore::ContentExtensions::loadAction):
2111         * contentextensions/ContentExtensionRule.cpp:
2112         (WebCore::ContentExtensions::Action::deserialize):
2113         (WebCore::ContentExtensions::Action::deserializeType):
2114         (WebCore::ContentExtensions::Action::serializedLength):
2115         * contentextensions/ContentExtensionRule.h:
2116         (WebCore::ContentExtensions::Action::Action):
2117         * contentextensions/ContentExtensionsBackend.cpp:
2118         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
2119         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):
2120         (WebCore::ContentExtensions::applyBlockedStatusToRequest):
2121         * loader/FrameLoader.cpp:
2122         (WebCore::FrameLoader::loadResourceSynchronously):
2123         * loader/PingLoader.cpp:
2124         (WebCore::processContentExtensionRulesForLoad):
2125         * loader/ResourceLoader.cpp:
2126         (WebCore::ResourceLoader::willSendRequestInternal):
2127         * loader/cache/CachedResourceLoader.cpp:
2128         (WebCore::CachedResourceLoader::requestResource):
2129         * loader/cache/CachedResourceRequest.cpp:
2130         (WebCore::CachedResourceRequest::applyBlockedStatus):
2131         * loader/cache/CachedResourceRequest.h:
2132         * page/ChromeClient.h:
2133
2134 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2135
2136         Unreviewed, fix the internal build after r222596 and r222595.
2137
2138         Guarding code in PlatformPasteboardIOS.mm TARGET_OS_IPHONE did not have the intended effect.
2139
2140         * platform/ios/PlatformPasteboardIOS.mm:
2141         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
2142         (WebCore::PlatformPasteboard::write):
2143
2144 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2145
2146         Unreviewed, fix the internal build after r222595.
2147
2148         Add missing iOS compiler guards.
2149
2150         * platform/ios/PlatformPasteboardIOS.mm:
2151         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
2152         (WebCore::PlatformPasteboard::write):
2153
2154 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2155
2156         Drag event DataTransfer has unexpected types "dyn.ah62d4..."
2157         https://bugs.webkit.org/show_bug.cgi?id=172526
2158         <rdar://problem/32396081>
2159
2160         Reviewed by Ryosuke Niwa.
2161
2162         Currently, the pasteboard types we expose to web content are simply the types that appear on the platform
2163         pasteboard (i.e. the general NSPasteboard on Mac, and either the general UIPasteboard or a UIDragSession's
2164         NSItemProviders on iOS). This leads to DataTransfer.types exposing many private pasteboard types written by apps
2165         around the system to the page, such as dynamic UTIs, CorePasteboardFlavorTypes, or the "Apple WebKit dummy
2166         pasteboard type". These are not only confusing and not useful for web content (since they mostly hold values of
2167         empty string anyways), but can additionally pose privacy concerns by exposing information meant only for native
2168         applications to unvetted web content.
2169
2170         To address this problem, other browsers (e.g. Chrome and Firefox on Mac) white-list MIME types in DataTransfer's
2171         list of types. By default, when dragging or copying, these are "text/plain", "text/html" and "text/uri-list".
2172         However, this policy alone is insufficient, because the page may also supply its own types, in which case our
2173         naive whitelist would prevent us from delivering them to the page. To address this additional constraint, both
2174         Chrome and Firefox write any custom data supplied by the page to custom pasteboard UTIs
2175         (org.chromium.drag-dummy-type and org.mozilla.custom-clipdata, respectively). The corresponding data is a map
2176         of custom UTI => custom data supplied by the page; upon drop or paste, this mapping is consulted if the page
2177         calls getData() with a custom UTI.
2178
2179         This patch adopts this same approach in WebKit, and introduces the com.apple.WebKit.custom-pasteboard-data UTI
2180         (refer to per-method comments below for more information). These changes are covered by 18 new layout and API
2181         tests, as well as existing drag-and-drop tests.
2182
2183         Tests: editing/pasteboard/data-transfer-get-data-on-drop-custom.html
2184                editing/pasteboard/data-transfer-get-data-on-drop-plain-text.html
2185                editing/pasteboard/data-transfer-get-data-on-drop-rich-text.html
2186                editing/pasteboard/data-transfer-get-data-on-drop-url.html
2187                editing/pasteboard/data-transfer-get-data-on-paste-custom.html
2188                editing/pasteboard/data-transfer-get-data-on-paste-plain-text.html
2189                editing/pasteboard/data-transfer-get-data-on-paste-rich-text.html
2190                DataInteractionTests.DataTransferGetDataWhenDroppingPlainText
2191                DataInteractionTests.DataTransferGetDataWhenDroppingCustomData
2192                DataInteractionTests.DataTransferGetDataWhenDroppingURL
2193                DataInteractionTests.DataTransferGetDataWhenDroppingImageWithFileURL
2194                DataInteractionTests.DataTransferGetDataWhenDroppingRespectsPresentationStyle
2195                DataInteractionTests.DataTransferSetDataCannotWritePlatformTypes
2196                DataInteractionTests.DataTransferGetDataCannotReadPrivatePlatformTypes
2197                UIPasteboardTests.DataTransferGetDataWhenPastingURL
2198                UIPasteboardTests.DataTransferGetDataWhenPastingPlatformRepresentations
2199                UIPasteboardTests.DataTransferSetDataCannotWritePlatformTypes
2200                UIPasteboardTests.DataTransferGetDataCannotReadPrivatePlatformTypes
2201
2202         * CMakeLists.txt:
2203
2204         Add Pasteboard.cpp to the WebCore CMakeList.
2205
2206         * WebCore.xcodeproj/project.pbxproj:
2207         * dom/DataTransfer.cpp:
2208         (WebCore::DataTransfer::getData const):
2209         (WebCore::DataTransfer::createForDragStartEvent):
2210
2211         Make a new static helper function to create a StaticPasteboard-backed DataTransfer when dispatching a dragstart
2212         event. Any data supplied by the page will be written to the static pasteboard of this DataTransfer.
2213
2214         (WebCore::DataTransfer::moveDragState):
2215
2216         Add a new helper on DataTransfer to transfer the data required to initiate a drag from one DataTransfer to
2217         another. This is used in EventHandler to transfer the contents of the temporary DataTransfer modified by the
2218         page during the dragstart event over to the DataTransfer used for the rest of the drag initiation codepath,
2219         which is actually connected to the platform. This includes committing the contents of the other
2220         DataTransfer's StaticPasteboard to the new platform-connected Pasteboard.
2221
2222         (WebCore::DataTransfer::hasDragImage const):
2223         * dom/DataTransfer.h:
2224         * editing/cocoa/EditorCocoa.mm:
2225         (WebCore::Editor::selectionInHTMLFormat):
2226         (WebCore::Editor::writeSelectionToPasteboard):
2227         (WebCore::Editor::writeSelection):
2228
2229         Write an additional HTML markup string on iOS. We already do this for Mac, but this data previously had no use
2230         on iOS. This is needed for to vend the "text/html" representation to the page on iOS when pasting.
2231
2232         * editing/mac/EditorMac.mm:
2233         (WebCore::Editor::selectionInHTMLFormat): Deleted.
2234         * editing/wpe/EditorWPE.cpp:
2235         (WebCore::createFragmentFromPasteboardData):
2236         * page/EventHandler.cpp:
2237         (WebCore::EventHandler::dispatchDragStartEventOnSourceElement):
2238
2239         Renamed from dispatchDragStartEvent to dispatchDragStartEventOnSourceElement. Additionally, simplified the logic
2240         significantly, so that we now just check to see if the StaticPasteboard exposed to the page has any data,
2241         instead of using platform-dependent logic to compare changeCounts. We can do this because StaticPasteboard is
2242         guaranteed to only contain content that the page has supplied during the dragstart event, since it is empty
2243         upon initialization and cannot be written to by the rest of the platform.
2244
2245         (WebCore::EventHandler::handleDrag):
2246
2247         Tweak dispatchDragStartEvent to take a DataTransfer to expose to bindings; at the call site in handleDrag,
2248         create a new DataTransfer backed by a StaticPasteboard that the page may mutate over the course of the dragstart
2249         event. After dispatching to the page, move the dragging information present on the drag start DataTransfer over
2250         to the DragState's DataTransfer. If the drag image has not been set, compute and set the default drag image
2251         element on the DragState's DataTransfer.
2252
2253         (WebCore::EventHandler::dispatchDragStartEvent): Deleted.
2254         * page/EventHandler.h:
2255         * page/Settings.cpp:
2256         (WebCore::Settings::customPasteboardDataEnabled):
2257         * page/Settings.h:
2258         (WebCore::Settings::setCustomPasteboardDataEnabled):
2259         * page/ios/EventHandlerIOS.mm:
2260         (WebCore::EventHandler::createDraggingDataTransfer const): Deleted.
2261         * page/mac/EventHandlerMac.mm:
2262         (WebCore::EventHandler::createDraggingDataTransfer const): Deleted.
2263         * page/win/EventHandlerWin.cpp:
2264         (WebCore::EventHandler::createDraggingDataTransfer const): Deleted.
2265
2266         Remove this helper on both iOS and Mac. This only called createForDrag() before, with the addition of clearing
2267         the platform pasteboard prior to returning. Now that a StaticPasteboard is used when starting a drag, we clear
2268         out the platform pasteboard in platform-invariant code in EventHandler::handleDrag, so these helpers are no
2269         longer useful.
2270
2271         * platform/Pasteboard.cpp: Added.
2272         (WebCore::isSafeTypeForDOMToReadAndWrite):
2273
2274         Add a new helper to determine whether or not a pasteboard type is one of the standard DOM-exposed types. These
2275         are "text/plain", "text/html" and "text/uri-list".
2276
2277         (WebCore::sharedBufferFromCustomData):
2278         (WebCore::customDataFromSharedBuffer):
2279
2280         Add helper methods to serialize and deserialize custom data. The serialized data blob consists of: (1)
2281         versioning information, (2) a dictionary mapping each custom type to a value, and (3) a full list of types
2282         written by the page, in the order they were written.
2283
2284         * platform/Pasteboard.h:
2285
2286         Rename Pasteboard::readString to Pasteboard::readStringForBindings, to reflect that the string being read and
2287         the given type are exposed to and from the DOM.
2288
2289         * platform/PasteboardStrategy.h:
2290         * platform/PasteboardWriterData.h:
2291         * platform/PlatformPasteboard.h:
2292         * platform/StaticPasteboard.cpp:
2293
2294         Split m_stringContents out into m_platformData and m_customData. The former contains type-to-data entries for
2295         the DOM-exposed types, while the second contains entries that don't belong in the former.
2296
2297         (WebCore::StaticPasteboard::hasData):
2298         (WebCore::StaticPasteboard::readStringForBindings):
2299         (WebCore::StaticPasteboard::writeString):
2300         (WebCore::StaticPasteboard::clear):
2301         (WebCore::StaticPasteboard::commitToPasteboard):
2302
2303         Rather than propagate each entry to the client layer one at a time, populate a new PasteboardCustomData struct
2304         and send it to the client layer in one go. This new struct consists of an array of types in the order they were
2305         written by the page, a dictionary of public types (types we want to write directly to the platform pasteboard)
2306         and private types (custom types we want to package under our custom data blob).
2307
2308         (WebCore::StaticPasteboard::readString): Deleted.
2309         * platform/StaticPasteboard.h:
2310         * platform/glib/EventHandlerGLib.cpp:
2311         (WebCore::EventHandler::createDraggingDataTransfer const): Deleted.
2312         * platform/gtk/PasteboardGtk.cpp:
2313         (WebCore::Pasteboard::readStringForBindings):
2314         (WebCore::Pasteboard::writeCustomData):
2315         (WebCore::Pasteboard::readString): Deleted.
2316         * platform/gtk/PlatformPasteboardGtk.cpp:
2317         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
2318         (WebCore::PlatformPasteboard::write):
2319
2320         Add stub implementations for new custom pasteboard data methods.
2321
2322         * platform/ios/AbstractPasteboard.h:
2323         * platform/ios/PasteboardIOS.mm:
2324         (WebCore::Pasteboard::writeCustomData):
2325
2326         Add new plumbing to ship a custom data (PasteboardCustomData) struct from WebCore to the client layer.
2327
2328         (WebCore::cocoaTypeFromHTMLClipboardType):
2329         (WebCore::readPlatformValueAsString):
2330         (WebCore::Pasteboard::readStringForBindings):
2331         (WebCore::Pasteboard::types):
2332
2333         Rewritten to ask the client layer for DOM-exposed types rather than all types, in the case where custom
2334         pasteboard data is enabled in Settings.
2335
2336         (WebCore::Pasteboard::readString): Deleted.
2337         * platform/ios/PlatformPasteboardIOS.mm:
2338         (WebCore::PlatformPasteboard::bufferForType):
2339         (WebCore::PlatformPasteboard::getPathnamesForType const):
2340         (WebCore::PlatformPasteboard::numberOfFiles const):
2341         (WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
2342
2343         Add a new helper to map DOM-safe pasteboard types to their platform counterparts.
2344
2345         (WebCore::PlatformPasteboard::write):
2346         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
2347
2348         Add a new helper to map platform pasteboard types to their DOM-safe counterparts.
2349
2350         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
2351
2352         Fetch a list of DOM-exposed types. On iOS, for drag and drop, we have the additional constraint of not being
2353         able to read any data before the drop happens. This is problematic, since the page needs to know the list of
2354         types during 'dragover' events. To support this, we instead keep the array of types in the teamData property of
2355         the generated item provider, which is immediately available, even when dragging across different apps. Note that
2356         we still need to check if the pasteboard contains the full custom data blob here to handle the case where we
2357         copy on Mac and perform a continuity paste on iOS, since teamData does not exist on Mac.
2358
2359         (WebCore::PlatformPasteboard::readString):
2360
2361         Tweak to account for how UIPasteboard may return data blobs when reading values.
2362
2363         (WebCore::PlatformPasteboard::getPathnamesForType): Deleted.
2364         (WebCore::PlatformPasteboard::numberOfFiles): Deleted.
2365         * platform/ios/WebItemProviderPasteboard.h:
2366         * platform/ios/WebItemProviderPasteboard.mm:
2367         (-[WebItemProviderRegistrationInfoList itemProvider]):
2368         (+[WebItemProviderLoadResult loadResultWithItemProvider:typesToLoad:]):
2369         (-[WebItemProviderLoadResult initWithItemProvider:typesToLoad:]):
2370         (-[WebItemProviderLoadResult typesToLoad]):
2371         (-[WebItemProviderLoadResult setFileURL:forType:]):
2372         (-[WebItemProviderLoadResult itemProvider]):
2373         (-[WebItemProviderPasteboard setItemProviders:]):
2374         (-[WebItemProviderPasteboard dataForPasteboardType:]):
2375         (-[WebItemProviderPasteboard typeIdentifiersToLoadForRegisteredTypeIdentfiers:]):
2376         (-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):
2377         (+[WebItemProviderLoadResult emptyLoadResult]): Deleted.
2378         (+[WebItemProviderLoadResult loadResultWithFileURLMap:presentationStyle:]): Deleted.
2379         (-[WebItemProviderLoadResult initWithFileURLMap:presentationStyle:]): Deleted.
2380         (-[WebItemProviderPasteboard typeIdentifierToLoadForRegisteredTypeIdentfiers:]): Deleted.
2381
2382         In the case of drag and drop on iOS, we cannot load any data prior to performing the drop; additionally, any
2383         attempts to load data immediately after the drop is performed in the UI process will fail. This means any and
2384         all data that the web process may require in the future when handling the drop must be loaded out of the item
2385         providers and saved when the drop is being handled in the UI process.
2386
2387         Currently, we only load the highest fidelity type we can handle (or, if we don't know what we can handle, we
2388         select the highest fidelity representation conforming to "public.content"). This is a problematic for supporting
2389         DataTransfer.getData() on drop on iOS, because the page can ask for any of the three web-exposed types. To
2390         address this, we refactor WebItemProviderPasteboard to support loading multiple representations per item being
2391         dropped. At minimum, we will load anything conforming to "public.html", "public.plain-text", "public.url", and
2392         the new "com.apple.WebKit.custom-pasteboard-data" so we have means to answer any question that the page could
2393         ask via DataTransfer.getData(). We additonally load the highest fidelity supported (or content-conformant) type,
2394         if it has not already been loaded as a result of the former.
2395
2396         To make this possible, we refactor WebItemProviderLoadResult to take an item provider and a list of types to
2397         load. -doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout: then creates a list of load results and
2398         uses each one to represent the results of loading data from its item provider (i.e. a map of UTI => file URL).
2399
2400         * platform/mac/PasteboardMac.mm:
2401         (WebCore::Pasteboard::writeCustomData):
2402         (WebCore::cocoaTypeFromHTMLClipboardType):
2403         (WebCore::readPlatformValueAsString):
2404         (WebCore::Pasteboard::readStringForBindings):
2405
2406         Change readStringForBindings (formerly, readString) so that if support for custom pasteboard data is enabled,
2407         we only allow reading directly from the platform pasteboard if the given type is DOM-safe; otherwise, we consult
2408         the custom data blob, if it exists. Otherwise, if support for custom pasteboard data is disabled, we fall back
2409         to our current behavior.
2410
2411         (WebCore::Pasteboard::types):
2412         (WebCore::Pasteboard::readString): Deleted.
2413         * platform/mac/PlatformPasteboardMac.mm:
2414         (WebCore::PlatformPasteboard::numberOfFiles const):
2415         (WebCore::PlatformPasteboard::getPathnamesForType const):
2416         (WebCore::PlatformPasteboard::stringForType):
2417         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
2418         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
2419
2420         Add support for reading DOM-exposed types and fetching DOM-exposed data off of the pasteboard. The overall idea
2421         here is similar to iOS, though implementation details vary (e.g. no item provider support).
2422
2423         (WebCore::PlatformPasteboard::write):
2424         (WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
2425         (WebCore::PlatformPasteboard::numberOfFiles): Deleted.
2426         (WebCore::PlatformPasteboard::getPathnamesForType): Deleted.
2427         * platform/win/PasteboardWin.cpp:
2428         (WebCore::Pasteboard::readStringForBindings):
2429         (WebCore::Pasteboard::writeCustomData):
2430         (WebCore::Pasteboard::readString): Deleted.
2431         * platform/wpe/PasteboardWPE.cpp:
2432         (WebCore::Pasteboard::readStringForBindings):
2433         (WebCore::Pasteboard::writeCustomData):
2434         (WebCore::Pasteboard::readString): Deleted.
2435         * platform/wpe/PlatformPasteboardWPE.cpp:
2436         (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
2437         (WebCore::PlatformPasteboard::write):
2438         * testing/InternalSettings.cpp:
2439         (WebCore::InternalSettings::Backup::Backup):
2440         (WebCore::InternalSettings::Backup::restoreTo):
2441         (WebCore::InternalSettings::setCustomPasteboardDataEnabled):
2442
2443         Add a new internal settings hook for layout tests to opt in to using custom pasteboard data. By default, custom
2444         pasteboard data is enabled only in Safari, or on applications linked on or after certain releases of iOS and
2445         macOS.
2446
2447         * testing/InternalSettings.h:
2448         * testing/InternalSettings.idl:
2449
2450 2017-09-27  Zalan Bujtas  <zalan@apple.com>
2451
2452         Deferred image size change makes image-load-on-delay.html flaky.
2453         https://bugs.webkit.org/show_bug.cgi?id=177520
2454         <rdar://problem/34674299>
2455
2456         Reviewed by Dean Jackson.
2457
2458         Only defer recomputeIsIgnored when the image change actually triggers layout. 
2459
2460         * accessibility/AXObjectCache.cpp:
2461         (WebCore::rendererNeedsDeferredUpdate):
2462         (WebCore::AXObjectCache::deferRecomputeIsIgnoredIfNeeded):
2463         (WebCore::AXObjectCache::deferTextChangedIfNeeded):
2464         * accessibility/AXObjectCache.h:
2465         (WebCore::AXObjectCache::deferRecomputeIsIgnoredIfNeeded):
2466         * rendering/RenderImage.cpp:
2467         (WebCore::RenderImage::imageChanged):
2468
2469 2017-09-27  Tim Horton  <timothy_horton@apple.com>
2470
2471         Try to fix the Mac CMake build
2472
2473         * PlatformMac.cmake:
2474
2475 2017-09-27  Myles C. Maxfield  <mmaxfield@apple.com>
2476
2477         Minimum font size may cause elements to have an infinite line-height
2478         https://bugs.webkit.org/show_bug.cgi?id=177573
2479         <rdar://problem/34573792>
2480
2481         Reviewed by Dan Bernstein.
2482
2483         When minimum font size is specified, we were trying to preserve the ratio of specified font-size
2484         and specified line-height in order to boost the computed font size proportionately to the font-size
2485         boost. However, this doesn't work when the specified font-size is 0, because the ratio between
2486         line-height and font-size is infinite.
2487
2488         The most straightforward solution is just to make small font-sizes opt out of the line-height
2489         adjustment because the result would be too big.
2490
2491         Test: fast/text/line-height-minimumFontSize-text-small-font-size.html
2492
2493         * css/StyleBuilderCustom.h:
2494         (WebCore::computeLineHeightMultiplierDueToFontSize):
2495         (WebCore::StyleBuilderCustom::applyValueLineHeight):
2496
2497 2017-09-27  Alex Christensen  <achristensen@webkit.org>
2498
2499         Allow modern decoding of std::optional<T>
2500         https://bugs.webkit.org/show_bug.cgi?id=177519
2501
2502         Reviewed by Tim Horton.
2503
2504         * platform/DragItem.h:
2505         (WebCore::DragItem::decode):
2506
2507 2017-09-27  Myles C. Maxfield  <mmaxfield@apple.com>
2508
2509         "Tag" codepoints require the complex text codepath
2510         https://bugs.webkit.org/show_bug.cgi?id=177251
2511         <rdar://problem/34384001>
2512
2513         Reviewed by David Hyatt.
2514
2515         Previously, Tag codepoints (U+E0000 - U+E007F) weren't triggering the
2516         complex text codepath.
2517
2518         Eventually, we should migrate the default from simple to complex. I'll do
2519         that in a separate patch.
2520
2521         Test: fast/text/flag-codepoint.html
2522
2523         * platform/graphics/FontCascade.cpp:
2524         (WebCore::FontCascade::characterRangeCodePath):
2525
2526 2017-09-27  David Hyatt  <hyatt@apple.com>
2527
2528         Rename "FlowThread" to "FragmentedFlow"
2529         https://bugs.webkit.org/show_bug.cgi?id=177557
2530
2531         Reviewed by Zalan Bujtas.
2532
2533         * CMakeLists.txt:
2534         * WebCore.xcodeproj/project.pbxproj:
2535         * dom/Document.cpp:
2536         (WebCore::Document::updateLayoutIfDimensionsOutOfDate):
2537         * dom/Element.cpp:
2538         (WebCore::Element::absoluteEventBounds):
2539         * rendering/LayoutState.cpp:
2540         (WebCore::LayoutState::LayoutState):
2541         * rendering/LayoutState.h:
2542         (WebCore::LayoutState::currentRenderFragmentedFlow const):
2543         (WebCore::LayoutState::setCurrentRenderFragmentedFlow):
2544         (WebCore::LayoutState::currentRenderFlowThread const): Deleted.
2545         (WebCore::LayoutState::setCurrentRenderFlowThread): Deleted.
2546         * rendering/LogicalSelectionOffsetCaches.h:
2547         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::ContainingBlockInfo):
2548         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock):
2549         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalLeftSelectionOffset const):
2550         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalRightSelectionOffset const):
2551         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::hasFloatsOrFragmentedFlows const):
2552         (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
2553         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::hasFloatsOrFlowThreads const): Deleted.
2554         * rendering/RenderBlock.cpp:
2555         (WebCore::RenderBlock::styleDidChange):
2556         (WebCore::RenderBlock::clone const):
2557         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2558         (WebCore::RenderBlock::preparePaginationBeforeBlockLayout):
2559         (WebCore::RenderBlock::addOverflowFromChildren):
2560         (WebCore::RenderBlock::addVisualOverflowFromTheme):
2561         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
2562         (WebCore::RenderBlock::simplifiedLayout):
2563         (WebCore::RenderBlock::isSelectionRoot const):
2564         (WebCore::RenderBlock::selectionGaps):
2565         (WebCore::RenderBlock::insertPositionedObject):
2566         (WebCore::isChildHitTestCandidate):
2567         (WebCore::RenderBlock::cachedEnclosingFragmentedFlow const):
2568         (WebCore::RenderBlock::cachedEnclosingFragmentedFlowNeedsUpdate const):
2569         (WebCore::RenderBlock::setCachedEnclosingFragmentedFlowNeedsUpdate):
2570         (WebCore::RenderBlock::updateCachedEnclosingFragmentedFlow const):
2571         (WebCore::RenderBlock::locateEnclosingFragmentedFlow const):
2572         (WebCore::RenderBlock::resetEnclosingFragmentedFlowAndChildInfoIncludingDescendants):
2573         (WebCore::RenderBlock::absoluteQuads const):
2574         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage const):
2575         (WebCore::RenderBlock::fragmentAtBlockOffset const):
2576         (WebCore::canComputeFragmentRangeForBox):
2577         (WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation const):
2578         (WebCore::RenderBlock::computeFragmentRangeForBoxChild const):
2579         (WebCore::RenderBlock::estimateFragmentRangeForBoxChild const):
2580         (WebCore::RenderBlock::updateFragmentRangeForBoxChild const):
2581         (WebCore::RenderBlock::cachedFlowThreadContainingBlock const): Deleted.
2582         (WebCore::RenderBlock::cachedFlowThreadContainingBlockNeedsUpdate const): Deleted.
2583         (WebCore::RenderBlock::setCachedFlowThreadContainingBlockNeedsUpdate): Deleted.
2584         (WebCore::RenderBlock::updateCachedFlowThreadContainingBlock const): Deleted.
2585         (WebCore::RenderBlock::locateFlowThreadContainingBlock const): Deleted.
2586         (WebCore::RenderBlock::resetFlowThreadContainingBlockAndChildInfoIncludingDescendants): Deleted.
2587         * rendering/RenderBlock.h:
2588         * rendering/RenderBlockFlow.cpp:
2589         (WebCore::RenderBlockFlow::willCreateColumns const):
2590         (WebCore::RenderBlockFlow::layoutBlock):
2591         (WebCore::RenderBlockFlow::layoutBlockChild):
2592         (WebCore::RenderBlockFlow::setStaticInlinePositionForChild):
2593         (WebCore::inNormalFlow):
2594         (WebCore::RenderBlockFlow::applyBeforeBreak):
2595         (WebCore::RenderBlockFlow::applyAfterBreak):
2596         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
2597         (WebCore::RenderBlockFlow::hasNextPage const):
2598         (WebCore::RenderBlockFlow::adjustForUnsplittableChild):
2599         (WebCore::RenderBlockFlow::setPageBreak):
2600         (WebCore::RenderBlockFlow::updateMinimumPageHeight):
2601         (WebCore::RenderBlockFlow::pageLogicalTopForOffset const):
2602         (WebCore::RenderBlockFlow::pageLogicalHeightForOffset const):
2603         (WebCore::RenderBlockFlow::pageRemainingLogicalHeightForOffset const):
2604         (WebCore::RenderBlockFlow::styleDidChange):
2605         (WebCore::RenderBlockFlow::updateStylesForColumnChildren):
2606         (WebCore::RenderBlockFlow::computeOverflow):
2607         (WebCore::RenderBlockFlow::paintColumnRules):
2608         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
2609         (WebCore::RenderBlockFlow::setMultiColumnFlow):
2610         (WebCore::RenderBlockFlow::relayoutForPagination):
2611         (WebCore::RenderBlockFlow::layoutExcludedChildren):
2612         (WebCore::RenderBlockFlow::addChild):
2613         (WebCore::RenderBlockFlow::removeChild):
2614         (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
2615         (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
2616         (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
2617         (WebCore::RenderBlockFlow::computedColumnWidth const):
2618         (WebCore::RenderBlockFlow::computedColumnCount const):
2619         (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed const):
2620         (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed const):
2621         (WebCore::RenderBlockFlow::setMultiColumnFlowThread): Deleted.
2622         * rendering/RenderBlockFlow.h:
2623         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
2624         (WebCore::RenderBlockFlow::multiColumnFlow const):
2625         (WebCore::RenderBlockFlow::multiColumnFlowThread const): Deleted.
2626         * rendering/RenderBlockLineLayout.cpp:
2627         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
2628         (WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
2629         (WebCore::RenderBlockFlow::layoutLineBoxes):
2630         (WebCore::RenderBlockFlow::determineStartPosition):
2631         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
2632         (WebCore::RenderBlockFlow::lineWidthForPaginatedLineChanged const):
2633         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
2634         (WebCore::RenderBlockFlow::updateFragmentForLine const):
2635         * rendering/RenderBox.cpp:
2636         (WebCore::RenderBox::clampToStartAndEndFragments const):
2637         (WebCore::RenderBox::hasFragmentRangeInFragmentedFlow const):
2638         (WebCore::RenderBox::styleDidChange):
2639         (WebCore::RenderBox::absoluteQuads const):
2640         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats const):
2641         (WebCore::RenderBox::containingBlockAvailableLineWidthInFragment const):
2642         (WebCore::RenderBox::offsetFromContainer const):
2643         (WebCore::RenderBox::computeRectForRepaint const):
2644         (WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation const):
2645         (WebCore::RenderBox::availableLogicalHeightUsing const):
2646         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
2647         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):
2648         (WebCore::RenderBox::computePositionedLogicalWidth const):
2649         (WebCore::RenderBox::computePositionedLogicalHeight const):
2650         (WebCore::RenderBox::positionForPoint):
2651         (WebCore::RenderBox::createsNewFormattingContext const):
2652         (WebCore::RenderBox::addVisualEffectOverflow):
2653         (WebCore::RenderBox::addOverflowFromChild):
2654         (WebCore::RenderBox::clearOverflow):
2655         (WebCore::RenderBox::offsetFromLogicalTopOfFirstPage const):
2656         (WebCore::RenderBox::hasFragmentRangeInFlowThread const): Deleted.
2657         * rendering/RenderBox.h:
2658         (WebCore::RenderBox::canHaveOutsideFragmentRange const):
2659         * rendering/RenderBoxModelObject.cpp:
2660         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):
2661         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint const):
2662         * rendering/RenderElement.cpp:
2663         (WebCore::RenderElement::setStyle):
2664         (WebCore::RenderElement::insertChildInternal):
2665         (WebCore::RenderElement::removeChildInternal):
2666         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
2667         (WebCore::RenderElement::adjustFragmentedFlowStateOnContainingBlockChangeIfNeeded):
2668         (WebCore::RenderElement::removeFromRenderFragmentedFlow):
2669         (WebCore::RenderElement::removeFromRenderFragmentedFlowIncludingDescendants):
2670         (WebCore::RenderElement::resetEnclosingFragmentedFlowAndChildInfoIncludingDescendants):
2671         (WebCore::RenderElement::adjustFlowThreadStateOnContainingBlockChangeIfNeeded): Deleted.
2672         (WebCore::RenderElement::removeFromRenderFlowThread): Deleted.
2673         (WebCore::RenderElement::removeFromRenderFlowThreadIncludingDescendants): Deleted.
2674         (WebCore::RenderElement::resetFlowThreadContainingBlockAndChildInfoIncludingDescendants): Deleted.
2675         * rendering/RenderElement.h:
2676         (WebCore::RenderElement::canContainFixedPositionObjects const):
2677         * rendering/RenderFlowThread.cpp: Removed.
2678         * rendering/RenderFlowThread.h: Removed.
2679         * rendering/RenderFragmentContainer.cpp:
2680         (WebCore::RenderFragmentContainer::RenderFragmentContainer):
2681         (WebCore::RenderFragmentContainer::mapFragmentPointIntoFragmentedFlowCoordinates):
2682         (WebCore::RenderFragmentContainer::positionForPoint):
2683         (WebCore::RenderFragmentContainer::pageLogicalWidth const):
2684         (WebCore::RenderFragmentContainer::pageLogicalHeight const):
2685         (WebCore::RenderFragmentContainer::logicalHeightOfAllFragmentedFlowContent const):
2686         (WebCore::RenderFragmentContainer::fragmentedFlowPortionOverflowRect):
2687         (WebCore::RenderFragmentContainer::fragmentedFlowPortionLocation const):
2688         (WebCore::RenderFragmentContainer::overflowRectForFragmentedFlowPortion):
2689         (WebCore::RenderFragmentContainer::pageLogicalTopForOffset const):
2690         (WebCore::RenderFragmentContainer::isFirstFragment const):
2691         (WebCore::RenderFragmentContainer::isLastFragment const):
2692         (WebCore::RenderFragmentContainer::shouldClipFragmentedFlowContent const):
2693         (WebCore::RenderFragmentContainer::styleDidChange):
2694         (WebCore::RenderFragmentContainer::computeOverflowFromFragmentedFlow):
2695         (WebCore::RenderFragmentContainer::repaintFragmentedFlowContent):
2696         (WebCore::RenderFragmentContainer::repaintFragmentedFlowContentRectangle):
2697         (WebCore::RenderFragmentContainer::installFragmentedFlow):
2698         (WebCore::RenderFragmentContainer::attachFragment):
2699         (WebCore::RenderFragmentContainer::detachFragment):
2700         (WebCore::RenderFragmentContainer::logicalTopOfFragmentedFlowContentRect const):
2701         (WebCore::RenderFragmentContainer::logicalBottomOfFragmentedFlowContentRect const):
2702         (WebCore::RenderFragmentContainer::computeIntrinsicLogicalWidths const):
2703         (WebCore::RenderFragmentContainer::adjustFragmentBoundsFromFragmentedFlowPortionRect const):
2704         (WebCore::RenderFragmentContainer::ensureOverflowForBox):
2705         (WebCore::RenderFragmentContainer::rectFlowPortionForBox const):
2706         (WebCore::RenderFragmentContainer::addVisualOverflowForBox):
2707         (WebCore::RenderFragmentContainer::visualOverflowRectForBoxForPropagation):
2708         (WebCore::CurrentRenderFragmentContainerMaintainer::CurrentRenderFragmentContainerMaintainer):
2709         (WebCore::CurrentRenderFragmentContainerMaintainer::~CurrentRenderFragmentContainerMaintainer):
2710         (WebCore::RenderFragmentContainer::mapFragmentPointIntoFlowThreadCoordinates): Deleted.
2711         (WebCore::RenderFragmentContainer::logicalHeightOfAllFlowThreadContent const): Deleted.
2712         (WebCore::RenderFragmentContainer::flowThreadPortionOverflowRect): Deleted.
2713         (WebCore::RenderFragmentContainer::flowThreadPortionLocation const): Deleted.
2714         (WebCore::RenderFragmentContainer::overflowRectForFlowThreadPortion): Deleted.
2715         (WebCore::RenderFragmentContainer::shouldClipFlowThreadContent const): Deleted.
2716         (WebCore::RenderFragmentContainer::computeOverflowFromFlowThread): Deleted.
2717         (WebCore::RenderFragmentContainer::repaintFlowThreadContent): Deleted.
2718         (WebCore::RenderFragmentContainer::repaintFlowThreadContentRectangle): Deleted.
2719         (WebCore::RenderFragmentContainer::installFlowThread): Deleted.
2720         (WebCore::RenderFragmentContainer::logicalTopOfFlowThreadContentRect const): Deleted.
2721         (WebCore::RenderFragmentContainer::logicalBottomOfFlowThreadContentRect const): Deleted.
2722         (WebCore::RenderFragmentContainer::adjustFragmentBoundsFromFlowThreadPortionRect const): Deleted.
2723         * rendering/RenderFragmentContainer.h:
2724         (WebCore::RenderFragmentContainer::setFragmentedFlowPortionRect):
2725         (WebCore::RenderFragmentContainer::fragmentedFlowPortionRect const):
2726         (WebCore::RenderFragmentContainer::fragmentedFlow const):
2727         (WebCore::RenderFragmentContainer::logicalTopForFragmentedFlowContent const):
2728         (WebCore::RenderFragmentContainer::logicalBottomForFragmentedFlowContent const):
2729         (WebCore::RenderFragmentContainer::setFlowThreadPortionRect): Deleted.
2730         (WebCore::RenderFragmentContainer::flowThreadPortionRect const): Deleted.
2731         (WebCore::RenderFragmentContainer::flowThread const): Deleted.
2732         (WebCore::RenderFragmentContainer::logicalTopForFlowThreadContent const): Deleted.
2733         (WebCore::RenderFragmentContainer::logicalBottomForFlowThreadContent const): Deleted.
2734         * rendering/RenderFragmentContainerSet.cpp:
2735         (WebCore::RenderFragmentContainerSet::RenderFragmentContainerSet):
2736         (WebCore::RenderFragmentContainerSet::installFragmentedFlow):
2737         (WebCore::RenderFragmentContainerSet::expandToEncompassFragmentedFlowContentsIfNeeded):
2738         (WebCore::RenderFragmentContainerSet::installFlowThread): Deleted.
2739         (WebCore::RenderFragmentContainerSet::expandToEncompassFlowThreadContentsIfNeeded): Deleted.
2740         * rendering/RenderFragmentContainerSet.h:
2741         * rendering/RenderFragmentedFlow.cpp: Copied from rendering/RenderFlowThread.cpp.
2742         (WebCore::RenderFragmentedFlow::RenderFragmentedFlow):
2743         (WebCore::RenderFragmentedFlow::createFragmentedFlowStyle):
2744         (WebCore::RenderFragmentedFlow::styleDidChange):
2745         (WebCore::RenderFragmentedFlow::removeFlowChildInfo):
2746         (WebCore::RenderFragmentedFlow::removeFragmentFromThread):
2747         (WebCore::RenderFragmentedFlow::invalidateFragments):
2748         (WebCore::RenderFragmentedFlow::validateFragments):
2749         (WebCore::RenderFragmentedFlow::layout):
2750         (WebCore::RenderFragmentedFlow::updateLogicalWidth):
2751         (WebCore::RenderFragmentedFlow::computeLogicalHeight const):
2752         (WebCore::RenderFragmentedFlow::nodeAtPoint):
2753         (WebCore::RenderFragmentedFlow::shouldRepaint const):
2754         (WebCore::RenderFragmentedFlow::repaintRectangleInFragments const):
2755         (WebCore::RenderFragmentedFlow::fragmentAtBlockOffset const):
2756         (WebCore::RenderFragmentedFlow::adjustedPositionRelativeToOffsetParent const):
2757         (WebCore::RenderFragmentedFlow::pageLogicalTopForOffset const):
2758         (WebCore::RenderFragmentedFlow::pageLogicalWidthForOffset const):
2759         (WebCore::RenderFragmentedFlow::pageLogicalHeightForOffset const):
2760         (WebCore::RenderFragmentedFlow::pageRemainingLogicalHeightForOffset const):
2761         (WebCore::RenderFragmentedFlow::mapFromFlowToFragment const):
2762         (WebCore::RenderFragmentedFlow::removeRenderBoxFragmentInfo):
2763         (WebCore::RenderFragmentedFlow::removeLineFragmentInfo):
2764         (WebCore::RenderFragmentedFlow::logicalWidthChangedInFragmentsForBlock):
2765         (WebCore::RenderFragmentedFlow::contentLogicalWidthOfFirstFragment const):
2766         (WebCore::RenderFragmentedFlow::contentLogicalHeightOfFirstFragment const):
2767         (WebCore::RenderFragmentedFlow::contentLogicalLeftOfFirstFragment const):
2768         (WebCore::RenderFragmentedFlow::firstFragment const):
2769         (WebCore::RenderFragmentedFlow::lastFragment const):
2770         (WebCore::RenderFragmentedFlow::clearRenderBoxFragmentInfoAndCustomStyle):
2771         (WebCore::RenderFragmentedFlow::setFragmentRangeForBox):
2772         (WebCore::RenderFragmentedFlow::hasCachedFragmentRangeForBox const):
2773         (WebCore::RenderFragmentedFlow::getFragmentRangeForBoxFromCachedInfo const):
2774         (WebCore::RenderFragmentedFlow::getFragmentRangeForBox const):
2775         (WebCore::RenderFragmentedFlow::computedFragmentRangeForBox const):
2776         (WebCore::RenderFragmentedFlow::fragmentInRange const):
2777         (WebCore::RenderFragmentedFlow::objectShouldFragmentInFlowFragment const):
2778         (WebCore::RenderFragmentedFlow::objectInFlowFragment const):
2779         (WebCore::RenderFragmentedFlow::checkLinesConsistency const):
2780         (WebCore::RenderFragmentedFlow::clearLinesToFragmentMap):
2781         (WebCore::RenderFragmentedFlow::deleteLines):
2782         (WebCore::RenderFragmentedFlow::willBeDestroyed):
2783         (WebCore::RenderFragmentedFlow::markFragmentsForOverflowLayoutIfNeeded):
2784         (WebCore::RenderFragmentedFlow::updateFragmentsFragmentedFlowPortionRect):
2785         (WebCore::RenderFragmentedFlow::addForcedFragmentBreak):
2786         (WebCore::RenderFragmentedFlow::collectLayerFragments):
2787         (WebCore::RenderFragmentedFlow::fragmentsBoundingBox):
2788         (WebCore::RenderFragmentedFlow::offsetFromLogicalTopOfFirstFragment const):
2789         (WebCore::RenderFragmentedFlow::FragmentSearchAdapter::collectIfNeeded):
2790         (WebCore::RenderFragmentedFlow::mapLocalToContainer const):
2791         (WebCore::RenderFragmentedFlow::mapFromLocalToFragmentedFlow const):
2792         (WebCore::RenderFragmentedFlow::mapFromFragmentedFlowToLocal const):
2793         (WebCore::RenderFragmentedFlow::flipForWritingModeLocalCoordinates const):
2794         (WebCore::RenderFragmentedFlow::addFragmentsVisualEffectOverflow):
2795         (WebCore::RenderFragmentedFlow::addFragmentsVisualOverflowFromTheme):
2796         (WebCore::RenderFragmentedFlow::addFragmentsOverflowFromChild):
2797         (WebCore::RenderFragmentedFlow::addFragmentsLayoutOverflow):
2798         (WebCore::RenderFragmentedFlow::addFragmentsVisualOverflow):
2799         (WebCore::RenderFragmentedFlow::clearFragmentsOverflow):
2800         (WebCore::RenderFragmentedFlow::currentFragment const):
2801         (WebCore::RenderFragmentedFlow::containingFragmentMap):
2802         (WebCore::RenderFlowThread::RenderFlowThread): Deleted.
2803         (WebCore::RenderFlowThread::createFlowThreadStyle): Deleted.
2804         (WebCore::RenderFlowThread::styleDidChange): Deleted.
2805         (WebCore::RenderFlowThread::removeFlowChildInfo): Deleted.
2806         (WebCore::RenderFlowThread::removeFragmentFromThread): Deleted.
2807         (WebCore::RenderFlowThread::invalidateFragments): Deleted.
2808         (WebCore::RenderFlowThread::validateFragments): Deleted.
2809         (WebCore::RenderFlowThread::layout): Deleted.
2810         (WebCore::RenderFlowThread::updateLogicalWidth): Deleted.
2811         (WebCore::RenderFlowThread::computeLogicalHeight const): Deleted.
2812         (WebCore::RenderFlowThread::nodeAtPoint): Deleted.
2813         (WebCore::RenderFlowThread::shouldRepaint const): Deleted.
2814         (WebCore::RenderFlowThread::repaintRectangleInFragments const): Deleted.
2815         (WebCore::RenderFlowThread::fragmentAtBlockOffset const): Deleted.
2816         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const): Deleted.
2817         (WebCore::RenderFlowThread::pageLogicalTopForOffset const): Deleted.
2818         (WebCore::RenderFlowThread::pageLogicalWidthForOffset const): Deleted.
2819         (WebCore::RenderFlowThread::pageLogicalHeightForOffset const): Deleted.
2820         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset const): Deleted.
2821         (WebCore::RenderFlowThread::mapFromFlowToFragment const): Deleted.
2822         (WebCore::RenderFlowThread::removeRenderBoxFragmentInfo): Deleted.
2823         (WebCore::RenderFlowThread::removeLineFragmentInfo): Deleted.
2824         (WebCore::RenderFlowThread::logicalWidthChangedInFragmentsForBlock): Deleted.
2825         (WebCore::RenderFlowThread::contentLogicalWidthOfFirstFragment const): Deleted.
2826         (WebCore::RenderFlowThread::contentLogicalHeightOfFirstFragment const): Deleted.
2827         (WebCore::RenderFlowThread::contentLogicalLeftOfFirstFragment const): Deleted.
2828         (WebCore::RenderFlowThread::firstFragment const): Deleted.
2829         (WebCore::RenderFlowThread::lastFragment const): Deleted.
2830         (WebCore::RenderFlowThread::clearRenderBoxFragmentInfoAndCustomStyle): Deleted.
2831         (WebCore::RenderFlowThread::setFragmentRangeForBox): Deleted.
2832         (WebCore::RenderFlowThread::hasCachedFragmentRangeForBox const): Deleted.
2833         (WebCore::RenderFlowThread::getFragmentRangeForBoxFromCachedInfo const): Deleted.
2834         (WebCore::RenderFlowThread::getFragmentRangeForBox const): Deleted.
2835         (WebCore::RenderFlowThread::computedFragmentRangeForBox const): Deleted.
2836         (WebCore::RenderFlowThread::fragmentInRange const): Deleted.
2837         (WebCore::RenderFlowThread::objectShouldFragmentInFlowFragment const): Deleted.
2838         (WebCore::RenderFlowThread::objectInFlowFragment const): Deleted.
2839         (WebCore::RenderFlowThread::checkLinesConsistency const): Deleted.
2840         (WebCore::RenderFlowThread::clearLinesToFragmentMap): Deleted.
2841         (WebCore::RenderFlowThread::deleteLines): Deleted.
2842         (WebCore::RenderFlowThread::willBeDestroyed): Deleted.
2843         (WebCore::RenderFlowThread::markFragmentsForOverflowLayoutIfNeeded): Deleted.
2844         (WebCore::RenderFlowThread::updateFragmentsFlowThreadPortionRect): Deleted.
2845         (WebCore::RenderFlowThread::addForcedFragmentBreak): Deleted.
2846         (WebCore::RenderFlowThread::collectLayerFragments): Deleted.
2847         (WebCore::RenderFlowThread::fragmentsBoundingBox): Deleted.
2848         (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstFragment const): Deleted.
2849         (WebCore::RenderFlowThread::FragmentSearchAdapter::collectIfNeeded): Deleted.
2850         (WebCore::RenderFlowThread::mapLocalToContainer const): Deleted.
2851         (WebCore::RenderFlowThread::mapFromLocalToFlowThread const): Deleted.
2852         (WebCore::RenderFlowThread::mapFromFlowThreadToLocal const): Deleted.
2853         (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates const): Deleted.
2854         (WebCore::RenderFlowThread::addFragmentsVisualEffectOverflow): Deleted.
2855         (WebCore::RenderFlowThread::addFragmentsVisualOverflowFromTheme): Deleted.
2856         (WebCore::RenderFlowThread::addFragmentsOverflowFromChild): Deleted.
2857         (WebCore::RenderFlowThread::addFragmentsLayoutOverflow): Deleted.
2858         (WebCore::RenderFlowThread::addFragmentsVisualOverflow): Deleted.
2859         (WebCore::RenderFlowThread::clearFragmentsOverflow): Deleted.
2860         (WebCore::RenderFlowThread::currentFragment const): Deleted.
2861         (WebCore::RenderFlowThread::containingFragmentMap): Deleted.
2862         * rendering/RenderFragmentedFlow.h: Copied from rendering/RenderFlowThread.h.
2863         * rendering/RenderGeometryMap.cpp:
2864         (WebCore::canMapBetweenRenderersViaLayers):
2865         (WebCore::RenderGeometryMap::pushRenderFragmentedFlow):
2866         (WebCore::RenderGeometryMap::pushRenderFlowThread): Deleted.
2867         * rendering/RenderGeometryMap.h:
2868         * rendering/RenderImage.cpp:
2869         (WebCore::RenderImage::layoutShadowControls):
2870         * rendering/RenderInline.cpp:
2871         (WebCore::RenderInline::addChild):
2872         (WebCore::RenderInline::clone const):
2873         (WebCore::RenderInline::splitInlines):
2874         (WebCore::RenderInline::offsetFromContainer const):
2875         * rendering/RenderLayer.cpp:
2876         (WebCore::RenderLayer::updateLayerPositions):
2877         (WebCore::RenderLayer::updatePagination):
2878         (WebCore::transparencyClipBox):
2879         (WebCore::accumulateOffsetTowardsAncestor):
2880         (WebCore::RenderLayer::paintLayerContents):
2881         (WebCore::RenderLayer::collectFragments):
2882         (WebCore::RenderLayer::hitTest):
2883         (WebCore::RenderLayer::enclosingFragmentedFlowAncestor const):
2884         (WebCore::RenderLayer::hitTestContents const):
2885         (WebCore::RenderLayer::calculateClipRects const):
2886         (WebCore::RenderLayer::enclosingFlowThreadAncestor const): Deleted.
2887         * rendering/RenderLayer.h:
2888         * rendering/RenderLayerBacking.cpp:
2889         (WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
2890         * rendering/RenderLayerCompositor.cpp:
2891         (WebCore::RenderLayerCompositor::canBeComposited const):
2892         * rendering/RenderMedia.cpp:
2893         * rendering/RenderMultiColumnFlow.cpp: Copied from rendering/RenderMultiColumnFlowThread.cpp.
2894         (WebCore::RenderMultiColumnFlow::RenderMultiColumnFlow):
2895         (WebCore::RenderMultiColumnFlow::~RenderMultiColumnFlow):
2896         (WebCore::RenderMultiColumnFlow::renderName const):
2897         (WebCore::RenderMultiColumnFlow::firstMultiColumnSet const):
2898         (WebCore::RenderMultiColumnFlow::lastMultiColumnSet const):
2899         (WebCore::RenderMultiColumnFlow::firstColumnSetOrSpanner const):
2900         (WebCore::RenderMultiColumnFlow::nextColumnSetOrSpannerSiblingOf):
2901         (WebCore::RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf):
2902         (WebCore::RenderMultiColumnFlow::layout):
2903         (WebCore::findSetRendering):
2904         (WebCore::RenderMultiColumnFlow::populate):
2905         (WebCore::RenderMultiColumnFlow::evacuateAndDestroy):
2906         (WebCore::RenderMultiColumnFlow::addFragmentToThread):
2907         (WebCore::RenderMultiColumnFlow::willBeRemovedFromTree):
2908         (WebCore::RenderMultiColumnFlow::resolveMovedChild const):
2909         (WebCore::isValidColumnSpanner):
2910         (WebCore::spannerPlacehoderCandidate):
2911         (WebCore::RenderMultiColumnFlow::processPossibleSpannerDescendant):
2912         (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):
2913         (WebCore::RenderMultiColumnFlow::handleSpannerRemoval):
2914         (WebCore::RenderMultiColumnFlow::fragmentedFlowRelativeWillBeRemoved):
2915         (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantBoxLaidOut):
2916         (WebCore::RenderMultiColumnFlow::computeLogicalHeight const):
2917         (WebCore::RenderMultiColumnFlow::initialLogicalWidth const):
2918         (WebCore::RenderMultiColumnFlow::setPageBreak):
2919         (WebCore::RenderMultiColumnFlow::updateMinimumPageHeight):
2920         (WebCore::RenderMultiColumnFlow::fragmentAtBlockOffset const):
2921         (WebCore::RenderMultiColumnFlow::setFragmentRangeForBox):
2922         (WebCore::RenderMultiColumnFlow::addForcedFragmentBreak):
2923         (WebCore::RenderMultiColumnFlow::computeLineGridPaginationOrigin const):
2924         (WebCore::RenderMultiColumnFlow::offsetFromContainer const):
2925         (WebCore::RenderMultiColumnFlow::mapAbsoluteToLocalPoint const):
2926         (WebCore::RenderMultiColumnFlow::physicalTranslationFromFragmentToFlow const):
2927         (WebCore::RenderMultiColumnFlow::mapFromFlowToFragment const):
2928         (WebCore::RenderMultiColumnFlow::physicalTranslationOffsetFromFlowToFragment const):
2929         (WebCore::RenderMultiColumnFlow::physicalTranslationFromFlowToFragment const):
2930         (WebCore::RenderMultiColumnFlow::isPageLogicalHeightKnown const):
2931         (WebCore::RenderMultiColumnFlow::nodeAtPoint):
2932         (WebCore::RenderMultiColumnFlow::shouldCheckColumnBreaks const):
2933         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): Deleted.
2934         (WebCore::RenderMultiColumnFlowThread::~RenderMultiColumnFlowThread): Deleted.
2935         (WebCore::RenderMultiColumnFlowThread::renderName const): Deleted.
2936         (WebCore::RenderMultiColumnFlowThread::firstMultiColumnSet const): Deleted.
2937         (WebCore::RenderMultiColumnFlowThread::lastMultiColumnSet const): Deleted.
2938         (WebCore::RenderMultiColumnFlowThread::firstColumnSetOrSpanner const): Deleted.
2939         (WebCore::RenderMultiColumnFlowThread::nextColumnSetOrSpannerSiblingOf): Deleted.
2940         (WebCore::RenderMultiColumnFlowThread::previousColumnSetOrSpannerSiblingOf): Deleted.
2941         (WebCore::RenderMultiColumnFlowThread::layout): Deleted.
2942         (WebCore::RenderMultiColumnFlowThread::populate): Deleted.
2943         (WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy): Deleted.
2944         (WebCore::RenderMultiColumnFlowThread::addFragmentToThread): Deleted.
2945         (WebCore::RenderMultiColumnFlowThread::willBeRemovedFromTree): Deleted.
2946         (WebCore::RenderMultiColumnFlowThread::resolveMovedChild const): Deleted.
2947         (WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant): Deleted.
2948         (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted): Deleted.
2949         (WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval): Deleted.
2950         (WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved): Deleted.
2951         (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantBoxLaidOut): Deleted.
2952         (WebCore::RenderMultiColumnFlowThread::computeLogicalHeight const): Deleted.
2953         (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth const): Deleted.
2954         (WebCore::RenderMultiColumnFlowThread::setPageBreak): Deleted.
2955         (WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight): Deleted.
2956         (WebCore::RenderMultiColumnFlowThread::fragmentAtBlockOffset const): Deleted.
2957         (WebCore::RenderMultiColumnFlowThread::setFragmentRangeForBox): Deleted.
2958         (WebCore::RenderMultiColumnFlowThread::addForcedFragmentBreak): Deleted.
2959         (WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin const): Deleted.
2960         (WebCore::RenderMultiColumnFlowThread::offsetFromContainer const): Deleted.
2961         (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint const): Deleted.
2962         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFragmentToFlow const): Deleted.
2963         (WebCore::RenderMultiColumnFlowThread::mapFromFlowToFragment const): Deleted.
2964         (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToFragment const): Deleted.
2965         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToFragment const): Deleted.
2966         (WebCore::RenderMultiColumnFlowThread::isPageLogicalHeightKnown const): Deleted.
2967         (WebCore::RenderMultiColumnFlowThread::nodeAtPoint): Deleted.
2968         (WebCore::RenderMultiColumnFlowThread::shouldCheckColumnBreaks const): Deleted.
2969         * rendering/RenderMultiColumnFlow.h: Copied from rendering/RenderMultiColumnFlowThread.h.
2970         * rendering/RenderMultiColumnFlowThread.cpp: Removed.
2971         * rendering/RenderMultiColumnFlowThread.h: Removed.
2972         * rendering/RenderMultiColumnSet.cpp:
2973         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2974         (WebCore::RenderMultiColumnSet::firstRendererInFragmentedFlow const):
2975         (WebCore::RenderMultiColumnSet::lastRendererInFragmentedFlow const):
2976         (WebCore::RenderMultiColumnSet::containsRendererInFragmentedFlow const):
2977         (WebCore::RenderMultiColumnSet::setLogicalTopInFragmentedFlow):
2978         (WebCore::RenderMultiColumnSet::setLogicalBottomInFragmentedFlow):
2979         (WebCore::RenderMultiColumnSet::pageLogicalTopForOffset const):
2980         (WebCore::RenderMultiColumnSet::setAndConstrainColumnHeight):
2981         (WebCore::RenderMultiColumnSet::distributeImplicitBreaks):
2982         (WebCore::RenderMultiColumnSet::calculateBalancedHeight const):
2983         (WebCore::RenderMultiColumnSet::recalculateColumnHeight):
2984         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
2985         (WebCore::RenderMultiColumnSet::requiresBalancing const):
2986         (WebCore::RenderMultiColumnSet::prepareForLayout):
2987         (WebCore::RenderMultiColumnSet::beginFlow):
2988         (WebCore::RenderMultiColumnSet::endFlow):
2989         (WebCore::RenderMultiColumnSet::layout):
2990         (WebCore::RenderMultiColumnSet::calculateMaxColumnHeight const):
2991         (WebCore::RenderMultiColumnSet::columnCount const):
2992         (WebCore::RenderMultiColumnSet::columnLogicalLeft const):
2993         (WebCore::RenderMultiColumnSet::columnLogicalTop const):
2994         (WebCore::RenderMultiColumnSet::columnIndexAtOffset const):
2995         (WebCore::RenderMultiColumnSet::fragmentedFlowPortionRectAt const):
2996         (WebCore::RenderMultiColumnSet::fragmentedFlowPortionOverflowRect):
2997         (WebCore::RenderMultiColumnSet::paintColumnRules):
2998         (WebCore::RenderMultiColumnSet::repaintFragmentedFlowContent):
2999         (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting const):
3000         (WebCore::RenderMultiColumnSet::collectLayerFragments):
3001         (WebCore::RenderMultiColumnSet::columnTranslationForOffset const):
3002         (WebCore::RenderMultiColumnSet::adjustFragmentBoundsFromFragmentedFlowPortionRect const):
3003         (WebCore::RenderMultiColumnSet::positionForPoint):
3004         (WebCore::RenderMultiColumnSet::translateFragmentPointToFragmentedFlow const):
3005         (WebCore::RenderMultiColumnSet::updateHitTestResult):
3006         (WebCore::RenderMultiColumnSet::firstRendererInFlowThread const): Deleted.
3007         (WebCore::RenderMultiColumnSet::lastRendererInFlowThread const): Deleted.
3008         (WebCore::RenderMultiColumnSet::containsRendererInFlowThread const): Deleted.
3009         (WebCore::RenderMultiColumnSet::setLogicalTopInFlowThread): Deleted.
3010         (WebCore::RenderMultiColumnSet::setLogicalBottomInFlowThread): Deleted.
3011         (WebCore::RenderMultiColumnSet::flowThreadPortionRectAt const): Deleted.
3012         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect): Deleted.
3013         (WebCore::RenderMultiColumnSet::repaintFlowThreadContent): Deleted.
3014         (WebCore::RenderMultiColumnSet::adjustFragmentBoundsFromFlowThreadPortionRect const): Deleted.
3015         (WebCore::RenderMultiColumnSet::translateFragmentPointToFlowThread const): Deleted.
3016         * rendering/RenderMultiColumnSet.h:
3017         * rendering/RenderMultiColumnSpannerPlaceholder.cpp:
3018         (WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
3019         (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
3020         * rendering/RenderMultiColumnSpannerPlaceholder.h:
3021         * rendering/RenderObject.cpp:
3022         (WebCore::RenderObject::setFragmentedFlowStateIncludingDescendants):
3023         (WebCore::RenderObject::computedFragmentedFlowState):
3024         (WebCore::RenderObject::initializeFragmentedFlowStateOnInsertion):
3025         (WebCore::RenderObject::resetFragmentedFlowStateOnRemoval):
3026         (WebCore::RenderObject::containerForRepaint const):
3027         (WebCore::RenderObject::repaintUsingContainer const):
3028         (WebCore::enclosingFragmentedFlowFromRenderer):
3029         (WebCore::RenderObject::outputRegionsInformation const):
3030         (WebCore::RenderObject::selectionRoot const):
3031         (WebCore::RenderObject::offsetFromContainer const):
3032         (WebCore::RenderObject::insertedIntoTree):
3033         (WebCore::RenderObject::locateEnclosingFragmentedFlow const):
3034         (WebCore::RenderObject::setIsRenderFragmentedFlow):
3035         (WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Deleted.
3036         (WebCore::RenderObject::computedFlowThreadState): Deleted.
3037         (WebCore::RenderObject::initializeFlowThreadStateOnInsertion): Deleted.
3038         (WebCore::RenderObject::resetFlowThreadStateOnRemoval): Deleted.
3039         (WebCore::flowThreadContainingBlockFromRenderer): Deleted.
3040         (WebCore::RenderObject::locateFlowThreadContainingBlock const): Deleted.
3041         (WebCore::RenderObject::setIsRenderFlowThread): Deleted.
3042         * rendering/RenderObject.h:
3043         (WebCore::RenderObject::enclosingFragmentedFlow const):
3044         (WebCore::RenderObject::isInFlowRenderFragmentedFlow const):
3045         (WebCore::RenderObject::isOutOfFlowRenderFragmentedFlow const):
3046         (WebCore::RenderObject::isRenderMultiColumnFlow const):
3047         (WebCore::RenderObject::fragmentedFlowState const):
3048         (WebCore::RenderObject::setFragmentedFlowState):
3049         (WebCore::RenderObject::isAnonymousBlock const):
3050         (WebCore::RenderObject::isRenderFragmentedFlow const):
3051         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
3052         (WebCore::RenderObject::RenderObjectBitfields::fragmentedFlowState const):
3053         (WebCore::RenderObject::RenderObjectBitfields::setFragmentedFlowState):
3054         (WebCore::RenderObject::RenderObjectRareData::RenderObjectRareData):
3055         (WebCore::RenderObject::flowThreadContainingBlock const): Deleted.
3056         (WebCore::RenderObject::isInFlowRenderFlowThread const): Deleted.
3057         (WebCore::RenderObject::isOutOfFlowRenderFlowThread const): Deleted.
3058         (WebCore::RenderObject::isRenderMultiColumnFlowThread const): Deleted.
3059         (WebCore::RenderObject::flowThreadState const): Deleted.
3060         (WebCore::RenderObject::setFlowThreadState): Deleted.
3061         (WebCore::RenderObject::isRenderFlowThread const): Deleted.
3062         (WebCore::RenderObject::RenderObjectBitfields::flowThreadState const): Deleted.
3063         (WebCore::RenderObject::RenderObjectBitfields::setFlowThreadState): Deleted.
3064         * rendering/RenderReplaced.cpp:
3065         * rendering/RenderRuby.cpp:
3066         (WebCore::isRubyChildForNormalRemoval):
3067         * rendering/RenderTextFragment.cpp:
3068         (WebCore::RenderTextFragment::blockForAccompanyingFirstLetter):
3069         * rendering/RenderView.cpp:
3070         (WebCore::RenderView::availableLogicalHeight const):
3071         (WebCore::RenderView::pageOrViewLogicalHeight const):
3072         (WebCore::RenderView::updateHitTestResult):
3073         (WebCore::RenderView::pageNumberForBlockProgressionOffset const):
3074         (WebCore::RenderView::pageCount const):
3075         * rendering/RenderView.h:
3076         * rendering/RenderingAllInOne.cpp:
3077         * rendering/RootInlineBox.cpp:
3078         (WebCore::containingFragmentMap):
3079         (WebCore::RootInlineBox::~RootInlineBox):
3080         (WebCore::RootInlineBox::containingFragment const):
3081         * rendering/SimpleLineLayout.cpp:
3082         (WebCore::SimpleLineLayout::canUseForWithReason):
3083         * rendering/line/LineLayoutState.h:
3084         (WebCore::LineLayoutState::LineLayoutState):
3085         (WebCore::LineLayoutState::fragmentedFlow const):
3086         (WebCore::LineLayoutState::setFragmentedFlow):
3087         (WebCore::LineLayoutState::flowThread const): Deleted.
3088         (WebCore::LineLayoutState::setFlowThread): Deleted.
3089         * rendering/svg/RenderSVGText.cpp:
3090         (WebCore::RenderSVGText::layout):
3091         * style/RenderTreePosition.h:
3092         * style/RenderTreeUpdaterListItem.cpp:
3093         (WebCore::RenderTreeUpdater::ListItem::updateMarker):
3094         * style/RenderTreeUpdaterMultiColumn.cpp:
3095         (WebCore::RenderTreeUpdater::MultiColumn::update):
3096         (WebCore::RenderTreeUpdater::MultiColumn::createFragmentedFlow):
3097         (WebCore::RenderTreeUpdater::MultiColumn::createFlowThread): Deleted.
3098         * style/RenderTreeUpdaterMultiColumn.h:
3099         * style/StyleResolveForDocument.cpp:
3100         (WebCore::Style::resolveForDocument):
3101
3102 2017-09-27  Don Olmstead  <don.olmstead@sony.com>
3103
3104         Default to void* for platform widgets
3105         https://bugs.webkit.org/show_bug.cgi?id=177518
3106
3107         Reviewed by Michael Catanzaro.
3108
3109         No new tests. No change in behavior.
3110
3111         * platform/Cursor.h:
3112         * platform/DragData.h:
3113         * platform/Widget.h:
3114
3115 2017-09-27  Youenn Fablet  <youenn@apple.com>
3116
3117         [Fetch API] Cloning an opaque response should not assert
3118         https://bugs.webkit.org/show_bug.cgi?id=177548
3119
3120         Reviewed by Sam Weinig.
3121
3122         Test: http/wpt/fetch/response-opaque-clone.html
3123
3124         * Modules/fetch/FetchBodyOwner.cpp:
3125         (WebCore::FetchBodyOwner::readableStream): Returning null if response is opaque.
3126         * Modules/fetch/FetchResponse.cpp:
3127         (WebCore::FetchResponse::clone): Making sure cloned responses keep their opaque state.
3128         (WebCore::FetchResponse::consumeBodyAsStream): Removing assertion as we need to create a stream for cloning.
3129
3130 2017-09-26  Joseph Pecoraro  <pecoraro@apple.com>
3131
3132         Web Inspector: Remove unused parameter of Page.reload
3133         https://bugs.webkit.org/show_bug.cgi?id=177522
3134
3135         Reviewed by Matt Baker.
3136
3137         * inspector/InspectorInstrumentation.cpp:
3138         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
3139         * inspector/InspectorPageAgent.cpp:
3140         (WebCore::InspectorPageAgent::reload):
3141         (WebCore::InspectorPageAgent::frameNavigated):
3142         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): Deleted.
3143         * inspector/InspectorPageAgent.h:
3144
3145 2017-09-27  Chris Dumez  <cdumez@apple.com>
3146
3147         cssFloat missing in CSSPropertyDeclaration.prototype
3148         https://bugs.webkit.org/show_bug.cgi?id=177487
3149
3150         Reviewed by Sam Weinig.
3151
3152         Add support for cssFloat attribute on CSSPropertyDeclaration, as per:
3153         - https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-cssfloat
3154
3155         Test: fast/css/CSSStyleDeclaration-cssFloat.html
3156
3157         * css/CSSStyleDeclaration.cpp:
3158         (WebCore::CSSStyleDeclaration::cssFloat):
3159         (WebCore::CSSStyleDeclaration::setCssFloat):
3160         * css/CSSStyleDeclaration.h:
3161         * css/CSSStyleDeclaration.idl:
3162
3163 2017-09-27  Antti Koivisto  <antti@apple.com>
3164
3165         Ref element keys in CSSAnimationControllerPrivate
3166         https://bugs.webkit.org/show_bug.cgi?id=177543
3167
3168         Reviewed by Zalan Bujtas.
3169
3170         For safety.
3171
3172         * page/animation/CSSAnimationControllerPrivate.h:
3173
3174         This won't create ref cycle as elements are removed from the m_compositeAnimations maps when they
3175         are removed from the tree. We have assertions that verify the map is always cleared.
3176
3177 2017-09-27  David Hyatt  <hyatt@apple.com>
3178
3179         Rename "Region" to "Fragment" for RenderRegion and associated classes/methods.
3180         https://bugs.webkit.org/show_bug.cgi?id=177506
3181
3182         Reviewed by Zalan Bujtas.
3183
3184         * WebCore.xcodeproj/project.pbxproj:
3185         * css/CSSPrimitiveValueMappings.h:
3186         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3187         (WebCore::CSSPrimitiveValue::operator BreakInside const):
3188         * css/CSSValueKeywords.in:
3189         * dom/Element.cpp:
3190         * platform/graphics/cg/GraphicsContextCG.cpp:
3191         * rendering/FixedTableLayout.cpp:
3192         (WebCore::FixedTableLayout::calcWidthArray):
3193         * rendering/GridTrackSizingAlgorithm.cpp:
3194         (WebCore::computeMarginLogicalSizeForChild):
3195         (WebCore::IndefiniteSizeStrategy::minLogicalWidthForChild const):
3196         (WebCore::DefiniteSizeStrategy::minLogicalWidthForChild const):
3197         * rendering/RenderBlock.cpp:
3198         (WebCore::RenderBlock::preparePaginationBeforeBlockLayout):
3199         (WebCore::RenderBlock::addOverflowFromChildren):
3200         (WebCore::RenderBlock::clearLayoutOverflow):
3201         (WebCore::RenderBlock::addVisualOverflowFromTheme):
3202         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
3203         (WebCore::RenderBlock::simplifiedLayout):
3204         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
3205         (WebCore::RenderBlock::layoutPositionedObject):
3206         (WebCore::RenderBlock::selectionGaps):
3207         (WebCore::RenderBlock::logicalLeftOffsetForContent const):
3208         (WebCore::RenderBlock::logicalRightOffsetForContent const):
3209         (WebCore::RenderBlock::adjustLogicalLeftOffsetForLine const):
3210         (WebCore::RenderBlock::adjustLogicalRightOffsetForLine const):
3211         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3212         (WebCore::isChildHitTestCandidate):
3213         (WebCore::RenderBlock::positionForPoint):
3214         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage const):
3215         (WebCore::RenderBlock::fragmentAtBlockOffset const):
3216         (WebCore::canComputeFragmentRangeForBox):
3217         (WebCore::RenderBlock::computeFragmentRangeForBoxChild const):
3218         (WebCore::RenderBlock::estimateFragmentRangeForBoxChild const):
3219         (WebCore::RenderBlock::updateFragmentRangeForBoxChild const):
3220         (WebCore::RenderBlock::regionAtBlockOffset const): Deleted.
3221         (WebCore::canComputeRegionRangeForBox): Deleted.
3222         (WebCore::RenderBlock::computeRegionRangeForBoxChild const): Deleted.
3223         (WebCore::RenderBlock::estimateRegionRangeForBoxChild const): Deleted.
3224         (WebCore::RenderBlock::updateRegionRangeForBoxChild const): Deleted.
3225         * rendering/RenderBlock.h:
3226         (WebCore::RenderBlock::availableLogicalWidthForLineInFragment const):
3227         (WebCore::RenderBlock::logicalRightOffsetForLineInFragment const):
3228         (WebCore::RenderBlock::logicalLeftOffsetForLineInFragment const):
3229         (WebCore::RenderBlock::startOffsetForLineInFragment const):
3230         (WebCore::RenderBlock::endOffsetForLineInFragment const):
3231         (WebCore::RenderBlock::availableLogicalWidthForLine const):
3232         (WebCore::RenderBlock::availableLogicalWidthForContent const):
3233         (WebCore::RenderBlock::startOffsetForContent const):
3234         (WebCore::RenderBlock::endOffsetForContent const):
3235         (WebCore::RenderBlock::logicalLeftOffsetForContent const):
3236         (WebCore::RenderBlock::logicalRightOffsetForContent const):
3237         (WebCore::RenderBlock::availableLogicalWidthForLineInRegion const): Deleted.
3238         (WebCore::RenderBlock::logicalRightOffsetForLineInRegion const): Deleted.
3239         (WebCore::RenderBlock::logicalLeftOffsetForLineInRegion const): Deleted.
3240         (WebCore::RenderBlock::startOffsetForLineInRegion const): Deleted.
3241         (WebCore::RenderBlock::endOffsetForLineInRegion const): Deleted.
3242         * rendering/RenderBlockFlow.cpp:
3243         (WebCore::RenderBlockFlow::layoutBlock):
3244         (WebCore::RenderBlockFlow::layoutBlockChild):
3245         (WebCore::RenderBlockFlow::setStaticInlinePositionForChild):
3246         (WebCore::RenderBlockFlow::applyBeforeBreak):
3247         (WebCore::RenderBlockFlow::applyAfterBreak):
3248         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
3249         (WebCore::RenderBlockFlow::hasNextPage const):
3250         (WebCore::RenderBlockFlow::adjustForUnsplittableChild):
3251         (WebCore::RenderBlockFlow::pushToNextPageWithMinimumLogicalHeight const):
3252         (WebCore::RenderBlockFlow::positionNewFloats):
3253         (WebCore::RenderBlockFlow::getClearDelta):
3254         (WebCore::RenderBlockFlow::needsLayoutAfterFragmentRangeChange const):
3255         (WebCore::RenderBlockFlow::findClosestTextAtAbsolutePoint):
3256         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
3257         (WebCore::RenderBlockFlow::positionForPoint):
3258         (WebCore::RenderBlockFlow::layoutExcludedChildren):
3259         (WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange const): Deleted.
3260         * rendering/RenderBlockFlow.h:
3261         * rendering/RenderBlockLineLayout.cpp:
3262         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
3263         (WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
3264         (WebCore::RenderBlockFlow::layoutLineBoxes):
3265         (WebCore::RenderBlockFlow::determineStartPosition):
3266         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
3267         (WebCore::RenderBlockFlow::lineWidthForPaginatedLineChanged const):
3268         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
3269         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
3270         (WebCore::RenderBlockFlow::updateFragmentForLine const):
3271         (WebCore::RenderBlockFlow::updateRegionForLine const): Deleted.
3272         * rendering/RenderBox.cpp:
3273         (WebCore::RenderBox::clampToStartAndEndFragments const):
3274         (WebCore::RenderBox::hasFragmentRangeInFlowThread const):
3275         (WebCore::RenderBox::clientBoxRectInFragment const):
3276         (WebCore::RenderBox::borderBoxRectInFragment const):
3277         (WebCore::RenderBox::constrainLogicalWidthInFragmentByMinMax const):
3278         (WebCore::RenderBox::nodeAtPoint):
3279         (WebCore::RenderBox::paintBoxDecorations):
3280         (WebCore::RenderBox::overflowClipRect):
3281         (WebCore::RenderBox::clipRect):
3282         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats const):
3283         (WebCore::RenderBox::containingBlockLogicalWidthForContentInFragment const):
3284         (WebCore::RenderBox::containingBlockAvailableLineWidthInFragment const):
3285         (WebCore::RenderBox::offsetFromContainer const):
3286         (WebCore::RenderBox::computeRectForRepaint const):
3287         (WebCore::RenderBox::updateLogicalWidth):
3288         (WebCore::RenderBox::computeLogicalWidthInFragment const):
3289         (WebCore::RenderBox::computeLogicalWidthInFragmentUsing const):
3290         (WebCore::RenderBox::renderBoxFragmentInfo const):
3291         (WebCore::tableCellShouldHaveZeroInitialSize):
3292         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
3293         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):
3294         (WebCore::computeInlineStaticDistance):
3295         (WebCore::RenderBox::computePositionedLogicalWidth const):
3296         (WebCore::RenderBox::computePositionedLogicalHeight const):
3297         (WebCore::RenderBox::computePositionedLogicalWidthReplaced const):
3298         (WebCore::RenderBox::positionForPoint):
3299         (WebCore::RenderBox::createsNewFormattingContext const):
3300         (WebCore::RenderBox::addVisualEffectOverflow):
3301         (WebCore::RenderBox::addOverflowFromChild):
3302         (WebCore::RenderBox::clearOverflow):
3303         (WebCore::RenderBox::clampToStartAndEndRegions const): Deleted.
3304         (WebCore::RenderBox::hasRegionRangeInFlowThread const): Deleted.
3305         (WebCore::RenderBox::clientBoxRectInRegion const): Deleted.
3306         (WebCore::RenderBox::borderBoxRectInRegion const): Deleted.
3307         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax const): Deleted.
3308         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion const): Deleted.
3309         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion const): Deleted.
3310         (WebCore::RenderBox::computeLogicalWidthInRegion const): Deleted.
3311         (WebCore::RenderBox::computeLogicalWidthInRegionUsing const): Deleted.
3312         (WebCore::RenderBox::renderBoxRegionInfo const): Deleted.
3313         * rendering/RenderBox.h:
3314         (WebCore::RenderBox::overflowClipRectForChildLayers):
3315         (WebCore::RenderBox::canHaveOutsideFragmentRange const):
3316         (WebCore::RenderBox::needsLayoutAfterFragmentRangeChange const):
3317         (WebCore::RenderBox::canHaveOutsideRegionRange const): Deleted.
3318         (WebCore::RenderBox::needsLayoutAfterRegionRangeChange const): Deleted.
3319         * rendering/RenderBoxFragmentInfo.h: Copied from rendering/RenderBoxRegionInfo.h.
3320         (WebCore::RenderBoxFragmentInfo::RenderBoxFragmentInfo):
3321         (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo): Deleted.
3322         (WebCore::RenderBoxRegionInfo::logicalLeft const): Deleted.
3323         (WebCore::RenderBoxRegionInfo::logicalWidth const): Deleted.
3324         (WebCore::RenderBoxRegionInfo::shiftLogicalLeft): Deleted.
3325         (WebCore::RenderBoxRegionInfo::isShifted const): Deleted.
3326         (WebCore::RenderBoxRegionInfo::createOverflow): Deleted.
3327         (WebCore::RenderBoxRegionInfo::overflow const): Deleted.
3328         (WebCore::RenderBoxRegionInfo::clearOverflow): Deleted.
3329         * rendering/RenderBoxModelObject.cpp:
3330         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):
3331         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint const):
3332         * rendering/RenderBoxModelObject.h:
3333