Unreviewed. Fix GTK+ build after r168209.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-05-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2
3         Unreviewed. Fix GTK+ build after r168209.
4
5         * platform/leveldb/LevelDBDatabase.cpp:
6         (WebCore::LevelDBDatabase::write):
7
8 2014-05-03  Zalan Bujtas  <zalan@apple.com>
9
10         Subpixel rendering: Fieldset legend has a horizontal line through, when the fieldset is painted on odd device pixel position.
11         https://bugs.webkit.org/show_bug.cgi?id=132521
12         <rdar://problem/16803305>
13
14         Reviewed by Simon Fraser.
15
16         Use device pixel snapping when the fieldset's border gets clipped out for the legend's text. It ensures that
17         the device pixel snapped border gets properly clipped out.
18
19         Existing fieldset tests cover it.
20
21         * rendering/RenderFieldset.cpp:
22         (WebCore::RenderFieldset::paintBoxDecorations):
23
24 2014-05-02  Zalan Bujtas  <zalan@apple.com>
25
26         CodeCleanup: Remove *MaintainsPixelAlignment from GraphicsLayer*.
27         https://bugs.webkit.org/show_bug.cgi?id=132501
28
29         Reviewed by Simon Fraser.
30
31         * WebCore.exp.in:
32         * platform/graphics/GraphicsLayer.cpp:
33         (WebCore::GraphicsLayer::GraphicsLayer):
34         * platform/graphics/GraphicsLayer.h:
35         (WebCore::GraphicsLayer::setMaintainsPixelAlignment): Deleted.
36         (WebCore::GraphicsLayer::maintainsPixelAlignment): Deleted.
37         (WebCore::GraphicsLayer::pixelAlignmentOffset): Deleted.
38         * platform/graphics/ca/GraphicsLayerCA.cpp:
39         (WebCore::GraphicsLayerCA::updateGeometry):
40         (WebCore::GraphicsLayerCA::computePixelAlignment):
41         (WebCore::GraphicsLayerCA::setMaintainsPixelAlignment): Deleted.
42         * platform/graphics/ca/GraphicsLayerCA.h:
43         * rendering/RenderLayerBacking.cpp:
44         (WebCore::RenderLayerBacking::createGraphicsLayer):
45         * rendering/RenderLayerCompositor.cpp:
46         (WebCore::RenderLayerCompositor::keepLayersPixelAligned): Deleted.
47         * rendering/RenderLayerCompositor.h:
48
49 2014-05-02  Simon Fraser  <simon.fraser@apple.com>
50
51         [iOS WK2] Tiled layer content missing on pages with animated tiled layers
52         https://bugs.webkit.org/show_bug.cgi?id=132507
53         <rdar://problem/16765740>
54
55         Reviewed by Tim Horton.
56
57         Updating the tiling area of content TileControllers while
58         CSS animations are running depends on GraphicsLayerUpdater
59         triggering repeated layer flushes. With UI-side compositing, those
60         flushes were happening, but nothing triggered RemoteLayerTreeDrawingArea
61         to flush changes to the UI process.
62         
63         Fix by having RenderLayerCompositor schedule a flush, rather
64         than just doing a flush, in response to GraphicsLayerUpdater.
65         
66         Also change the name of the GraphicsLayerUpdaterClient function
67         to indicate that it suggests that a flush is required soon, rather than
68         that the flushing has to be synchronous.
69
70         * platform/graphics/GraphicsLayerUpdater.cpp:
71         (WebCore::GraphicsLayerUpdater::displayRefreshFired):
72         * platform/graphics/GraphicsLayerUpdater.h:
73         * rendering/RenderLayerCompositor.cpp:
74         (WebCore::RenderLayerCompositor::flushLayersSoon):
75         (WebCore::RenderLayerCompositor::flushLayers): Deleted.
76         * rendering/RenderLayerCompositor.h:
77
78 2014-05-02  Jeremy Jones  <jeremyj@apple.com>
79
80         Use displayNameForTrack instead of textTrack->label() for captions.
81         https://bugs.webkit.org/show_bug.cgi?id=131311
82
83         Reviewed by Darin Adler.
84
85         Use the same mechanism as the desktop to build the captions list so it has the correct
86         names in the correct order including none and automatic.
87
88         * platform/ios/WebVideoFullscreenModelMediaElement.h:
89         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
90         (WebVideoFullscreenModelMediaElement::setMediaElement):
91         move legible track code into updateLegibleOptions()
92
93         (WebVideoFullscreenModelMediaElement::handleEvent):
94         updateLegibleOptions on addTrack and removeTrack
95
96         (WebVideoFullscreenModelMediaElement::selectLegibleMediaOption):
97         select the corresponding TextTrack on HTMLMediaElement.
98
99         (WebVideoFullscreenModelMediaElement::updateLegibleOptions):
100         use the same mechanism as desktop to build the captions menu.
101
102 2014-05-02  Jeremy Jones  <jeremyj@apple.com>
103
104         CSS-based Media Controls Show Different times content longer than 1 hour.
105         https://bugs.webkit.org/show_bug.cgi?id=132443
106
107         Reviewed by Jer Noble.
108
109         * Modules/mediacontrols/mediaControlsApple.css:
110         (audio::-webkit-media-controls-timeline-container .hour-long-time):
111         This class has a wider width for longer duration times.
112
113         * Modules/mediacontrols/mediaControlsApple.js:
114         (Controller.prototype.updateDuration):
115         Apply .hour-long-time class as appropriate.
116
117         (Controller.prototype.formatTime):
118         More robust formatting to handle hours.
119
120         * Modules/mediacontrols/mediaControlsiOS.css:
121         (audio::-webkit-media-controls-timeline-container .hour-long-time):
122         This class has a wider width for longer duration times.
123
124         * Modules/mediacontrols/mediaControlsiOS.js:
125         (ControllerIOS.prototype.formatTime):
126         More robust formatting to handle hours.
127
128 2014-05-02  Jer Noble  <jer.noble@apple.com>
129
130         [MSE][Mac] AVAssetTrack returns incorrect track size
131         https://bugs.webkit.org/show_bug.cgi?id=132469
132
133         Reviewed by Brent Fulgham.
134
135         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
136         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
137         (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):  Remove the sizeChanged() notification.
138         (WebCore::SourceBufferPrivateAVFObjC::processCodedFrame): Cache the last parsed video frame size.
139         (WebCore::SourceBufferPrivateAVFObjC::naturalSize): Return the cached value.
140
141 2014-05-02  Zalan Bujtas  <zalan@apple.com>
142
143         Subpixel rendering[iOS]: Use pixelSnappedRoundedRectForPainting() to clip text area rect.
144         https://bugs.webkit.org/show_bug.cgi?id=132499
145         <rdar://problem/16631050>
146
147         Reviewed by Simon Fraser.
148
149         Snap to device pixels properly instead of relying on float arithmetics while converting from RoundedRect
150         to FloatRoundedRect. This is the second, cleanup part of the text-area decoration is off-by-one painting issue.
151
152         Currently not testable.
153
154         * rendering/RenderThemeIOS.mm:
155         (WebCore::RenderThemeIOS::paintTextFieldDecorations):
156
157 2014-05-02  Andreas Kling  <akling@apple.com>
158
159         Remove HistogramSupport.
160         <https://webkit.org/b/132354>
161
162         Prune some leftover Chromium gunk that no other ports ever used.
163
164         Reviewed by Simon Fraser.
165
166         * CMakeLists.txt:
167         * Modules/indexeddb/IDBDatabase.cpp:
168         (WebCore::IDBDatabase::createObjectStore):
169         (WebCore::IDBDatabase::deleteObjectStore):
170         (WebCore::IDBDatabase::transaction):
171         * Modules/indexeddb/IDBFactory.cpp:
172         (WebCore::IDBFactory::openInternal):
173         (WebCore::IDBFactory::deleteDatabase):
174         * Modules/indexeddb/IDBHistograms.h: Removed.
175         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
176         (WebCore::IDBBackingStoreLevelDB::open):
177         (WebCore::IDBBackingStoreLevelDB::openInMemory):
178         (WebCore::recordInternalError): Deleted.
179         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp:
180         * WebCore.vcxproj/WebCore.vcxproj:
181         * WebCore.vcxproj/WebCore.vcxproj.filters:
182         * WebCore.xcodeproj/project.pbxproj:
183         * css/CSSParser.cpp:
184         (WebCore::cssPropertyID):
185         * dom/Document.cpp:
186         (WebCore::Document::~Document):
187         (WebCore::histogramMutationEventUsage): Deleted.
188         * dom/ShadowRoot.cpp:
189         * fileapi/Blob.cpp:
190         * fileapi/WebKitBlobBuilder.cpp:
191         (WebCore::BlobBuilder::append):
192         * history/PageCache.cpp:
193         (WebCore::logCanCacheFrameDecision):
194         (WebCore::logCanCachePageDecision):
195         * platform/HistogramSupport.cpp: Removed.
196         * platform/HistogramSupport.h: Removed.
197         * platform/leveldb/LevelDBDatabase.cpp:
198         (WebCore::LevelDBDatabase::open):
199         (WebCore::histogramLevelDBError): Deleted.
200         * rendering/RenderLayer.cpp:
201         (WebCore::RenderLayer::updateNeedsCompositedScrolling):
202         * xml/XMLHttpRequest.cpp:
203         (WebCore::XMLHttpRequest::send):
204
205 2014-05-02  Brady Eidson  <beidson@apple.com>
206
207         Stop flipping the ImageControlsButton
208         <rdar://problem/16773238> and https://bugs.webkit.org/show_bug.cgi?id=132502
209
210         Reviewed by Tim Horton.
211
212         * rendering/RenderThemeMac.mm:
213         (WebCore::RenderThemeMac::paintImageControlsButton):
214
215 2014-05-02  Jeremy Jones  <jeremyj@apple.com>
216
217         Fullscreen UI does not appear after WebProcess has crashed
218         https://bugs.webkit.org/show_bug.cgi?id=132442
219
220         Reviewed by Darin Adler.
221
222         Clean up immediately when there is a WebProcess crash.
223
224         * WebCore.exp.in:
225         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
226         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
227         (WebVideoFullscreenInterfaceAVKit::invalidate):
228         Clean-up resources immediately.
229
230 2014-05-02  Commit Queue  <commit-queue@webkit.org>
231
232         Unreviewed, rolling out r168192.
233         https://bugs.webkit.org/show_bug.cgi?id=132498
234
235         Was not the correct fix (blurry!) (Requested by bfulgham_ on
236         #webkit).
237
238         Reverted changeset:
239
240         "[iOS] deviceScaleFactor is being double-applied when
241         rendering captions in full screen mode"
242         https://bugs.webkit.org/show_bug.cgi?id=132481
243         http://trac.webkit.org/changeset/168192
244
245 2014-05-02  Alexey Proskuryakov  <ap@apple.com>
246
247         Remove Blob contentDisposition handling
248         https://bugs.webkit.org/show_bug.cgi?id=132490
249
250         Reviewed by Sam Weinig.
251
252         Dead code.
253
254         * platform/network/BlobData.h:
255         (WebCore::BlobData::contentDisposition): Deleted.
256         (WebCore::BlobData::setContentDisposition): Deleted.
257         * platform/network/BlobRegistryImpl.cpp:
258         (WebCore::BlobRegistryImpl::registerBlobURL):
259         (WebCore::BlobRegistryImpl::registerBlobURLForSlice):
260         * platform/network/BlobResourceHandle.cpp:
261         (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
262         * platform/network/BlobStorageData.h:
263         (WebCore::BlobStorageData::create):
264         (WebCore::BlobStorageData::contentType):
265         (WebCore::BlobStorageData::BlobStorageData):
266         (WebCore::BlobStorageData::contentDisposition): Deleted.
267
268 2014-05-02  Anders Carlsson  <andersca@apple.com>
269
270         Implement FormData decoding using KeyedDecoder
271         https://bugs.webkit.org/show_bug.cgi?id=132494
272
273         Reviewed by Tim Horton.
274
275         * platform/KeyedCoding.h:
276         (WebCore::KeyedDecoder::decodeEnum):
277         * platform/network/FormData.cpp:
278         (WebCore::decodeElement):
279         (WebCore::FormData::decode):
280         * platform/network/FormData.h:
281
282 2014-05-02  Brent Fulgham  <bfulgham@apple.com>
283
284         [iOS] deviceScaleFactor is being double-applied when rendering captions in full screen mode
285         https://bugs.webkit.org/show_bug.cgi?id=132481
286
287         Reviewed by Jer Noble.
288
289         * html/shadow/MediaControlElements.cpp:
290         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Don't set the platform scale factor here. It is already
291         being accounted for in the createTextTrackRepresentationImage method.
292
293 2014-05-02  Simon Fraser  <simon.fraser@apple.com>
294
295         [iOS WK2] Don't create backing store for -webkit-overflow-scrolling:touch that can't scroll
296         https://bugs.webkit.org/show_bug.cgi?id=132487
297         <rdar://problem/16758041>
298
299         Reviewed by Sam Weinig.
300
301         Previously, -webkit-overflow-scrolling:touch would cause us to make compositing
302         layers for any element that had overflow: auto or scroll on either axis. This
303         created lots of backing store when not required.
304         
305         Improve this to only create compositing for scrolling when there is actually
306         scrollable overflow. This makes things slightly more complex, because we can
307         only know when layout is up to date.
308
309         * rendering/RenderBox.cpp:
310         (WebCore::RenderBox::computeRectForRepaint): usesCompositedScrolling() tells
311         us if we're actually doing composited overflow.
312         * rendering/RenderLayer.cpp:
313         (WebCore::RenderLayer::hasTouchScrollableOverflow):
314         (WebCore::RenderLayer::handleTouchEvent):
315         * rendering/RenderLayer.h:
316         * rendering/RenderLayerBacking.cpp:
317         (WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
318         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Only update
319         scrolling and clipping layers if layout is not pending.
320         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
321         (WebCore::RenderLayerBacking::updateScrollingLayers): The caller calls
322         updateInternalHierarchy(), so no need to do it here.
323         * rendering/RenderLayerCompositor.cpp:
324         (WebCore::RenderLayerCompositor::requiresCompositingForScrolling): We
325         can only determine that we're scrollable after layout.
326         (WebCore::isStickyInAcceleratedScrollingLayerOrViewport):
327         (WebCore::isMainFrameScrollingOrOverflowScrolling):
328
329 2014-05-02  Anders Carlsson  <andersca@apple.com>
330
331         Clean up FormDataElement
332         https://bugs.webkit.org/show_bug.cgi?id=132483
333
334         Reviewed by Sam Weinig.
335
336         * platform/network/FormData.cpp:
337         (WebCore::FormData::FormData):
338         (WebCore::FormData::deepCopy):
339         (WebCore::FormData::expandDataStore):
340         (WebCore::FormData::flatten):
341         (WebCore::FormData::resolveBlobReferences):
342         (WebCore::FormData::generateFiles):
343         (WebCore::FormData::hasGeneratedFiles):
344         (WebCore::FormData::hasOwnedGeneratedFiles):
345         (WebCore::FormData::removeGeneratedFilesIfNeeded):
346         (WebCore::encodeElement):
347         (WebCore::decodeElement):
348         * platform/network/FormData.h:
349         (WebCore::FormDataElement::FormDataElement):
350         (WebCore::operator==):
351         * platform/network/cf/FormDataStreamCFNet.cpp:
352         (WebCore::advanceCurrentStream):
353         (WebCore::setHTTPBody):
354         * platform/network/curl/FormDataStreamCurl.cpp:
355         (WebCore::FormDataStream::read):
356         * platform/network/curl/ResourceHandleManager.cpp:
357         (WebCore::setupFormData):
358         * platform/network/soup/ResourceHandleSoup.cpp:
359         (WebCore::addFormElementsToSoupMessage):
360
361 2014-05-02  Jer Noble  <jer.noble@apple.com>
362
363         [iOS] Wireless playback button not blue when active
364         https://bugs.webkit.org/show_bug.cgi?id=132473
365
366         Reviewed by Simon Fraser.
367
368         The playback button's class was being set to 'undefined', due to Controller.ClassNames.active being undefined.
369
370         * Modules/mediacontrols/mediaControlsApple.js:
371
372 2014-05-02  Alexey Proskuryakov  <ap@apple.com>
373
374         Don't abuse Blob deserialization constructor in WebSocket
375         https://bugs.webkit.org/show_bug.cgi?id=132478
376
377         Reviewed by Sam Weinig.
378
379         * Modules/websockets/WebSocketChannel.cpp:
380         (WebCore::WebSocketChannel::send):
381         (WebCore::WebSocketChannel::enqueueBlobFrame): This is the important change -
382         Blob::create was called for no reason. If the blob came from a worker, it was
383         already cloned for cross-thread messaging, otherwise there is no reason to make
384         a new one.
385
386         * fileapi/Blob.h:
387         (WebCore::Blob::deserialize):
388         (WebCore::Blob::create): Deleted.
389         * fileapi/File.h:
390         (WebCore::File::deserialize):
391         (WebCore::File::create): Deleted.
392         Renamed a special case of "create" function to avoid explaining what it is for.
393
394         * Modules/websockets/ThreadableWebSocketChannel.h:
395         * Modules/websockets/WebSocket.cpp:
396         (WebCore::WebSocket::send):
397         * Modules/websockets/WebSocketChannel.h:
398         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
399         (WebCore::WorkerThreadableWebSocketChannel::send): Print a full URL in LOG(),
400         not one shortened to 1024 characters.
401         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
402         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
403         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
404         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
405         * bindings/js/SerializedScriptValue.cpp:
406         (WebCore::CloneDeserializer::readFile):
407         (WebCore::CloneDeserializer::readTerminal):
408
409 2014-05-02  Anders Carlsson  <andersca@apple.com>
410
411         Add and implement KeyedDecoder::decodeBytes
412         https://bugs.webkit.org/show_bug.cgi?id=132479
413
414         Reviewed by Tim Horton.
415
416         * platform/KeyedCoding.h:
417         (WebCore::KeyedDecoder::decodeBytes):
418
419 2014-05-02  Joseph Pecoraro  <pecoraro@apple.com>
420
421         [iOS] WebKit2 File Upload Support
422         https://bugs.webkit.org/show_bug.cgi?id=132024
423
424         Reviewed by Enrica Casucci.
425
426         * English.lproj/Localizable.strings:
427         New localized strings for <input type="file"> on iOS.
428
429 2014-05-02  Chris Fleizach  <cfleizach@apple.com>
430
431         AX: WK2: iOS web page scrolling doesn't work with VoiceOver
432         https://bugs.webkit.org/show_bug.cgi?id=132028
433
434         Reviewed by Mario Sanchez Prada.
435
436         With the AX tree residing in the WebProcess, scrolling needs to be implemented in
437         WebCore using accessibilityScroll: in order for accessibility clients to scroll through the AX API.
438
439         * accessibility/AccessibilityObject.cpp:
440         (WebCore::AccessibilityObject::scrollViewAncestor):
441         (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
442         * accessibility/AccessibilityObject.h:
443         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
444         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
445         (-[WebAccessibilityObjectWrapper _accessibilityConvertPointToViewSpace:]):
446         (-[WebAccessibilityObjectWrapper _accessibilityScrollToVisible]):
447         (-[WebAccessibilityObjectWrapper accessibilityScroll:]):
448         (-[WebAccessibilityObjectWrapper postScrollStatusChangeNotification]):
449         (-[WebAccessibilityObjectWrapper _accessibilityScrollPosition]):
450         (-[WebAccessibilityObjectWrapper _accessibilityScrollSize]):
451         (-[WebAccessibilityObjectWrapper _accessibilityScrollVisibleRect]):
452
453 2014-05-02  Jeremy Jones  <jeremyj@apple.com>
454
455         Pause playback on exit fullscreen when inline playback not allowed.
456         https://bugs.webkit.org/show_bug.cgi?id=132450
457
458         Reviewed by Jer Noble.
459
460         Use correct method of determining if inline playback is allowed.
461
462         * html/HTMLMediaElement.cpp:
463         (WebCore::HTMLMediaElement::parseAttribute):
464         Use m_mediaSession->requiresFullscreenForVideoPlayback to detect if inline playback is allowed.
465
466         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
467         (WebVideoFullscreenModelMediaElement::requestExitFullscreen):
468         Prevent duplicate exit requests.
469
470 2014-05-02  Ion Rosca  <rosca@adobe.com>
471
472         [CSS Blending] Remove support for non-separable blend modes from background-blend-mode
473         https://bugs.webkit.org/show_bug.cgi?id=132327
474
475         Reviewed by Dean Jackson.
476
477         Removed support for non-separable background blend modes from the CSS parser.
478         Covered by existing tests.
479
480         * css/CSSParser.cpp:
481         (WebCore::CSSParser::parseFillProperty):
482
483 2014-05-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
484
485         Clean up #include <OwnPtr.h>|<PassOwnPtr.h> in Supplementable classes
486         https://bugs.webkit.org/show_bug.cgi?id=132466
487
488         Reviewed by Tim Horton.
489
490         Since r168144, Supplementable classes don't need to include OwnPtr.h or PassOwnPtr.h.
491         Clean up those inclusions.
492
493         No new tests, just clean up patch.
494
495         * Modules/encryptedmedia/CDMPrivate.h:
496         * Modules/gamepad/NavigatorGamepad.cpp:
497         * Modules/geolocation/GeolocationController.cpp:
498         (WebCore::GeolocationController::create): Deleted. Don't need to have a factory function.
499         * Modules/geolocation/GeolocationController.h:
500         * Modules/mediasource/MediaSource.h:
501         * Modules/mediastream/UserMediaController.h:
502         * Modules/notifications/NotificationCenter.h:
503         * Modules/notifications/NotificationController.cpp:
504         * Modules/quota/StorageErrorCallback.h:
505         * Modules/vibration/Vibration.h:
506         * Modules/webdatabase/Database.cpp:
507         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
508         * Modules/websockets/WebSocket.cpp:
509         * Modules/websockets/WebSocket.h:
510
511 2014-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
512
513         Remove TiledBackingStore stuff from Frame
514         https://bugs.webkit.org/show_bug.cgi?id=132458
515
516         Reviewed by Andreas Kling.
517
518         Although TiledBackingStore is using for the CoordinatedGraphics,
519         CoordinatedGraphics does not use tiledBackingStore of Frame.
520
521         This patch removed TiledBackingStore related code of the Frame.
522
523         * page/Frame.cpp:
524         (WebCore::Frame::Frame):
525         (WebCore::Frame::setView):
526         (WebCore::Frame::setTiledBackingStoreEnabled): Deleted.
527         (WebCore::Frame::tiledBackingStorePaintBegin): Deleted.
528         (WebCore::Frame::tiledBackingStorePaint): Deleted.
529         (WebCore::Frame::tiledBackingStorePaintEnd): Deleted.
530         (WebCore::Frame::tiledBackingStoreContentsRect): Deleted.
531         (WebCore::Frame::tiledBackingStoreVisibleRect): Deleted.
532         (WebCore::Frame::tiledBackingStoreBackgroundColor): Deleted.
533         * page/Frame.h:
534         (WebCore::Frame::tiledBackingStore): Deleted.
535         * page/FrameView.cpp:
536         (WebCore::FrameView::repaintContentRectangle):
537         * page/Settings.cpp:
538         (WebCore::Settings::Settings):
539         (WebCore::Settings::setTiledBackingStoreEnabled): Deleted.
540         * page/Settings.h:
541         (WebCore::Settings::tiledBackingStoreEnabled): Deleted.
542
543 2014-05-01  Myles C. Maxfield  <mmaxfield@apple.com>
544
545         Migrate all uses of DeviceMotionController and DeviceOrientationController to std::unique_ptr
546         https://bugs.webkit.org/show_bug.cgi?id=132461
547
548         Unreviewed build fix.
549
550         No new tests.
551
552         * dom/Document.cpp:
553         (WebCore::Document::Document):
554         * dom/Document.h:
555         * platform/ios/DeviceMotionClientIOS.h:
556         (WebCore::DeviceMotionClientIOS::create): Deleted.
557         * platform/ios/DeviceOrientationClientIOS.h:
558         (WebCore::DeviceOrientationClientIOS::create): Deleted.
559
560 2014-05-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
561
562         Convert OwnPtr and PassOwnPtr uses to std::unique_ptr in Supplement
563         https://bugs.webkit.org/show_bug.cgi?id=132165
564
565         Reviewed by Darin Adler.
566
567         According to convert from PassOwnPtr to std::unique_ptr, provideTo() callers also begin
568         to use std::make_unique.
569
570         * Modules/battery/BatteryController.cpp:
571         (WebCore::provideBatteryTo):
572         * Modules/battery/BatteryController.h:
573         * Modules/battery/NavigatorBattery.cpp:
574         (WebCore::NavigatorBattery::from):
575         * Modules/gamepad/NavigatorGamepad.cpp:
576         (WebCore::NavigatorGamepad::from):
577         * Modules/geolocation/GeolocationController.cpp:
578         (WebCore::provideGeolocationTo):
579         * Modules/geolocation/GeolocationController.h:
580         * Modules/geolocation/NavigatorGeolocation.cpp:
581         (WebCore::NavigatorGeolocation::from):
582         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
583         (WebCore::DOMWindowIndexedDatabase::from):
584         * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
585         (WebCore::PageGroupIndexedDatabase::from):
586         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
587         (WebCore::WorkerGlobalScopeIndexedDatabase::from):
588         * Modules/mediastream/UserMediaController.cpp:
589         (WebCore::provideUserMediaTo):
590         (WebCore::UserMediaController::create): Deleted.
591         * Modules/mediastream/UserMediaController.h:
592         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
593         (WebCore::provideNavigatorContentUtilsTo):
594         (WebCore::NavigatorContentUtils::create): Deleted.
595         * Modules/navigatorcontentutils/NavigatorContentUtils.h:
596         * Modules/notifications/DOMWindowNotifications.cpp:
597         (WebCore::DOMWindowNotifications::from):
598         * Modules/notifications/NotificationController.cpp:
599         (WebCore::provideNotification):
600         (WebCore::NotificationController::create): Deleted.
601         * Modules/notifications/NotificationController.h:
602         * Modules/notifications/WorkerGlobalScopeNotifications.cpp:
603         (WebCore::WorkerGlobalScopeNotifications::from):
604         * Modules/proximity/DeviceProximityController.cpp:
605         (WebCore::provideDeviceProximityTo):
606         (WebCore::DeviceProximityController::create): Deleted.
607         * Modules/proximity/DeviceProximityController.h:
608         * Modules/quota/DOMWindowQuota.cpp:
609         (WebCore::DOMWindowQuota::from):
610         * Modules/quota/NavigatorStorageQuota.cpp:
611         (WebCore::NavigatorStorageQuota::from):
612         * Modules/quota/WorkerNavigatorStorageQuota.cpp:
613         (WebCore::WorkerNavigatorStorageQuota::from):
614         * Modules/speech/DOMWindowSpeechSynthesis.cpp:
615         (WebCore::DOMWindowSpeechSynthesis::from):
616         * Modules/speech/SpeechRecognitionController.cpp:
617         (WebCore::provideSpeechRecognitionTo):
618         * Modules/vibration/Vibration.cpp:
619         (WebCore::provideVibrationTo):
620         (WebCore::Vibration::create): Deleted.
621         * Modules/vibration/Vibration.h:
622         * dom/DeviceMotionController.cpp:
623         (WebCore::provideDeviceMotionTo):
624         (WebCore::DeviceMotionController::create): Deleted.
625         * dom/DeviceMotionController.h:
626         * dom/DeviceOrientationController.cpp:
627         (WebCore::provideDeviceOrientationTo):
628         (WebCore::DeviceOrientationController::create): Deleted.
629         * dom/DeviceOrientationController.h:
630         * page/SpeechInput.cpp:
631         (WebCore::provideSpeechInputTo):
632         (WebCore::SpeechInput::create): Deleted.
633         * page/SpeechInput.h:
634         * platform/Supplementable.h:
635         (WebCore::Supplement::provideTo):
636         (WebCore::Supplementable::provideSupplement):
637         * testing/InternalSettings.cpp:
638         (WebCore::InternalSettings::from):
639
640 2014-05-01  Andreas Kling  <akling@apple.com>
641
642         HTMLMediaElement: Remove two unnecessary virtual overrides.
643         <https://webkit.org/b/132445>
644
645         Now that ENABLE_PLUGIN_PROXY_FOR_VIDEO is gone, we can remove
646         these overrides:
647
648             - defaultEventHandler()
649             - willRespondToMouseClickEvents()
650
651         Reviewed by Darin Adler.
652
653         * html/HTMLMediaElement.cpp:
654         * html/HTMLMediaElement.h:
655
656 2014-05-01  Benjamin Poulain  <bpoulain@apple.com>
657
658         ViewportConfiguration::minimumScale() uses the initial scale as initial value
659         https://bugs.webkit.org/show_bug.cgi?id=132451
660         <rdar://problem/16780111>
661
662         Reviewed by Enrica Casucci.
663
664         * page/ViewportConfiguration.cpp:
665         (WebCore::ViewportConfiguration::minimumScale):
666         The initial minimum scale was set to the initial scale, preventing some pages from zooming
667         out.
668
669 2014-05-01  Alexey Proskuryakov  <ap@apple.com>
670
671         Build fix for !ENABLE(BLOB) builds.
672
673         * fileapi/ThreadableBlobRegistry.cpp:
674         (WebCore::ThreadableBlobRegistry::registerBlobURL):
675         (WebCore::ThreadableBlobRegistry::registerBlobURLForSlice):
676
677 2014-05-01  Alexey Proskuryakov  <ap@apple.com>
678
679         Move size computation for Blob constructor into BlobRegistryImpl
680         https://bugs.webkit.org/show_bug.cgi?id=132439
681
682         Reviewed by Sam Weinig.
683
684         * Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::didReceiveBinaryData):
685         Don't pass the size, anyone who cares can get it from BlobData.
686
687         * bindings/js/JSBlobCustom.cpp: (WebCore::JSBlobConstructor::constructJSBlob):
688         Updated for BlobBuilder changes.
689
690         * fileapi/Blob.cpp: (WebCore::Blob::Blob):
691         * fileapi/Blob.h: (WebCore::Blob::create):
692         No longer take a precomputed size with BlobData, BlobRegistry will compute it as
693         part of registration.
694
695         * fileapi/File.h:
696         * fileapi/File.cpp:
697         (WebCore::File::File): Don't pass a size (that's unknown anyway).
698         (WebCore::File::captureSnapshot): Deleted. Finally, only the registry is responsible
699         for snapshot tracking now (I doubt that either new or old code is particularly compliant).
700
701         * fileapi/ThreadableBlobRegistry.cpp:
702         (WebCore::ThreadableBlobRegistry::registerBlobURL):
703         * fileapi/ThreadableBlobRegistry.h:
704         Plumbing to make this version of registerBlobURL return a size. I may make size
705         calculation lazy and the function async later, but this is needed to move the behavior
706         to the right place first.
707
708         * fileapi/WebKitBlobBuilder.h:
709         * fileapi/WebKitBlobBuilder.cpp:
710         (WebCore::BlobBuilder::BlobBuilder):
711         (WebCore::BlobBuilder::append):
712         (WebCore::BlobBuilder::appendBytesData):
713         (WebCore::BlobBuilder::finalize):
714         (WebCore::BlobBuilder::getBlob): Deleted.
715         Don't track sizes or modification times, registry will do that with appropriate laziness.
716         Cleaned up the API - now that BlobBuilder is not exposed to JS as an object, it
717         does not need to be reusable.
718
719         * platform/network/BlobRegistry.h: Made this version of registerBlobURL return a size.
720         * platform/network/BlobRegistryImpl.h:
721         * platform/network/BlobRegistryImpl.cpp:
722         (WebCore::BlobRegistryImpl::appendStorageItems): Assert that length computations are accurate.
723         (WebCore::BlobRegistryImpl::registerBlobURL): Compute a size to return, and record
724         modification time as necessary.
725
726         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseBlob): Don't pass the
727         size, which can be computed from data. Soon, I want to add a constructor that doesn't
728         require wrapping a single Vector as BlobData to construct a Blob.
729
730 2014-05-01  Eric Carlson  <eric.carlson@apple.com>
731
732         [iOS] audio and video should automatically play to active external device
733         https://bugs.webkit.org/show_bug.cgi?id=132428
734
735         Reviewed by Jer Noble.
736
737         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
738         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Set 
739             AVPlayer.usesExternalPlaybackWhileExternalScreenIsActive.
740
741 2014-05-01  David Hyatt  <hyatt@apple.com>
742
743         REGRESSION (r168046): [New Multicolumn] Selection into and out of column-span elements doesn't work
744         https://bugs.webkit.org/show_bug.cgi?id=132066
745
746         Reviewed by Oliver Hunt.
747
748         Make a new SelectionIterator struct that knows how to drill into and out of
749         column span placeholders. Also change spans to be selection roots (in the painting
750         sense).
751
752         * rendering/RenderBlock.cpp:
753         (WebCore::RenderBlock::isSelectionRoot):
754         (WebCore::RenderBlock::selectionGaps):
755         * rendering/RenderView.cpp:
756         (WebCore::SelectionIterator::SelectionIterator):
757         (WebCore::SelectionIterator::checkForSpanner):
758         (WebCore::SelectionIterator::current):
759         (WebCore::SelectionIterator::next):
760         (WebCore::RenderView::subtreeSelectionBounds):
761         (WebCore::RenderView::repaintSubtreeSelection):
762         (WebCore::RenderView::setSubtreeSelection):
763
764 2014-05-01  Simon Fraser  <simon.fraser@apple.com>
765
766         Don't always make backing store for -webkit-backface-visibility:hidden
767         https://bugs.webkit.org/show_bug.cgi?id=132420
768
769         Reviewed by Sam Weinig.
770         
771         Previously, -webkit-backface-visibility:hidden unconditionally created
772         compositing layers with backing store. This results in high memory use
773         on pages with this style applied to many elements (a cargo-cult "optimization").
774         
775         Fix by only having -webkit-backface-visibility:hidden create compositing layers
776         if some ancestor has a 3D transform. That's the only scenario in which the
777         element can be flipped around to reveal the back side, so the only time we need
778         to do compositing for this property. In future, we could be smarter, and only
779         consider 3D transforms in the current preserve-3d context.
780
781         Tests: compositing/backing/backface-visibility-in-3dtransformed.html
782                compositing/backing/backface-visibility-in-transformed.html
783                compositing/backing/backface-visibility.html
784
785         * rendering/RenderLayer.cpp:
786         (WebCore::RenderLayer::RenderLayer):
787         (WebCore::RenderLayer::updateLayerPositions):
788         (WebCore::RenderLayer::hitTestLayer):
789         * rendering/RenderLayer.h:
790         * rendering/RenderLayerCompositor.cpp:
791         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
792         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
793         (WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility):
794         * rendering/RenderLayerCompositor.h:
795
796 2014-05-01  Alex Christensen  <achristensen@webkit.org>
797
798         Finish updating ANGLE.
799         https://bugs.webkit.org/show_bug.cgi?id=132434
800
801         Reviewed by Dean Jackson.
802
803         * CMakeLists.txt:
804         Removed Uniform.cpp which is no longer in ANGLE.
805
806 2014-05-01  David Hyatt  <hyatt@apple.com>
807
808         REGRESSION (new multi-column): WebKit2.ResizeReversePaginatedWebView fails on debug bots
809         https://bugs.webkit.org/show_bug.cgi?id=132429
810
811         Reviewed by Alexey Proskuryakov.
812         
813         Make sure to get the column count directly from the column set.
814         I was returning the theoretical column count from the flow thread,
815         and that wasn't the right value.
816
817         * rendering/RenderMultiColumnSet.h:
818         * rendering/RenderView.cpp:
819         (WebCore::RenderView::pageCount):
820
821 2014-05-01  Brent Fulgham  <bfulgham@apple.com>
822
823         Fix handling of attributes prior to compiling shader
824         https://bugs.webkit.org/show_bug.cgi?id=132430
825
826         Reviewed by Dean Jackson.
827
828         WebGL programs that called bindAttribLocations prior to compiling shader sources
829         would perform the bind using the non-hashed symbol name, but would later create
830         the attributes as hashed names. Consequently, the program would refer to
831         attributes that were never actually part of any shader, resulting in some amazing
832         display artifacts.
833
834         This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
835         program the proper name that will be used when the shader is eventually compiled,
836         allowing the WebGL program to link against the proper symbol after compiling and
837         linking completes.
838
839         * platform/graphics/GraphicsContext3D.h:
840         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
841         (WebCore::generateHashedName): Function uses the ANGLE hashing
842         function to generate correct symbol.
843         (WebCore::GraphicsContext3D::mappedSymbolName): If we haven't compiled shaders yet, look
844         in our set of potentially unused attributes.
845         (WebCore::GraphicsContext3D::originalSymbolName): Ditto, for reverse lookup.
846
847 2014-05-01  Zalan Bujtas  <zalan@apple.com>
848
849         Subpixel rendering: Make selection gaps painting subpixel aware.
850         https://bugs.webkit.org/show_bug.cgi?id=132169
851
852         Reviewed by Simon Fraser.
853
854         Push selection gaps painting to device pixel boundaries instead of integral CSS pixel positions.
855
856         Test: fast/inline/hidpi-selection-gap-on-subpixel-position.html
857
858         * rendering/RenderBlock.cpp:
859         (WebCore::RenderBlock::blockSelectionGap):
860         (WebCore::RenderBlock::logicalLeftSelectionGap):
861         (WebCore::RenderBlock::logicalRightSelectionGap):
862
863 2014-05-01  David Kilzer  <ddkilzer@apple.com>
864
865         Really remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
866         <http://webkit.org/b/132432>
867
868         Reviewed by Tim Horton.
869
870         * platform/graphics/wince/MediaPlayerPrivateWinCE.h: Remove
871         methods and ivar in ENABLE(PLUGIN_PROXY_FOR_VIDEO).
872
873 2014-05-01  Javier Fernandez  <jfernandez@igalia.com>
874
875         [CSS Grid Layout] Clamping the number of repetitions in repeat()
876         https://bugs.webkit.org/show_bug.cgi?id=131023
877
878         Reviewed by Brent Fulgham.
879
880         The ED suggests now to be able to clamp the number of repetitions when
881         using the repeat() function, taking precautions about excessive memory
882         usage.
883
884         The implemented max repetitions is 10K.
885
886         Test: fast/css-grid-layout/grid-element-repeat-max-repetitions.html
887
888         * css/CSSParser.cpp:
889         (WebCore::CSSParser::parseGridTrackRepeatFunction):
890
891 2014-04-30  Jer Noble  <jer.noble@apple.com>
892
893         [MSE] Seeking between two buffered ranges enquues incorrect buffers.
894         https://bugs.webkit.org/show_bug.cgi?id=132416
895
896         Reviewed by Eric Carlson.
897
898         std::equal_range(begin, end, value) will return an empty range if equal values cannot
899         be found. But the range is not necessarily [end, end).  It may be some other value n,
900         such that the empty range is [n, n). Check to see if the returned range is empty in
901         findSampleContainingPresentationTime() and its reverse version, and if so, explicitly
902         return presentationEnd() or reversePresentationEnd() respectively.
903
904         Drive-by fix: make the comparator functions take const& arguments to minimize object
905         creation.
906
907         * Modules/mediasource/SampleMap.cpp:
908         (WebCore::SampleIsLessThanMediaTimeComparator::operator()):
909         (WebCore::SampleIsGreaterThanMediaTimeComparator::operator()):
910         (WebCore::SampleMap::findSampleContainingPresentationTime):
911         (WebCore::SampleMap::reverseFindSampleContainingPresentationTime):
912
913 2014-05-01  Zalan Bujtas  <zalan@apple.com>
914
915         Subpixel rendering: Inline text selection painting should not snap to integral CSS pixel position.
916         https://bugs.webkit.org/show_bug.cgi?id=132164
917
918         Reviewed by Darin Adler.
919
920         Inline text selection painting now snaps to device pixels. It uses the same rounding logic as
921         other painting functions.
922
923         Test: fast/inline/hidpi-select-inline-on-subpixel-position.html
924
925         * rendering/EllipsisBox.cpp:
926         (WebCore::EllipsisBox::paintSelection):
927         * rendering/InlineTextBox.cpp:
928         (WebCore::InlineTextBox::paintSelection):
929         (WebCore::alignSelectionRectToDevicePixels): Deleted.
930         * rendering/InlineTextBox.h:
931
932 2014-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
933
934         [EFL] There are many warnings with software backend
935         https://bugs.webkit.org/show_bug.cgi?id=132422
936
937         Reviewed by Gyuyoung Kim.
938
939         ecore_evas_gl_x11_window_get should be called when only engine is opengl_x11.
940
941         This patch refactors not to call unnecessary API by checking engine type.
942         In addition, removed unnecessary isUsingEcoreX().
943
944         * platform/efl/EflScreenUtilities.cpp:
945         (WebCore::applyFallbackCursor):
946         (WebCore::getEcoreXWindow):
947         (WebCore::isUsingEcoreX): Deleted.
948         * platform/efl/EflScreenUtilities.h:
949
950 2014-05-01  Rik Cabanier  <cabanier@adobe.com>
951
952         Calling createPattern with a broken image must throw an invalidstate error
953         https://bugs.webkit.org/show_bug.cgi?id=132407
954
955         Reviewed by Dirk Schulze.
956
957         Per the WebIDL spec, passing non-finite parameter to a method that
958         takes doubles, should generate a type error.
959
960         Tests:
961         * canvas/philip/tests/2d.imageData.create2.nonfinite.html:
962         * fast/canvas/canvas-2d-imageData-create-nonfinite.html:
963
964         * html/canvas/CanvasRenderingContext2D.cpp:
965         (WebCore::CanvasRenderingContext2D::createImageData):
966
967 2014-04-30  David Hyatt  <hyatt@apple.com>
968
969         REGRESSION (r168046): [New Multicolumn] LeftToRight-rl.html (and all the other reversed/block-axis pagination tests) fail
970         https://bugs.webkit.org/show_bug.cgi?id=132419
971
972         Reviewed by Andreas Kling.
973
974         * rendering/RenderMultiColumnSet.cpp:
975         (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
976         Don't flip here. The old code needed to do that, but the new code doesn't.
977
978 2014-04-30  Alexey Proskuryakov  <ap@apple.com>
979
980         Roll out fix for https://bugs.webkit.org/show_bug.cgi?id=131637:
981         Clean up unnecessary methods in the BackForwardClient interface
982
983         It broke a regression test and an API test.
984
985         * WebCore.exp.in:
986         * history/BackForwardClient.h:
987         (WebCore::BackForwardClient::backItem):
988         (WebCore::BackForwardClient::currentItem):
989         (WebCore::BackForwardClient::forwardItem):
990         * history/BackForwardController.cpp:
991         (WebCore::BackForwardController::BackForwardController):
992         * history/BackForwardController.h:
993         (WebCore::BackForwardController::client):
994         * history/BackForwardList.cpp:
995         (WebCore::BackForwardList::BackForwardList):
996         (WebCore::BackForwardList::close):
997         * history/BackForwardList.h:
998         (WebCore::BackForwardList::create):
999         (WebCore::BackForwardList::page):
1000         * page/Page.cpp:
1001         (WebCore::Page::Page):
1002         (WebCore::Page::PageClients::PageClients):
1003         * page/Page.h:
1004
1005 2014-04-30  Simon Fraser  <simon.fraser@apple.com>
1006
1007         More iOS build fixing. MediaPlayerPrivateIOS is defunct and can be removed.
1008         Fix some build errors in other media files.
1009
1010         * WebCore.xcodeproj/project.pbxproj:
1011         * platform/graphics/MediaPlayer.cpp:
1012         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1013         * platform/graphics/ios/MediaPlayerPrivateIOS.h: Removed.
1014         * platform/graphics/ios/MediaPlayerPrivateIOS.mm: Removed.
1015
1016 2014-04-30  Simon Fraser  <simon.fraser@apple.com>
1017
1018         Fix the iOS build, which no longer needs these calls
1019         to enter/exitFullscreen.
1020
1021         * html/HTMLMediaElement.cpp:
1022         (WebCore::HTMLMediaElement::parseAttribute):
1023
1024 2014-04-30  Simon Fraser  <simon.fraser@apple.com>
1025
1026         Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
1027         https://bugs.webkit.org/show_bug.cgi?id=132396
1028
1029         Reviewed by Eric Carlson.
1030
1031         Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO and related code.
1032
1033         * Configurations/FeatureDefines.xcconfig:
1034         * WebCore.exp.in:
1035         * css/StyleResolver.cpp:
1036         (WebCore::StyleResolver::canShareStyleWithElement):
1037         * dom/DOMImplementation.cpp:
1038         (WebCore::DOMImplementation::createDocument):
1039         * editing/TextIterator.cpp:
1040         (WebCore::isRendererReplacedElement):
1041         * html/HTMLMediaElement.cpp:
1042         (WebCore::HTMLMediaElement::HTMLMediaElement):
1043         (WebCore::HTMLMediaElement::parseAttribute):
1044         * html/HTMLMediaElement.h:
1045         (WebCore::HTMLMediaElement::setNeedWidgetUpdate): Deleted.
1046         * html/HTMLMediaSession.cpp:
1047         (WebCore::HTMLMediaSession::showPlaybackTargetPicker):
1048         (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
1049         (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
1050         * html/HTMLVideoElement.cpp:
1051         (WebCore::HTMLVideoElement::createElementRenderer):
1052         (WebCore::HTMLVideoElement::didAttachRenderers):
1053         (WebCore::HTMLVideoElement::parseAttribute):
1054         (WebCore::HTMLVideoElement::setDisplayMode):
1055         * html/shadow/MediaControlElements.cpp:
1056         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
1057         * loader/EmptyClients.cpp:
1058         (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Deleted.
1059         * loader/EmptyClients.h:
1060         * loader/FrameLoaderClient.h:
1061         * loader/SubframeLoader.cpp:
1062         (WebCore::SubframeLoader::loadPlugin):
1063         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Deleted.
1064         * loader/SubframeLoader.h:
1065         * page/FrameView.cpp:
1066         (WebCore::FrameView::updateEmbeddedObject):
1067         * page/Settings.cpp:
1068         (WebCore::Settings::setVideoPluginProxyEnabled): Deleted.
1069         * page/Settings.h:
1070         (WebCore::Settings::isVideoPluginProxyEnabled): Deleted.
1071         * platform/graphics/GraphicsLayerClient.h:
1072         (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Deleted.
1073         * platform/graphics/MediaPlayer.cpp:
1074         (WebCore::installedMediaEngines):
1075         (WebCore::MediaPlayer::MediaPlayer):
1076         (WebCore::MediaPlayer::loadWithNextMediaEngine):
1077         (WebCore::NullMediaPlayerPrivate::deliverNotification): Deleted.
1078         (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Deleted.
1079         (WebCore::NullMediaPlayerPrivate::setControls): Deleted.
1080         (WebCore::MediaPlayer::deliverNotification): Deleted.
1081         (WebCore::MediaPlayer::setMediaPlayerProxy): Deleted.
1082         (WebCore::MediaPlayer::setControls): Deleted.
1083         * platform/graphics/MediaPlayer.h:
1084         * platform/graphics/MediaPlayerPrivate.h:
1085         (WebCore::MediaPlayerPrivateInterface::deliverNotification): Deleted.
1086         (WebCore::MediaPlayerPrivateInterface::setMediaPlayerProxy): Deleted.
1087         (WebCore::MediaPlayerPrivateInterface::setControls): Deleted.
1088         * platform/graphics/ca/GraphicsLayerCA.cpp:
1089         (WebCore::GraphicsLayerCA::updateGeometry):
1090         (WebCore::GraphicsLayerCA::updateContentsRects):
1091         (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Deleted.
1092         * platform/graphics/ca/GraphicsLayerCA.h:
1093         * rendering/RenderEmbeddedObject.cpp:
1094         (WebCore::RenderEmbeddedObject::canHaveChildren):
1095         * rendering/RenderLayerBacking.cpp:
1096         (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): Deleted.
1097         * rendering/RenderLayerBacking.h:
1098         * rendering/RenderLayerCompositor.cpp:
1099         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
1100
1101 2014-04-30  Simon Fraser  <simon.fraser@apple.com>
1102
1103         [iOS WK2] Some accerated overflow-scroll doesn't scroll correctly
1104         https://bugs.webkit.org/show_bug.cgi?id=132375
1105
1106         Reviewed by Tim Horton.
1107         
1108         We set the size of the scrolling layer (which becomes the bounds of
1109         the UIScrollView) to a non-pixel-snapped padding box size, but the
1110         size of the contents layer is an integral-snapped scroll size.
1111         This would result in a fractional difference between the two, which
1112         makes us thing that the element is scrollable when it really is not.
1113         
1114         Fix by setting the size of the scroll layer to pixel snapped client size,
1115         which is what we also use for scrollability computation.
1116         
1117         Added some FIXMEs in code that requires pixel snapping.
1118         
1119         Also use #if PLATFORM(IOS)/#else to bracket some code that never runs on iOS
1120         but tries to do something similar to iOS-only code.
1121
1122         * rendering/RenderLayerBacking.cpp:
1123         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1124
1125 2014-04-30  David Hyatt  <hyatt@apple.com>
1126
1127         REGRESSION (r168046): [New Multicolumn] Painting order is wrong for columns and fixed positioned elements
1128         https://bugs.webkit.org/show_bug.cgi?id=132377
1129
1130         Reviewed by Simon Fraser.
1131
1132         Added fast/multicol/fixed-stack.html
1133
1134         * rendering/RenderLayer.cpp:
1135         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
1136         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1137         Change the flow thread layer for multicolumn layout to be normal flow only and to
1138         stay self-painting. This has the effect of keeping the flow thread layer grouped
1139         with the enclosing multicolumn layer, and this keeps the paint order correct when
1140         compositing kicks in (or when something would otherwise try to get between the
1141         two layers).
1142
1143 2014-04-30  Eric Carlson  <eric.carlson@apple.com>
1144
1145         [iOS] do not pause video when entering background while playing to external device
1146         https://bugs.webkit.org/show_bug.cgi?id=132374
1147
1148         Reviewed by Jer Noble.
1149
1150         * WebCore.exp.in: Update beginInterruption signature.
1151
1152         * html/HTMLMediaElement.cpp:
1153         (WebCore::HTMLMediaElement::canOverrideBackgroundPlaybackRestriction): New, return true when
1154             playing to external device.
1155         * html/HTMLMediaElement.h:
1156
1157         * platform/audio/MediaSession.cpp:
1158         (WebCore::MediaSession::beginInterruption): Add interruption type to beginInterruption.
1159         * platform/audio/MediaSession.h:
1160
1161         * platform/audio/MediaSessionManager.cpp:
1162         (WebCore::MediaSessionManager::beginInterruption): Ditto.
1163         (WebCore::MediaSessionManager::applicationWillEnterBackground): Ditto.
1164         (WebCore::MediaSessionManager::systemWillSleep): Ditto.
1165         * platform/audio/MediaSessionManager.h:
1166
1167         * platform/audio/ios/AudioDestinationIOS.h:
1168         * platform/audio/ios/MediaSessionManagerIOS.mm:
1169         (-[WebMediaSessionHelper interruption:]): Ditto.
1170
1171         * platform/audio/mac/AudioDestinationMac.h: Make most methods private. Add 
1172             canOverrideBackgroundPlaybackRestriction. Add missing overrides.
1173         * testing/Internals.cpp:
1174         (WebCore::Internals::beginMediaSessionInterruption): Pass interruption type.
1175
1176 2014-04-30  Manuel Rego Casasnovas  <rego@igalia.com>
1177
1178         Unreviewed, rolling out r167879 and r167942.
1179         https://bugs.webkit.org/show_bug.cgi?id=132408
1180
1181         OrderIterator changes caused regressions in flexbox (Requested
1182         by rego on #webkit).
1183
1184         We're keeping the new layout test introduced in r167942
1185         (fast/flexbox/order-iterator-crash.html) to avoid similar
1186         regressions in the future.
1187
1188         Reverted changesets:
1189
1190         "OrderIterator refactoring to avoid extra loops"
1191         https://bugs.webkit.org/show_bug.cgi?id=119061
1192         http://trac.webkit.org/changeset/167879
1193
1194         "REGRESSION (r167879): Heap-use-after-free in
1195         WebCore::RenderFlexibleBox"
1196         https://bugs.webkit.org/show_bug.cgi?id=132337
1197         http://trac.webkit.org/changeset/167942
1198
1199 2014-04-30  Enrica Casucci  <enrica@apple.com>
1200
1201         Cursor gets thinner on empty lines.
1202         https://bugs.webkit.org/show_bug.cgi?id=132411
1203         <rdar://problem/15994556>
1204
1205         Reviewed by Benjamin Poulain.
1206
1207         RenderLineBreak::localCaretRect should not define
1208         locally the constant caretWidth, but use the one from
1209         RenderObject.h which knows about the differences between
1210         iOS and the other platforms.
1211
1212         * rendering/RenderLineBreak.cpp:
1213         (WebCore::RenderLineBreak::localCaretRect):
1214
1215 2014-04-30  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1216
1217         [GStreamer] Use GstMetaVideo
1218         https://bugs.webkit.org/show_bug.cgi?id=132247
1219
1220         Reviewed by Philippe Normand.
1221
1222         In WebKitVideoSink we announce the usage of GstMetaVideo, but we do
1223         not use it when handling the video frames. This might break
1224         some decoders and filters that rely on buffer's meta, rather
1225         that in the caps structures.
1226
1227         This patch enables the use of GstMetaVideo through the GstVideoFrame
1228         API. And it is used everywhere the buffer mapping is required.
1229
1230         Also this patch changes to nullptr where zeros were used.
1231
1232         Also, compile conditionally the video buffer conversion when it is
1233         ARGB/BGRA, since it is only required for the Cairo backend.
1234
1235         No new tests, already covered by current tests.
1236
1237         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1238         (WebCore::getVideoSizeAndFormatFromCaps): init the GstVideoInfo before
1239         used and remove caps fixate check since it is done by
1240         gst_video_info_from_caps().
1241         * platform/graphics/gstreamer/ImageGStreamer.h:
1242         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1243         (ImageGStreamer::ImageGStreamer): use GstVideoFrame for buffer mapping
1244         and unmapping.
1245         (ImageGStreamer::~ImageGStreamer): ditto.
1246         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1247         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): ditto.
1248         (WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
1249         return nullptr if failed.
1250         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1251         (webkitVideoSinkRender): rely on GstVideoInfo rather than on the
1252         caps. Use GstVideoFrame for buffer mapping and unmapping. Add guards
1253         for buffer transformation, since it's only used by Cairo.
1254         (webkitVideoSinkDispose): remove glib version guards.
1255         (webkitVideoSinkSetCaps): update the value of the private
1256         GstVideoInfo.
1257
1258 2014-04-30  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1259
1260         [GTK][GStreamer] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
1261         https://bugs.webkit.org/show_bug.cgi?id=132390
1262
1263         Reviewed by Philippe Normand.
1264
1265         Since EFL port use GLib 2.38 and GTK+, 2.33.2, I assume it is OK
1266         remove, in GTK+ and GST, the existing glib version guards.
1267
1268         No new tests, already covered by current tests.
1269
1270         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1271         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
1272         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
1273         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1274         (webkitVideoSinkDispose):
1275         (webkitVideoSinkFinalize): Deleted.
1276
1277 2014-04-30  Alex Christensen  <achristensen@webkit.org>
1278
1279         Updated ANGLE.
1280         https://bugs.webkit.org/show_bug.cgi?id=132367
1281         <rdar://problem/16211451>
1282
1283         Reviewed by Dean Jackson.
1284
1285         * CMakeLists.txt
1286         Fixed ANGLE compiling with the update.
1287         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1288         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1289         Removed SH_MAP_LONG_VARIABLE_NAMES which is no longer defined in ANGLE.
1290         See https://chromium.googlesource.com/angle/angle/+/3cdfcce86b38ef31a0afd71855887193a7924468
1291         * platform/graphics/opengl/Extensions3DOpenGLES.h:
1292         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
1293         Updated type names from ANGLE.
1294
1295 2014-04-30  Alexey Proskuryakov  <ap@apple.com>
1296
1297         Move Blob.slice() implementation into BlobRegistryImpl
1298         https://bugs.webkit.org/show_bug.cgi?id=132402
1299
1300         Reviewed by Anders Carlsson.
1301
1302         Part or centralizing the responsibility for file size tracking.
1303
1304         * fileapi/Blob.cpp:
1305         (WebCore::Blob::Blob):
1306         (WebCore::Blob::slice): Deleted.
1307         * fileapi/Blob.h:
1308         (WebCore::Blob::slice):
1309         * fileapi/ThreadableBlobRegistry.cpp:
1310         (WebCore::ThreadableBlobRegistry::registerBlobURL):
1311         (WebCore::ThreadableBlobRegistry::registerBlobURLForSlice):
1312         (WebCore::registerBlobURLTask): Deleted.
1313         (WebCore::registerBlobURLFromTask): Deleted.
1314         * fileapi/ThreadableBlobRegistry.h:
1315         * platform/network/BlobRegistry.h:
1316         * platform/network/BlobRegistryImpl.cpp:
1317         (WebCore::BlobRegistryImpl::appendStorageItems):
1318         (WebCore::BlobRegistryImpl::registerBlobURLForSlice):
1319         (WebCore::BlobRegistryImpl::blobSize):
1320         * platform/network/BlobRegistryImpl.h:
1321
1322 2014-04-30  Brent Fulgham  <bfulgham@apple.com>
1323
1324         Unreviewed build fix after r168041.
1325
1326         * WebCore.exp.in: Add missing iOS exports.
1327
1328 2014-04-30  Beth Dakin  <bdakin@apple.com>
1329
1330         Always-visible scrollbars continuously repaint after non-momentum scrollling
1331         https://bugs.webkit.org/show_bug.cgi?id=132403
1332         -and corresponding-
1333         <rdar://problem/16553878>
1334
1335         Reviewed by Simon Fraser.
1336
1337         No longer universally opt into presentation value mode whenever the scroll 
1338         position changes on the scrolling thread. We really only want it for momentum 
1339         scrolls, and this will ensure that we always set it to NO once we have set it to 
1340         YES.
1341         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1342         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
1343         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
1344
1345         Expose shouldUsePresentationValue.
1346         * platform/mac/NSScrollerImpDetails.h:
1347
1348 2014-04-30  Anders Carlsson  <andersca@apple.com>
1349
1350         Move the legacy WebKit API into WebKitLegacy.framework and move it inside WebKit.framework
1351         https://bugs.webkit.org/show_bug.cgi?id=132399
1352         <rdar://problem/15920046>
1353
1354         Reviewed by Dan Bernstein.
1355
1356         Allow WebKitLegacy to link against WebCore.
1357
1358         * Configurations/WebCore.xcconfig:
1359
1360 2014-04-30  David Hyatt  <hyatt@apple.com>
1361
1362         [New Multicolumn] ASSERTs in fast/dynamic/continuation-detach-crash.html
1363         https://bugs.webkit.org/show_bug.cgi?id=132392
1364
1365         Reviewed by Dean Jackson.
1366
1367         * rendering/RenderFlowThread.cpp:
1368         (WebCore::RenderFlowThread::setRegionRangeForBox):
1369         Add ASSERTs in case we ever try to set regions from the wrong flow thread
1370         as part of the box's region range.
1371
1372         * rendering/RenderMultiColumnFlowThread.cpp:
1373         (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
1374         Add a bunch of code that handles the discovery of a span from an outer flow thread
1375         being inserted into an inner flow thread. This forces us to delete that placeholder
1376         and shift the outer spanning content into the inner flow thread in order to get a new
1377         mapping/placeholder created in the inner flow thread.
1378
1379         (WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
1380         Tighten this code to use the parent() just in case we change the invariant of
1381         parent = containingBlock later.
1382
1383         * rendering/RenderMultiColumnFlowThread.h:
1384         Add a static guard when shifting a spanner to prevent the outer flow thread from
1385         thinking the spanner belongs to it when it gets punted out of the inner flow thread.
1386         A better long-term solution might be to make the spanner map global instead of
1387         per-flow thread.
1388
1389         * rendering/RenderMultiColumnSpannerPlaceholder.cpp:
1390         (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
1391         * rendering/RenderMultiColumnSpannerPlaceholder.h:
1392         Cache the flow thread so that we can get back to it in order to detect if the
1393         placeholder belongs to us or not.
1394
1395         * rendering/RenderObject.cpp:
1396         (WebCore::RenderObject::insertedIntoTree):
1397         Notifications from insertedIntoTree are problematic, since this can be called during
1398         the layout of the outer flow thread for content inside an inner flow thread that is
1399         not getting a layout yet. This makes the currentFlowThread in the flow thread controller
1400         inaccurate, so we have to add code to clear it out and put it back.
1401
1402 2014-04-29  Chris Fleizach  <cfleizach@apple.com>
1403
1404         AX: Make "contenteditable" regions into AXTextAreas
1405         https://bugs.webkit.org/show_bug.cgi?id=132379
1406
1407         Reviewed by Mario Sanchez Prada.
1408
1409         Make contenteditable regions into AXTextAreas. This will allow for a more standardized
1410         interface for interaction with assistive technologies.
1411
1412         Test: accessibility/content-editable-as-textarea.html
1413
1414         * accessibility/AccessibilityNodeObject.cpp:
1415         (WebCore::AccessibilityNodeObject::hasContentEditableAttributeSet):
1416         * accessibility/AccessibilityObject.cpp:
1417         (WebCore::AccessibilityObject::contentEditableAttributeIsEnabled):
1418         * accessibility/AccessibilityObject.h:
1419         * accessibility/AccessibilityRenderObject.cpp:
1420         (WebCore::AccessibilityRenderObject::documentBasedSelectedTextRange):
1421         (WebCore::AccessibilityRenderObject::selectedText):
1422         (WebCore::AccessibilityRenderObject::selectedTextRange):
1423         (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
1424         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1425         (WebCore::AccessibilityRenderObject::ariaSelectedTextRange): Deleted.
1426         * accessibility/AccessibilityRenderObject.h:
1427
1428 2014-04-30  Brian J. Burg  <burg@cs.washington.edu>
1429
1430         Clean up unnecessary methods in the BackForwardClient interface
1431         https://bugs.webkit.org/show_bug.cgi?id=131637
1432
1433         Reviewed by Andreas Kling.
1434
1435         Demote back/current/forwardItem and iOS-specific methods from the
1436         BackForwardClient interface. Convert the class to not be refcounted.
1437
1438         No new tests, no behavior was changed.
1439
1440         * WebCore.exp.in:
1441         * history/BackForwardClient.h:
1442         (WebCore::BackForwardClient::~BackForwardClient): Deleted.
1443         (WebCore::BackForwardClient::backItem): Deleted.
1444         (WebCore::BackForwardClient::currentItem): Deleted.
1445         (WebCore::BackForwardClient::forwardItem): Deleted.
1446         * history/BackForwardController.cpp:
1447         (WebCore::BackForwardController::BackForwardController):
1448         * history/BackForwardController.h: Take ownership of the passed BackForwardClient.
1449         (WebCore::BackForwardController::client): Return a reference.
1450         * history/BackForwardList.h: Remove the Page field, since it isn't used any more.
1451         (WebCore::BackForwardList::create): Deleted.
1452         * page/Page.h: Remove RefPtr from PageClient.
1453         * page/Page.cpp:
1454         (WebCore::PageClients::PageClients): Initialize client to nullptr.
1455
1456 2014-04-30  Brent Fulgham  <bfulgham@apple.com>
1457
1458         [Mac, iOS] Support caption activation via JS webkitHasClosedCaptions method
1459         https://bugs.webkit.org/show_bug.cgi?id=132320
1460
1461         Reviewed by Eric Carlson.
1462
1463         * Modules/mediacontrols/mediaControlsApple.css:
1464         (video::-webkit-media-text-track-container .hidden): Added.
1465         * html/HTMLMediaElement.cpp:
1466         (WebCore::HTMLMediaElement::configureTextTrackGroup): Added call to
1467         new 'updateCaptionsContainer'.
1468         (WebCore::HTMLMediaElement::updateCaptionContainer): Added.
1469         * html/HTMLMediaElement.h:
1470
1471 2014-04-30  Alexey Proskuryakov  <ap@apple.com>
1472
1473         https://bugs.webkit.org/show_bug.cgi?id=132363
1474         Make Blob RawData immutable
1475
1476         Reviewed by Anders Carlsson.
1477
1478         * Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::didReceiveBinaryData):
1479         Create RawData in one step.
1480
1481         * WebCore.exp.in: Don't export a constructor that we no longer have (and the new one is inline).
1482
1483         * fileapi/Blob.cpp: Removed entirely dead code.
1484
1485         * fileapi/WebKitBlobBuilder.cpp:
1486         * fileapi/WebKitBlobBuilder.h:
1487         Updated to collect data in a plain Vector, so that we don't have to modify RawData.
1488         Removed FIXMEs about renaming - there used to be a BlobBuilder exposed to JS, but
1489         now this is just a helper to implement JS Blob constructor. We should probably
1490         still rename it, but not how the FIXME suggested.
1491
1492         * platform/network/BlobData.cpp:
1493         (WebCore::BlobDataItem::detachFromCurrentThread): RawData::detachFromCurrentThread()
1494         was a no-op.
1495         (WebCore::BlobDataHandle::BlobDataHandle): Deleted. This was entirely dead code.
1496         (WebCore::BlobDataHandle::~BlobDataHandle): Ditto.
1497
1498         * platform/network/BlobData.h: Made RawData immutable.
1499
1500         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseBlob):
1501         Create RawData in one step.
1502
1503 2014-04-30  David Hyatt  <hyatt@apple.com>
1504
1505         [New Multicolumn] Region offset not factored in when mapping to local coords
1506         https://bugs.webkit.org/show_bug.cgi?id=132383
1507
1508         Reviewed by Anders Carlsson.
1509
1510         Make sure to cache the offset of the multicolumn set from its parent and then
1511         add that in to the translation offset.
1512
1513         * rendering/RenderMultiColumnFlowThread.cpp:
1514         (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
1515
1516 2014-04-30  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
1517
1518         Move removeEquivalentProperties functions to EditingStyle
1519         https://bugs.webkit.org/show_bug.cgi?id=131093
1520
1521         Reviewed by Csaba Osztrogonác.
1522
1523         A follow-up to r167967. Use single line declaration for template methods.
1524
1525         * editing/EditingStyle.h:
1526
1527 2014-04-30  Manuel Rego Casasnovas  <rego@igalia.com>
1528
1529         [CSS Grid Layout] Enable runtime feature by default
1530         https://bugs.webkit.org/show_bug.cgi?id=132189
1531
1532         Reviewed by Benjamin Poulain.
1533
1534         * page/Settings.in: Set cssGridLayoutEnabled to true.
1535
1536 2014-04-30  Manuel Rego Casasnovas  <rego@igalia.com>
1537
1538         [CSS Grid Layout] Wrap some specific grid code under compilation flag
1539         https://bugs.webkit.org/show_bug.cgi?id=132341
1540
1541         Reviewed by Benjamin Poulain.
1542
1543         Some static variables in RenderBox are only used for CSS Grid Layout code. Wrap them and the related methods
1544         under ENABLE_CSS_GRID_LAYOUT compilation flag.
1545
1546         * rendering/RenderBox.cpp:
1547         (WebCore::RenderBox::willBeDestroyed):
1548         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
1549         (WebCore::RenderBox::containingBlockLogicalHeightForContent):
1550         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1551         (WebCore::RenderBox::computePercentageLogicalHeight):
1552         * rendering/RenderBox.h:
1553
1554 2014-04-29  Commit Queue  <commit-queue@webkit.org>
1555
1556         Unreviewed, rolling out r167962 and r167975.
1557         https://bugs.webkit.org/show_bug.cgi?id=132376
1558
1559         Mysteriously broke many tests (Requested by ap on #webkit).
1560
1561         Reverted changesets:
1562
1563         "[Mac, iOS] Support caption activation via JS
1564         webkitHasClosedCaptions method"
1565         https://bugs.webkit.org/show_bug.cgi?id=132320
1566         http://trac.webkit.org/changeset/167962
1567
1568         "Unreviewed test fix after r167962."
1569         http://trac.webkit.org/changeset/167975
1570
1571 2014-04-29  David Hyatt  <hyatt@apple.com>
1572
1573         [New Multicolumn] Multiple tests assert in RenderGeometryMap
1574         https://bugs.webkit.org/show_bug.cgi?id=132285
1575
1576         Reviewed by Simon Fraser.
1577
1578         Implement offsetFromContainer for RenderMultiColumnFlowThread so that the
1579         geometry map gets the right offsets. This is really only relevant for the 
1580         geometry map, since I already overrode mapAbsoluteToLocalPoint and multicolumn
1581         flow threads are repaint containers (so mapLocalToAbsolute never needs offsetFromContainer).
1582
1583         * rendering/RenderMultiColumnFlowThread.cpp:
1584         (WebCore::RenderMultiColumnFlowThread::offsetFromContainer):
1585         * rendering/RenderMultiColumnFlowThread.h:
1586
1587 2014-04-29  Benjamin Poulain  <bpoulain@apple.com>
1588
1589         [iOS][WK2] When pageScaleFactor * deviceScaleFactor = 1, the tile grid is completely messed up
1590         https://bugs.webkit.org/show_bug.cgi?id=132368
1591
1592         Reviewed by Simon Fraser.
1593
1594         * platform/graphics/ca/mac/TileController.mm:
1595         (WebCore::TileController::TileController):
1596         The initial device scale factor was initialized to 1. We were returning the wrong zoomedOutContentsScale() and
1597         contentsScale() on retina devices until the next successful scale update.
1598
1599 2014-04-29  Alexey Proskuryakov  <ap@apple.com>
1600
1601         Remove an unused override of BlobRegistryImpl::appendStorageItems
1602         https://bugs.webkit.org/show_bug.cgi?id=132365
1603
1604         Reviewed by Andreas Kling.
1605
1606         * platform/network/BlobRegistryImpl.cpp:
1607         (WebCore::BlobRegistryImpl::appendStorageItems): Deleted.
1608         * platform/network/BlobRegistryImpl.h:
1609
1610 2014-04-29  Eric Carlson  <eric.carlson@apple.com>
1611
1612         [Mac] tag the video layers with descriptive name to aid debugging
1613         https://bugs.webkit.org/show_bug.cgi?id=132371
1614
1615         Reviewed by Darin Adler.
1616
1617         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1618         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Set the AVPlayerLayer
1619             name in a debug build.
1620
1621 2014-04-29  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
1622
1623         [GTK][cmake] CMake variable (non)expansion causing 'File name too long' build error.
1624         https://bugs.webkit.org/show_bug.cgi?id=132244
1625
1626         Reviewed by Martin Robinson.
1627
1628         Removing quotes around include directory variable ${WebCore_INCLUDE_DIRECTORIES} in
1629         the include_directories cmake macro enables the variable to be expanded correctly.
1630
1631         No tests created as this fixes a platform specific build issue.
1632
1633         * PlatformGTK.cmake:
1634
1635 2014-04-29  Brent Fulgham  <bfulgham@apple.com>
1636
1637         Unreviewed test fix after r167962.
1638         * Modules/mediacontrols/mediaControlsApple.css:
1639         (.hidden): Use common '.hidden' class for controls.
1640         (video::-webkit-media-text-track-container .hidden): Deleted.
1641
1642 2014-04-29  Brady Eidson  <beidson@apple.com>
1643
1644         Handle selection services menu.
1645         <rdar://problem/16727798> and https://bugs.webkit.org/show_bug.cgi?id=132362
1646
1647         Reviewed by Tim Horton.
1648
1649         * WebCore.exp.in:
1650
1651 2014-04-29  Myles C. Maxfield  <mmaxfield@apple.com>
1652
1653         Removing unused argument in InlineFlowBox::placeBoxesInInlineDirection()
1654         https://bugs.webkit.org/show_bug.cgi?id=132369
1655
1656         Reviewed by Darin Adler.
1657
1658         This was not caught by our compiler because placeBoxesInInlineDirection()
1659         is mutually-recursive with placeBoxRangeInInlineDirection().
1660
1661         No new tests are necessary because there should be no behavior change.
1662
1663         * rendering/InlineFlowBox.cpp:
1664         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
1665         (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
1666         * rendering/InlineFlowBox.h:
1667         * rendering/RenderBlockLineLayout.cpp:
1668         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
1669
1670 2014-04-29  Alex Christensen  <achristensen@webkit.org>
1671
1672         [WinCairo] Switch video from GStreamer to Media Foundation.
1673         https://bugs.webkit.org/show_bug.cgi?id=132358
1674
1675         Reviewed by Brent Fulgham.
1676
1677         * WebCore.vcxproj/WebCore.vcxproj:
1678         Removed dependencies on GStreamer.
1679
1680 2014-04-29  Simon Fraser  <simon.fraser@apple.com>
1681
1682         Remove some PLATFORM(IOS) #ifdefs related to hasAcceleratedTouchScrolling()
1683         https://bugs.webkit.org/show_bug.cgi?id=132353
1684
1685         Reviewed by Tim Horton & Darin Adler.
1686
1687         Minor cleanup and refactoring to remove #idefs.
1688
1689         * rendering/RenderLayer.cpp:
1690         (WebCore::RenderLayer::scrollTo): No need for this #ifdef, usesCompositedScrolling()
1691         gives the right answser already.
1692         (WebCore::RenderLayer::visibleContentRectInternal): Use showsOverflowControls() to
1693         avoid #ifdef.
1694         (WebCore::RenderLayer::invalidateScrollbarRect): Ditto.
1695         (WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
1696         (WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
1697         (WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
1698         (WebCore::RenderLayer::showsOverflowControls): Return false on iOS.
1699         (WebCore::RenderLayer::paintOverflowControls): Ditto.
1700         (WebCore::RenderLayer::calculateClipRects): Ditto.
1701         * rendering/RenderLayer.h:
1702         * rendering/RenderLayerBacking.cpp:
1703         (WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
1704         Just #ifdef in side of this function rather than having two similar functions.
1705         (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
1706         (WebCore::hasNonZeroTransformOrigin):
1707         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use a local bool
1708         to reduce #ifdefs.
1709         (WebCore::layerOrAncestorIsTransformedOrScrolling): Deleted.
1710
1711 2014-04-29  Simon Fraser  <simon.fraser@apple.com>
1712
1713         Remove Settings::compositedScrollingForFramesEnabled
1714         https://bugs.webkit.org/show_bug.cgi?id=132352
1715
1716         Reviewed by Andreas Kling.
1717
1718         The usesCompositedScrolling setting was only used by Chromium, so
1719         remove it and associated code.
1720
1721         * page/FrameView.cpp:
1722         (WebCore::FrameView::usesCompositedScrolling): Deleted.
1723         * page/FrameView.h:
1724         * page/Settings.in:
1725         * rendering/RenderLayerCompositor.cpp:
1726         (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
1727
1728 2014-04-29  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
1729
1730         Move removeEquivalentProperties functions to EditingStyle
1731         https://bugs.webkit.org/show_bug.cgi?id=131093
1732
1733         Reviewed by Darin Adler.
1734
1735         Moved the removeEquivalentProperties functions
1736         from StyleProperties to EditingStyle class.
1737
1738         * css/StyleProperties.cpp:
1739         (WebCore::MutableStyleProperties::removeEquivalentProperties): Deleted.
1740         * css/StyleProperties.h:
1741         * editing/EditingStyle.cpp:
1742         (WebCore::EditingStyle::removeStyleAddedByNode):
1743         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
1744         (WebCore::EditingStyle::prepareToApplyAt):
1745         (WebCore::EditingStyle::removeEquivalentProperties):
1746         (WebCore::extractPropertiesNotIn):
1747         * editing/EditingStyle.h:
1748
1749 2014-04-29  David Hyatt  <hyatt@apple.com>
1750
1751         [New Multicolumn] Implement support for compositing
1752         https://bugs.webkit.org/show_bug.cgi?id=132298
1753
1754         Reviewed by Simon Fraser.
1755
1756         * rendering/RenderLayer.cpp:
1757         (WebCore::accumulateOffsetTowardsAncestor):
1758         Add in a case for the new columns that calls into the multi-column flow thread
1759         to get an offset to adjust by.
1760
1761         * rendering/RenderLayerBacking.cpp:
1762         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
1763         Make sure this code only runs for named flow threads.
1764
1765         * rendering/RenderLayerCompositor.cpp:
1766         (WebCore::RenderLayerCompositor::canBeComposited):
1767         Turn on compositing support for in-flow RenderFlowThreads instead of always returning
1768         false
1769
1770         * rendering/RenderMultiColumnFlowThread.cpp:
1771         (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
1772         Changed this function to fix a couple of bugs exposed by compositing/columns tests. Its
1773         end goal is the same, but the approach is improved.
1774
1775         * rendering/RenderMultiColumnSet.cpp:
1776         (WebCore::RenderMultiColumnSet::endFlow):
1777         Don't pad out to a multiple of column height. You can't flip around a flow thread
1778         to get back to accurate physical coordinates if bogus padding is introduced. This
1779         seemed to have no effect on any layout tests when removed, so I don't think it 
1780         was really serving any useful purpose.
1781
1782         (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
1783         Don't factor in the overall flow thread portion, since this is handled by the callers
1784         now.
1785
1786         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
1787         * rendering/RenderMultiColumnSet.h:
1788         Change this function to be ASSERT_NOT_REACHED(), since we want to know if someone calls
1789         it. It only runs for named flow thread compositing code, so it would be a mistake if
1790         this ever gets invoked.
1791
1792 2014-04-29  Mark Hahnenberg  <mhahnenberg@apple.com>
1793
1794         JSProxies should be cacheable
1795         https://bugs.webkit.org/show_bug.cgi?id=132351
1796
1797         Reviewed by Geoffrey Garen.
1798
1799         No new tests.
1800
1801         Whenever we encounter a proxy in an inline cache we should try to cache on the 
1802         proxy's target instead of giving up.
1803
1804         This patch adds support for a simple "recursive" inline cache if the base object
1805         we're accessing is a pure forwarding proxy. JSGlobalObject and its subclasses 
1806         are the only ones to benefit from this right now.
1807
1808         This is performance neutral on the benchmarks we track. Currently we won't
1809         cache on JSDOMWindow due to HasImpureGetOwnPropertySlot, but this issue will be fixed soon.
1810
1811         * bindings/js/JSDOMWindowShell.h:
1812         (WebCore::JSDOMWindowShell::createStructure):
1813
1814 2014-04-29  Brent Fulgham  <bfulgham@apple.com>
1815
1816         [Mac, iOS] Support caption activation via JS webkitHasClosedCaptions method
1817         https://bugs.webkit.org/show_bug.cgi?id=132320
1818
1819         Reviewed by Eric Carlson.
1820
1821         * Modules/mediacontrols/mediaControlsApple.css:
1822         (video::-webkit-media-text-track-container .hidden): Added.
1823         * html/HTMLMediaElement.cpp:
1824         (WebCore::HTMLMediaElement::configureTextTrackGroup): Added call to
1825         new 'updateCaptionsContainer'.
1826         (WebCore::HTMLMediaElement::updateCaptionContainer): Added.
1827         * html/HTMLMediaElement.h:
1828         * html/shadow/MediaControlElements.cpp:
1829         (WebCore::MediaControlTextTrackContainerElement::hide): Use CSS class .hidden instead of
1830         hard-coded "display:none".
1831         (WebCore::MediaControlTextTrackContainerElement::show): Ditto.
1832         * html/shadow/MediaControlElements.h:
1833
1834 2014-04-28  Roger Fong  <roger_fong@apple.com>
1835
1836         Plugins hidden by images should autoplay.
1837         https://bugs.webkit.org/show_bug.cgi?id=132222.
1838         <rdar://problem/16653536>
1839
1840         Reviewed by Jon Lee and Darin Adler.
1841
1842         * WebCore.exp.in: Add exports needed by WK2.
1843
1844 2014-04-29  Filip Pizlo  <fpizlo@apple.com>
1845
1846         Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
1847         https://bugs.webkit.org/show_bug.cgi?id=112840
1848
1849         Rubber stamped by Geoffrey Garen.
1850
1851         It already has a lot of tests.
1852
1853         * Configurations/FeatureDefines.xcconfig:
1854
1855 2014-04-29  Brady Eidson  <beidson@apple.com>
1856
1857         Change Image Controls replacement to use selection and paste
1858         <rdar://problem/16302722> and https://bugs.webkit.org/show_bug.cgi?id=131992
1859
1860         Reviewed by Tim Horton.
1861
1862         * WebCore.exp.in: Remove deleted symbol.
1863
1864         * html/shadow/mac/ImageControlsButtonElementMac.cpp:
1865         (WebCore::ImageControlsButtonElementMac::defaultEventHandler):
1866
1867         * page/ContextMenuController.cpp:
1868         (WebCore::ContextMenuController::showImageControlsMenu): Select the image element
1869           before showing the menu.
1870         (WebCore::ContextMenuController::replaceControlledImage): Deleted.
1871         * page/ContextMenuController.h:
1872
1873 2014-04-29  Jer Noble  <jer.noble@apple.com>
1874
1875         [iOS] Remove workaround for <rdar://problem/16578727>.
1876         https://bugs.webkit.org/show_bug.cgi?id=132338
1877
1878         Reviewed by Darin Adler.
1879
1880         Now that <rdar://problem/16578727> is fixed, remove the workaround by replacing the
1881         call to -_updatePlaybackControlsViewController with one to -layoutIfNeeded.
1882
1883         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1884         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
1885
1886 2014-04-29  Zan Dobersek  <zdobersek@igalia.com>
1887
1888         ScriptExecutionContext::Task should work well with C++11 lambdas
1889         https://bugs.webkit.org/show_bug.cgi?id=129795
1890
1891         Reviewed by Darin Adler.
1892
1893         Instead of having classes that subclass ScriptExecutionContext::Task and override
1894         the performTask(ScriptExecutionContext*) method, have the ScriptExecutionContext::Task
1895         take in a std::function<void (ScriptExecutionContext*)>-like object trough the constructor
1896         which would contain the code currently kept in the performTask() methods.
1897
1898         This enables inlining C++11 lambdas into ScriptExecutionContext::postTask() calls. For
1899         cleanup tasks, the Task object can be implicitly constructed by using the initializer list
1900         constructor with the first argument being the ScriptExecutionContext::Task::CleanupTask tag.
1901         The ScriptExecutionContext class remains non-copyable and now stores the passed-in invokable
1902         object in the std::function wrapper, along with a boolean member that indicates whether the
1903         task is of cleanup nature.
1904
1905         * Modules/quota/StorageErrorCallback.cpp:
1906         (WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
1907         (WebCore::StorageErrorCallback::CallbackTask::performTask): Deleted.
1908         * Modules/quota/StorageErrorCallback.h:
1909         (WebCore::StorageErrorCallback::CallbackTask::create): Deleted.
1910         * Modules/webdatabase/Database.cpp:
1911         (WebCore::Database::~Database):
1912         (WebCore::Database::runTransaction):
1913         (WebCore::Database::scheduleTransactionCallback):
1914         (WebCore::DerefContextTask::create): Deleted.
1915         (WebCore::DerefContextTask::performTask): Deleted.
1916         (WebCore::DerefContextTask::isCleanupTask): Deleted.
1917         (WebCore::DerefContextTask::DerefContextTask): Deleted.
1918         (WebCore::callTransactionErrorCallback): Deleted.
1919         (WebCore::DeliverPendingCallbackTask::create): Deleted.
1920         (WebCore::DeliverPendingCallbackTask::performTask): Deleted.
1921         (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): Deleted.
1922         * Modules/webdatabase/DatabaseManager.cpp:
1923         (WebCore::DatabaseManager::openDatabase):
1924         (WebCore::DatabaseCreationCallbackTask::create): Deleted.
1925         (WebCore::DatabaseCreationCallbackTask::performTask): Deleted.
1926         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): Deleted.
1927         * Modules/webdatabase/DatabaseSync.cpp:
1928         (WebCore::CloseSyncDatabaseOnContextThreadTask::create): Deleted.
1929         (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): Deleted.
1930         (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): Deleted.
1931         * Modules/webdatabase/SQLCallbackWrapper.h:
1932         (WebCore::SQLCallbackWrapper::clear):
1933         (WebCore::SQLCallbackWrapper::SafeReleaseTask::create): Deleted.
1934         (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): Deleted.
1935         (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): Deleted.
1936         (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): Deleted.
1937         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1938         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
1939         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
1940         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
1941         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
1942         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
1943         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1944         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
1945         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
1946         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
1947         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
1948         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
1949         (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
1950         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
1951         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create): Deleted.
1952         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask): Deleted.
1953         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask): Deleted.
1954         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
1955         * bindings/js/JSCallbackData.h:
1956         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
1957         (WebCore::DeleteCallbackDataTask::create): Deleted.
1958         (WebCore::DeleteCallbackDataTask::performTask): Deleted.
1959         (WebCore::DeleteCallbackDataTask::isCleanupTask): Deleted.
1960         * bindings/js/JSDOMGlobalObjectTask.cpp:
1961         (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
1962         (WebCore::JSGlobalObjectTask::~JSGlobalObjectTask): Deleted.
1963         (WebCore::JSGlobalObjectTask::performTask): Deleted.
1964         * bindings/js/JSDOMGlobalObjectTask.h:
1965         * bindings/js/JSDOMWindowBase.cpp:
1966         (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
1967         * bindings/js/JSWorkerGlobalScopeBase.cpp:
1968         (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
1969         * bindings/scripts/CodeGeneratorJS.pm:
1970         * bindings/scripts/test/JS/JSTestCallback.cpp:
1971         (WebCore::JSTestCallback::~JSTestCallback):
1972         (GenerateCallbackImplementation):
1973         * dom/CrossThreadTask.h:
1974         (WebCore::CrossThreadTask1::performTask):
1975         (WebCore::CrossThreadTask2::performTask):
1976         (WebCore::CrossThreadTask3::performTask):
1977         (WebCore::CrossThreadTask4::performTask):
1978         (WebCore::CrossThreadTask5::performTask):
1979         (WebCore::CrossThreadTask6::performTask):
1980         (WebCore::CrossThreadTask7::performTask):
1981         (WebCore::CrossThreadTask8::performTask):
1982         (WebCore::createCallbackTask):
1983         (WebCore::CrossThreadTask1::create): Deleted.
1984         (WebCore::CrossThreadTask2::create): Deleted.
1985         (WebCore::CrossThreadTask3::create): Deleted.
1986         (WebCore::CrossThreadTask4::create): Deleted.
1987         (WebCore::CrossThreadTask5::create): Deleted.
1988         (WebCore::CrossThreadTask6::create): Deleted.
1989         (WebCore::CrossThreadTask7::create): Deleted.
1990         (WebCore::CrossThreadTask8::create): Deleted.
1991         * dom/Document.cpp:
1992         (WebCore::Document::addConsoleMessage):
1993         (WebCore::Document::addMessage):
1994         (WebCore::Document::postTask):
1995         (WebCore::Document::pendingTasksTimerFired):
1996         (WebCore::PerformTaskContext::PerformTaskContext): Deleted.
1997         (WebCore::Document::didReceiveTask): Deleted.
1998         * dom/Document.h:
1999         * dom/ScriptExecutionContext.cpp:
2000         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
2001         (WebCore::ScriptExecutionContext::timerAlignmentInterval):
2002         (WebCore::ProcessMessagesSoonTask::create): Deleted.
2003         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask): Deleted.
2004         (WebCore::ScriptExecutionContext::Task::~Task): Deleted.
2005         * dom/ScriptExecutionContext.h:
2006         (WebCore::ScriptExecutionContext::Task::Task):
2007         (WebCore::ScriptExecutionContext::Task::performTask):
2008         (WebCore::ScriptExecutionContext::Task::isCleanupTask):
2009         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
2010         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create): Deleted.
2011         * dom/StringCallback.cpp:
2012         (WebCore::StringCallback::scheduleCallback):
2013         * loader/appcache/ApplicationCacheGroup.cpp:
2014         (WebCore::ApplicationCacheGroup::postListenerTask):
2015         (WebCore::CallCacheListenerTask::create): Deleted.
2016         (WebCore::CallCacheListenerTask::CallCacheListenerTask): Deleted.
2017         * workers/DefaultSharedWorkerRepository.cpp:
2018         (WebCore::SharedWorkerProxy::postTaskToLoader):
2019         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
2020         (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
2021         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
2022         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
2023         (WebCore::SharedWorkerConnectTask::create): Deleted.
2024         (WebCore::SharedWorkerConnectTask::performTask): Deleted.
2025         * workers/WorkerEventQueue.cpp:
2026         (WebCore::WorkerEventQueue::EventDispatcher::EventDispatcher):
2027         (WebCore::WorkerEventQueue::EventDispatcher::~EventDispatcher):
2028         (WebCore::WorkerEventQueue::EventDispatcher::dispatch):
2029         (WebCore::WorkerEventQueue::enqueueEvent):
2030         (WebCore::WorkerEventQueue::cancelEvent):
2031         (WebCore::WorkerEventQueue::close):
2032         * workers/WorkerEventQueue.h:
2033         * workers/WorkerGlobalScope.cpp:
2034         (WebCore::WorkerGlobalScope::close):
2035         (WebCore::WorkerGlobalScope::postTask):
2036         (WebCore::WorkerGlobalScope::addConsoleMessage):
2037         (WebCore::WorkerGlobalScope::addMessage):
2038         (WebCore::CloseWorkerGlobalScopeTask::create): Deleted.
2039         (WebCore::CloseWorkerGlobalScopeTask::performTask): Deleted.
2040         (WebCore::CloseWorkerGlobalScopeTask::isCleanupTask): Deleted.
2041         * workers/WorkerGlobalScope.h:
2042         * workers/WorkerLoaderProxy.h:
2043         * workers/WorkerMessagingProxy.cpp:
2044         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
2045         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
2046         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
2047         (WebCore::WorkerMessagingProxy::postTaskToLoader):
2048         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
2049         (WebCore::WorkerMessagingProxy::workerThreadCreated):
2050         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
2051         (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
2052         (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
2053         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
2054         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
2055         (WebCore::WorkerMessagingProxy::reportPendingActivity):
2056         (WebCore::MessageWorkerGlobalScopeTask::create): Deleted.
2057         (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask): Deleted.
2058         (WebCore::MessageWorkerGlobalScopeTask::performTask): Deleted.
2059         (WebCore::MessageWorkerTask::create): Deleted.
2060         (WebCore::MessageWorkerTask::MessageWorkerTask): Deleted.
2061         (WebCore::MessageWorkerTask::performTask): Deleted.
2062         (WebCore::WorkerExceptionTask::create): Deleted.
2063         (WebCore::WorkerExceptionTask::WorkerExceptionTask): Deleted.
2064         (WebCore::WorkerExceptionTask::performTask): Deleted.
2065         (WebCore::WorkerGlobalScopeDestroyedTask::create): Deleted.
2066         (WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask): Deleted.
2067         (WebCore::WorkerGlobalScopeDestroyedTask::performTask): Deleted.
2068         (WebCore::WorkerTerminateTask::create): Deleted.
2069         (WebCore::WorkerTerminateTask::WorkerTerminateTask): Deleted.
2070         (WebCore::WorkerTerminateTask::performTask): Deleted.
2071         (WebCore::WorkerThreadActivityReportTask::create): Deleted.
2072         (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): Deleted.
2073         (WebCore::WorkerThreadActivityReportTask::performTask): Deleted.
2074         (WebCore::PostMessageToPageInspectorTask::create): Deleted.
2075         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask): Deleted.
2076         (WebCore::PostMessageToPageInspectorTask::performTask): Deleted.
2077         (WebCore::NotifyNetworkStateChangeTask::create): Deleted.
2078         (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask): Deleted.
2079         (WebCore::NotifyNetworkStateChangeTask::performTask): Deleted.
2080         * workers/WorkerMessagingProxy.h:
2081         * workers/WorkerRunLoop.cpp:
2082         (WebCore::WorkerRunLoop::postTask):
2083         (WebCore::WorkerRunLoop::postTaskAndTerminate):
2084         (WebCore::WorkerRunLoop::postTaskForMode):
2085         (WebCore::WorkerRunLoop::Task::create):
2086         (WebCore::WorkerRunLoop::Task::performTask):
2087         (WebCore::WorkerRunLoop::Task::Task):
2088         * workers/WorkerRunLoop.h:
2089         * workers/WorkerThread.cpp:
2090         (WebCore::WorkerThread::stop):
2091         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
2092         (WebCore::WorkerThreadShutdownFinishTask::create): Deleted.
2093         (WebCore::WorkerThreadShutdownFinishTask::performTask): Deleted.
2094         (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): Deleted.
2095         (WebCore::WorkerThreadShutdownStartTask::create): Deleted.
2096         (WebCore::WorkerThreadShutdownStartTask::performTask): Deleted.
2097         (WebCore::WorkerThreadShutdownStartTask::isCleanupTask): Deleted.
2098
2099 2014-04-29  Manuel Rego Casasnovas  <rego@igalia.com>
2100
2101         REGRESSION (r167879): Heap-use-after-free in WebCore::RenderFlexibleBox
2102         https://bugs.webkit.org/show_bug.cgi?id=132337
2103
2104         Reviewed by Simon Fraser.
2105
2106         From Blink r154582 by <jchaffraix@chromium.org>
2107
2108         This is a regression from the changes in OrderIterator. The issue is
2109         that we don't invalidate our iterator when a child is removed. This
2110         means that we could hold onto free'd memory until the next layout
2111         when we will recompute the iterator.
2112
2113         The solution is simple: just clear the memory when we remove a child.
2114
2115         Note that RenderGrid is not impacted by this bug as we don't use the
2116         iterator outside layout yet, but if we do it at some point the very same
2117         problem will arise, so the same treatment was applied to the class.
2118
2119         Test: fast/flexbox/order-iterator-crash.html
2120
2121         * rendering/OrderIterator.cpp:
2122         (WebCore::OrderIterator::invalidate): Clear m_children Vector.
2123         * rendering/OrderIterator.h:
2124         (WebCore::OrderIteratorPopulator::OrderIteratorPopulator): Use
2125         invalidate() method.
2126         * rendering/RenderFlexibleBox.cpp:
2127         (WebCore::RenderFlexibleBox::removeChild): Invalidate m_orderIterator.
2128         * rendering/RenderFlexibleBox.h: Add removeChild() signature.
2129         * rendering/RenderGrid.cpp: Invalidate m_orderIterator.
2130         (WebCore::RenderGrid::removeChild):
2131         * rendering/RenderGrid.h: Add removeChild() header.
2132
2133 2014-04-29  Enrica Casucci  <enrica@apple.com>
2134
2135         iOS build fix after http://trac.webkit.org/changeset/167937.
2136         Unreviewed.
2137
2138         * rendering/RenderThemeIOS.mm:
2139         (WebCore::RenderThemeIOS::adjustButtonStyle):
2140
2141 2014-04-29  Hans Muller  <hmuller@adobe.com>
2142
2143         [CSS Shapes] off-by-one error in Shape::createRasterShape()
2144         https://bugs.webkit.org/show_bug.cgi?id=132154
2145
2146         Reviewed by Bem Jones-Bey.
2147
2148         This is a port of a patch for a bug that was reported by and fixed in Blink by
2149         David Vest: https://codereview.chromium.org/237123002/.  Shape::createRasterShape()
2150         now consistently reports "end-point exclusive" intervals. Before the patch
2151         an entire row of pixels was above the shape-image-threshold, the interval's end
2152         index was reported as image.width. Now it's image.width + 1, which is consistent
2153         with the way the end index is reported if the last above threshold pixel is within
2154         an image row.
2155
2156         Two existing tests were revised to account for this change.
2157
2158         * rendering/shapes/RasterShape.cpp:
2159         (WebCore::RasterShape::getExcludedIntervals):
2160         * rendering/shapes/Shape.cpp:
2161         (WebCore::Shape::createRasterShape):
2162
2163 2014-04-29  Bem Jones-Bey  <bjonesbe@adobe.com>
2164
2165         Wrap CSS length conversion arguments in an object
2166         https://bugs.webkit.org/show_bug.cgi?id=131552
2167
2168         Reviewed by Andreas Kling.
2169
2170         This patch introduces a class CSSToLengthConversionData to wrap the
2171         data required to convert CSS lengths to Lengths. This simplifies the
2172         plumbing that goes on whenever we need to resolve CSS lengths and
2173         makes it easier to update the arguments needed for resolving these (in
2174         particular adding a RenderView for resolving viewport units at style
2175         recalc time; removing the computingFontSize bool also appears
2176         possible).
2177
2178         Note that the zoom argument, which was previously a float in some
2179         places and a double in others is now a float.
2180
2181         This is a port of a Blink patch by timloh@chromium.org.
2182
2183         No new tests, no behavior change.
2184
2185         * CMakeLists.txt:
2186         * WebCore.vcxproj/WebCore.vcxproj:
2187         * WebCore.xcodeproj/project.pbxproj:
2188         * css/BasicShapeFunctions.cpp:
2189         (WebCore::convertToLength):
2190         (WebCore::convertToLengthSize):
2191         (WebCore::convertToCenterCoordinate):
2192         (WebCore::cssValueToBasicShapeRadius):
2193         (WebCore::basicShapeForValue):
2194         * css/BasicShapeFunctions.h:
2195         * css/CSSCalculationValue.cpp:
2196         (WebCore::CSSCalcValue::computeLengthPx):
2197         (WebCore::determineCategory):
2198         * css/CSSCalculationValue.h:
2199         (WebCore::CSSCalcValue::createCalculationValue):
2200         * css/CSSGradientValue.cpp:
2201         (WebCore::CSSGradientValue::addStops):
2202         (WebCore::positionFromValue):
2203         (WebCore::CSSGradientValue::computeEndPoint):
2204         (WebCore::CSSLinearGradientValue::createGradient):
2205         (WebCore::CSSRadialGradientValue::resolveRadius):
2206         (WebCore::CSSRadialGradientValue::createGradient):
2207         * css/CSSGradientValue.h:
2208         * css/CSSPrimitiveValue.cpp:
2209         (WebCore::CSSPrimitiveValue::computeLength):
2210         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2211         * css/CSSPrimitiveValue.h:
2212         * css/CSSPrimitiveValueMappings.h:
2213         (WebCore::CSSPrimitiveValue::convertToLength):
2214         * css/CSSToLengthConversionData.cpp: Added.
2215         (WebCore::CSSToLengthConversionData::zoom):
2216         * css/CSSToLengthConversionData.h: Added.
2217         (WebCore::CSSToLengthConversionData::CSSToLengthConversionData):
2218         (WebCore::CSSToLengthConversionData::style):
2219         (WebCore::CSSToLengthConversionData::rootStyle):
2220         (WebCore::CSSToLengthConversionData::computingFontSize):
2221         (WebCore::CSSToLengthConversionData::copyWithAdjustedZoom):
2222         * css/CSSToStyleMap.cpp:
2223         (WebCore::CSSToStyleMap::CSSToStyleMap):
2224         (WebCore::CSSToStyleMap::mapFillSize):
2225         (WebCore::CSSToStyleMap::mapFillXPosition):
2226         (WebCore::CSSToStyleMap::mapFillYPosition):
2227         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
2228         * css/CSSToStyleMap.h:
2229         (WebCore::CSSToStyleMap::CSSToStyleMap): Deleted.
2230         * css/DeprecatedStyleBuilder.cpp:
2231         (WebCore::ApplyPropertyAuto::applyValue):
2232         (WebCore::ApplyPropertyClip::convertToLength):
2233         (WebCore::ApplyPropertyLength::applyValue):
2234         (WebCore::ApplyPropertyBorderRadius::applyValue):
2235         (WebCore::ApplyPropertyComputeLength::applyValue):
2236         (WebCore::ApplyPropertyFontSize::applyValue):
2237         (WebCore::csstoLengthConversionDataWithTextZoomFactor):
2238         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
2239         (WebCore::ApplyPropertyLineHeight::applyValue):
2240         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
2241         (WebCore::ApplyPropertyWordSpacing::applyValue):
2242         (WebCore::ApplyPropertyPageSize::mmLength):
2243         (WebCore::ApplyPropertyPageSize::inchLength):
2244         (WebCore::ApplyPropertyPageSize::applyValue):
2245         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2246         (WebCore::ApplyPropertyClipPath::applyValue):
2247         (WebCore::ApplyPropertyShape::applyValue):
2248         (WebCore::ApplyPropertyTextIndent::applyValue):
2249         * css/MediaQueryEvaluator.cpp:
2250         (WebCore::colorMediaFeatureEval):
2251         (WebCore::color_indexMediaFeatureEval):
2252         (WebCore::monochromeMediaFeatureEval):
2253         (WebCore::orientationMediaFeatureEval):
2254         (WebCore::aspect_ratioMediaFeatureEval):
2255         (WebCore::device_aspect_ratioMediaFeatureEval):
2256         (WebCore::device_pixel_ratioMediaFeatureEval):
2257         (WebCore::resolutionMediaFeatureEval):
2258         (WebCore::gridMediaFeatureEval):
2259         (WebCore::computeLength):
2260         (WebCore::device_heightMediaFeatureEval):
2261         (WebCore::device_widthMediaFeatureEval):
2262         (WebCore::heightMediaFeatureEval):
2263         (WebCore::widthMediaFeatureEval):
2264         (WebCore::min_colorMediaFeatureEval):
2265         (WebCore::max_colorMediaFeatureEval):
2266         (WebCore::min_color_indexMediaFeatureEval):
2267         (WebCore::max_color_indexMediaFeatureEval):
2268         (WebCore::min_monochromeMediaFeatureEval):
2269         (WebCore::max_monochromeMediaFeatureEval):
2270         (WebCore::min_aspect_ratioMediaFeatureEval):
2271         (WebCore::max_aspect_ratioMediaFeatureEval):
2272         (WebCore::min_device_aspect_ratioMediaFeatureEval):
2273         (WebCore::max_device_aspect_ratioMediaFeatureEval):
2274         (WebCore::min_device_pixel_ratioMediaFeatureEval):
2275         (WebCore::max_device_pixel_ratioMediaFeatureEval):
2276         (WebCore::min_heightMediaFeatureEval):
2277         (WebCore::max_heightMediaFeatureEval):
2278         (WebCore::min_widthMediaFeatureEval):
2279         (WebCore::max_widthMediaFeatureEval):
2280         (WebCore::min_device_heightMediaFeatureEval):
2281         (WebCore::max_device_heightMediaFeatureEval):
2282         (WebCore::min_device_widthMediaFeatureEval):
2283         (WebCore::max_device_widthMediaFeatureEval):
2284         (WebCore::min_resolutionMediaFeatureEval):
2285         (WebCore::max_resolutionMediaFeatureEval):
2286         (WebCore::animationMediaFeatureEval):
2287         (WebCore::transitionMediaFeatureEval):
2288         (WebCore::transform_2dMediaFeatureEval):
2289         (WebCore::transform_3dMediaFeatureEval):
2290         (WebCore::view_modeMediaFeatureEval):
2291         (WebCore::video_playable_inlineMediaFeatureEval):
2292         (WebCore::hoverMediaFeatureEval):
2293         (WebCore::pointerMediaFeatureEval):
2294         (WebCore::MediaQueryEvaluator::eval):
2295         * css/SVGCSSStyleSelector.cpp:
2296         (WebCore::StyleResolver::applySVGProperty):
2297         * css/StyleResolver.cpp:
2298         (WebCore::StyleResolver::State::clear):
2299         (WebCore::StyleResolver::State::initForStyleResolve):
2300         (WebCore::StyleResolver::convertToIntLength):
2301         (WebCore::StyleResolver::convertToFloatLength):
2302         (WebCore::createGridTrackBreadth):
2303         (WebCore::StyleResolver::applyProperty):
2304         (WebCore::StyleResolver::createFilterOperations):
2305         * css/StyleResolver.h:
2306         (WebCore::StyleResolver::State::setStyle):
2307         (WebCore::StyleResolver::State::cssToLengthConversionData):
2308         * css/TransformFunctions.cpp:
2309         (WebCore::convertToFloatLength):
2310         (WebCore::transformsForValue):
2311         * css/TransformFunctions.h:
2312         * css/WebKitCSSMatrix.cpp:
2313         (WebCore::WebKitCSSMatrix::setMatrixValue):
2314         * rendering/RenderThemeIOS.mm:
2315         (WebCore::applyCommonButtonPaddingToStyle):
2316         (WebCore::RenderThemeIOS::adjustButtonStyle):
2317
2318 2014-04-29  Zoltan Horvath  <zoltan@webkit.org>
2319
2320         [CSS Shapes] complex calc args for inset round vanish
2321         https://bugs.webkit.org/show_bug.cgi?id=132293
2322
2323         Reviewed by Bem Jones-Bey.
2324
2325         In order to use calc in the rounded parameters for inset shapes, we need
2326         to pass RenderStyle for the value creation as we did for the width arguments.
2327         Without taking RenderStyle into account, we hit an assert not reache
2328         in CSSPrimitiveValue::init in the debug builds.
2329
2330         I've added new parsing test.
2331
2332         * css/BasicShapeFunctions.cpp:
2333         (WebCore::valueForBasicShape):
2334         * css/CSSPrimitiveValue.cpp:
2335         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2336         (WebCore::CSSPrimitiveValue::init):
2337         * css/CSSPrimitiveValue.h:
2338         (WebCore::CSSPrimitiveValue::create):
2339         * css/CSSValuePool.h:
2340         (WebCore::CSSValuePool::createValue):
2341
2342 2014-04-29  Zoltan Horvath  <zoltan@webkit.org>
2343
2344         [CSS Shapes] complex calc values for shape-margin return null for computed style
2345         https://bugs.webkit.org/show_bug.cgi?id=132313
2346
2347         Reviewed by Bem Jones-Bey.
2348
2349         We need to pass RenderStyle* to the cssValuePool when parsing
2350         shape-margin in order to use calc() as a parameter.
2351
2352         I've added the new test case to parsing-shape-margin.html
2353
2354         * css/CSSComputedStyleDeclaration.cpp:
2355         (WebCore::ComputedStyleExtractor::propertyValue):
2356
2357 2014-04-29  Chris Fleizach  <cfleizach@apple.com>
2358
2359         AX: Row span info is wrong for table cells when a footer section is placed above a body section
2360         https://bugs.webkit.org/show_bug.cgi?id=131832
2361
2362         Reviewed by Mario Sanchez Prada.
2363
2364         If a <footer> section is placed before the body, it renders AX row information and order incorrectly.
2365         This also affects ARIA tables because they add their children by looking at renderer children, instead
2366         interrogating the RenderTable directly.
2367
2368         Test: accessibility/table-with-footer-section-above-body.html
2369
2370         * accessibility/AccessibilityARIAGrid.cpp:
2371         (WebCore::AccessibilityARIAGrid::addTableCellChild):
2372         (WebCore::AccessibilityARIAGrid::addChildren):
2373         * accessibility/AccessibilityTable.cpp:
2374         (WebCore::AccessibilityTable::addChildren):
2375         (WebCore::AccessibilityTable::addChildrenFromSection):
2376         * accessibility/AccessibilityTable.h:
2377         * accessibility/AccessibilityTableCell.cpp:
2378         (WebCore::AccessibilityTableCell::rowIndexRange):
2379         (WebCore::AccessibilityTableCell::columnIndexRange):
2380
2381 2014-04-29  Chris Fleizach  <cfleizach@apple.com>
2382
2383         AX: SpeechSynthesisUtterance cannot addEventListener
2384         https://bugs.webkit.org/show_bug.cgi?id=132321
2385
2386         Reviewed by Mario Sanchez Prada.
2387
2388         Modified an existing test (speech-synthesis-speak.html) to use addEventTarget.
2389
2390         * Modules/speech/SpeechSynthesisUtterance.idl:
2391
2392 2014-04-29  Hans Muller  <hmuller@adobe.com>
2393
2394         [CSS Shapes] shape-outside polygon fails when first vertex is 0,0
2395         https://bugs.webkit.org/show_bug.cgi?id=132132
2396
2397         Reviewed by Bem Jones-Bey.
2398
2399         ShapeInterval now distinguishes between x1==x2 - isEmpty() and x1,x2 haven't been
2400         set yet - isUndefined(). Removed the ShapeInterval setX1() and setX2() methods, since
2401         they're no longer used.
2402
2403         The polygon algorithm for computing excluded intervals now ignores horizontal
2404         edges. It also ignores edges whose lower vertex matches the top of the line, if
2405         the edge's Y direction is upwards (away from the top of the line). The rationale
2406         for this was explained here:
2407         http://hansmuller-webkit.blogspot.com/2012/11/revised-horizontal-box-algorithm.html
2408
2409         Test: fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex.html
2410
2411         * rendering/shapes/PolygonShape.cpp:
2412         (WebCore::OffsetPolygonEdge::clippedEdgeXRange):
2413         (WebCore::PolygonShape::getExcludedIntervals):
2414         * rendering/shapes/ShapeInterval.h:
2415         (WebCore::ShapeInterval::ShapeInterval):
2416         (WebCore::ShapeInterval::isUndefined):
2417         (WebCore::ShapeInterval::x1):
2418         (WebCore::ShapeInterval::x2):
2419         (WebCore::ShapeInterval::width):
2420         (WebCore::ShapeInterval::isEmpty):
2421         (WebCore::ShapeInterval::setX1):
2422         (WebCore::ShapeInterval::setX2):
2423         (WebCore::ShapeInterval::overlaps):
2424         (WebCore::ShapeInterval::contains):
2425         (WebCore::ShapeInterval::unite):
2426
2427 2014-04-29  Andrei Bucur  <abucur@adobe.com>
2428
2429         [CSS Regions] Fix getClientRects() for content nodes
2430         https://bugs.webkit.org/show_bug.cgi?id=117407
2431
2432         Reviewed by David Hyatt.
2433
2434         This patch modifies getClientRects() to return a list of fragments
2435         for a fragmented box instead of a single rectangle positioned inside
2436         the region where the box center would appear.
2437
2438         The approach is to split the border box of the element in regions using
2439         the layout positioning. Then each fragment is mapped to the view coordinates
2440         and the result added to the list of rectangles. To preserve the originating
2441         region when mapping the fragment through the ancestor tree I've introduced
2442         the concept of a current region. The current region is stored inside a
2443         CurrentRenderRegionMaintainer object, created whenever an algorithm needing
2444         it needs to run. When the maintainer is destroyed, the cleanup is made
2445         automatically. The RenderFlowThread holds a pointer to this structure for
2446         easy access.
2447
2448         Tests: fast/regions/cssom/client-rects-fixed-content.html
2449                fast/regions/cssom/client-rects-forced-breaks.html
2450                fast/regions/cssom/client-rects-inline-complex.html
2451                fast/regions/cssom/client-rects-inline.html
2452                fast/regions/cssom/client-rects-nested-regions.html
2453                fast/regions/cssom/client-rects-positioned.html
2454                fast/regions/cssom/client-rects-relative-position.html
2455                fast/regions/cssom/client-rects-simple-block.html
2456                fast/regions/cssom/client-rects-transforms.html
2457                fast/regions/cssom/client-rects-unsplittable-float.html
2458
2459         * rendering/RenderBlock.cpp:
2460         (WebCore::RenderBlock::absoluteQuads): Split the box in fragments.
2461         * rendering/RenderBox.cpp:
2462         (WebCore::RenderBox::absoluteQuads): Split the box in fragments.
2463         * rendering/RenderFlowThread.cpp:
2464         (WebCore::RenderFlowThread::RenderFlowThread):
2465         (WebCore::RenderFlowThread::mapFromFlowToRegion):
2466         (WebCore::RenderFlowThread::mapLocalToContainer):
2467         (WebCore::RenderFlowThread::currentRegion):
2468         * rendering/RenderFlowThread.h:
2469         * rendering/RenderNamedFlowFragment.cpp:
2470         (WebCore::RenderNamedFlowFragment::absoluteQuadsForBoxInRegion): Get
2471         the fragments for this box in the region.
2472         * rendering/RenderNamedFlowFragment.h:
2473         * rendering/RenderNamedFlowThread.cpp:
2474         (WebCore::RenderNamedFlowThread::absoluteQuadsForBox): Virtual function
2475         that can be used to implement fragments to client rects mapping.
2476         * rendering/RenderNamedFlowThread.h:
2477         * rendering/RenderRegion.cpp:
2478         (WebCore::RenderRegion::rectFlowPortionForBox): Small change to correctly
2479         map empty rectangles to containers.
2480         (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
2481         (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
2482         * rendering/RenderRegion.h:
2483         (WebCore::RenderRegion::absoluteQuadsForBoxInRegion):
2484         (WebCore::CurrentRenderRegionMaintainer::region):
2485
2486 2014-04-29  Andrei Bucur  <abucur@adobe.com>
2487
2488         Store the containing region map inside the flow thread
2489         https://bugs.webkit.org/show_bug.cgi?id=131647
2490
2491         Reviewed by Mihnea Ovidenie.
2492
2493         The patch moves the containing region map inside the flow thread where
2494         it can be better handled in case the region chain changes and the map
2495         needs to be cleared.
2496
2497         As a result of this move we are able to also cleanup the lines region
2498         information of a block flow when it is removed from the tree.
2499
2500         Test: fast/regions/inline-strike-through.html
2501
2502         * rendering/InlineFlowBox.h:
2503         (WebCore::InlineFlowBox::InlineFlowBox):
2504         * rendering/RenderBlockLineLayout.cpp:
2505         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
2506         * rendering/RenderFlowThread.cpp:
2507         (WebCore::RenderFlowThread::removeFlowChildInfo):
2508         (WebCore::RenderFlowThread::invalidateRegions):
2509         (WebCore::RenderFlowThread::removeLineRegionInfo):
2510         (WebCore::RenderFlowThread::checkLinesConsistency):
2511         (WebCore::RenderFlowThread::containingRegionMap):
2512         * rendering/RenderFlowThread.h:
2513         * rendering/RootInlineBox.cpp:
2514         (WebCore::containingRegionMap):
2515         (WebCore::RootInlineBox::~RootInlineBox):
2516         (WebCore::RootInlineBox::paint):
2517         (WebCore::RootInlineBox::containingRegion):
2518         (WebCore::RootInlineBox::clearContainingRegion):
2519         (WebCore::RootInlineBox::setContainingRegion):
2520
2521 2014-04-28  Benjamin Poulain  <benjamin@webkit.org>
2522
2523         SelectorCodeGenerator::generateElementIsNthChild() leaks the parent register :nth-child() is non-filtering
2524         https://bugs.webkit.org/show_bug.cgi?id=132311
2525
2526         Reviewed by Andreas Kling.
2527
2528         In two cases, the parent register was never returned to the register allocator:
2529         -Non filtering selectors (the early return).
2530         -Non marking selectors (at the moment: only querySelector API).
2531
2532         Unfortunately, generateElementIsNthChild() makes function call, which forces us to do this manual allocation
2533         of the parentElement register. Long term, I want RegisterAllocator and FunctionCall to have a special type for that.
2534
2535         Test: fast/selectors/several-nth-child.html
2536
2537         * cssjit/SelectorCompiler.cpp:
2538         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
2539
2540 2014-04-28  Yusuke Suzuki  <utatane.tea@gmail.com>
2541
2542         CSS JIT: backtracking with current / parent element for child
2543         https://bugs.webkit.org/show_bug.cgi?id=132057
2544
2545         Reviewed by Benjamin Poulain.
2546
2547         Calculate appropriate backtracking start height from the closest
2548         descendant. And at first, we use it for a simple optimization.
2549
2550         1. When backtracking start height equals to current height, we
2551         can simply jump to a descendant element check phase.
2552         2. When backtracking start height equals to current height + 1, we
2553         can simply jump to a descendant element traversing phase.
2554
2555         We can apply this optimization to fragments with adjacent combinators.
2556         But, in the meantime, we start to implement it for a fragment with
2557         child combinator.
2558
2559         * cssjit/SelectorCompiler.cpp:
2560         (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
2561         (WebCore::SelectorCompiler::TagNamePattern::TagNamePattern):
2562         (WebCore::SelectorCompiler::solveDescendantBacktrackingActionForChild):
2563         (WebCore::SelectorCompiler::solveBacktrackingAction):
2564         (WebCore::SelectorCompiler::equalTagNames):
2565         (WebCore::SelectorCompiler::equalTagNamePatterns):
2566         (WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
2567         (WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
2568         (WebCore::SelectorCompiler::requiresAdjacentTail):
2569         (WebCore::SelectorCompiler::requiresDescendantTail):
2570         (WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
2571         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
2572         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentNode):
2573         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
2574         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
2575         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
2576         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
2577         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
2578         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2579
2580 2014-04-28  Benjamin Poulain  <bpoulain@apple.com>
2581
2582         [iOS][WK2] Restore the scroll position and scale from the HistoryItem (mostly)
2583         https://bugs.webkit.org/show_bug.cgi?id=132307
2584
2585         Reviewed by Simon Fraser.
2586
2587         * WebCore.exp.in:
2588
2589 2014-04-28  Beth Dakin  <bdakin@apple.com>
2590
2591         Scrollbars do not update properly when topContentInset changes dynamically
2592         https://bugs.webkit.org/show_bug.cgi?id=132309
2593         -and corresponding-
2594         <rdar://problem/16642232>
2595
2596         Reviewed by Tim Horton.
2597
2598         It is not sufficient to do a layout and call updateScrollbars(). We must also call 
2599         RenderLayerCompositor::frameViewDidChangeSize() in order to properly adjust the 
2600         size and position of all of the scrolling-related layers.
2601         * page/FrameView.cpp:
2602         (WebCore::FrameView::topContentInsetDidChange):
2603
2604 2014-04-28  David Hyatt  <hyatt@apple.com>
2605
2606         [New Multicolumn] event.offsetX/offsetY don't work correctly
2607         https://bugs.webkit.org/show_bug.cgi?id=132284
2608
2609         Reviewed by Simon Fraser.
2610
2611         * rendering/RenderBoxModelObject.cpp:
2612         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
2613         Change the code here to only trigger for CSS Regions and not for
2614         multi-column. Add a FIXME pointing out that the code is broken even for
2615         CSS regions.
2616
2617          * rendering/RenderMultiColumnFlowThread.cpp:
2618         (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
2619         Override mapAbsoluteToLocalPoint in order to guess a region and attempt
2620         to translate the point from that region to the flow thread local coordinate
2621         space.
2622
2623         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromRegionToFlow):
2624         * rendering/RenderMultiColumnFlowThread.h:
2625         New helper function that just wraps calling the region's logical translation
2626         function and converting to/from physical coordinates.
2627
2628 2014-04-28  Commit Queue  <commit-queue@webkit.org>
2629
2630         Unreviewed, rolling out r167857.
2631         https://bugs.webkit.org/show_bug.cgi?id=132305
2632
2633         the change was rolled out, roll out the new expectations as
2634         well (Requested by thorton on #webkit).
2635
2636         Reverted changeset:
2637
2638         "Unreviewed. Updating one bindings test baseline after
2639         r167855."
2640         http://trac.webkit.org/changeset/167857
2641
2642 2014-04-28  Dean Jackson  <dino@apple.com>
2643
2644         [Mac] Use the animated version of setHighlighted on NSButtonCell where available
2645         https://bugs.webkit.org/show_bug.cgi?id=132295
2646         <rdar://problem/16747240>
2647
2648         Reviewed by Beth Dakin.
2649
2650         Like setState, there is an animated version of setHighlighted available.
2651
2652         * platform/mac/ThemeMac.mm:
2653         (WebCore::updateStates): Use private version of _setHighlighted where possible.
2654
2655 2014-04-28  Commit Queue  <commit-queue@webkit.org>
2656
2657         Unreviewed, rolling out r167855.
2658         https://bugs.webkit.org/show_bug.cgi?id=132301
2659
2660         Broke the windows build (Requested by bfulgham on #webkit).
2661
2662         Reverted changeset:
2663
2664         "ScriptExecutionContext::Task should work well with C++11
2665         lambdas"
2666         https://bugs.webkit.org/show_bug.cgi?id=129795
2667         http://trac.webkit.org/changeset/167855
2668
2669 2014-04-24  Andy Estes  <aestes@apple.com>
2670
2671         [iOS] Implement WebQuickLookHandleClient for WebKit2
2672         https://bugs.webkit.org/show_bug.cgi?id=132157
2673
2674         Reviewed by Darin Adler.
2675
2676         * WebCore.exp.in: Exported QuickLookHandle::previewUTI().
2677         * platform/network/ios/QuickLook.h:
2678         * platform/network/ios/QuickLook.mm:
2679         (WebCore::QuickLookHandle::previewFileName): Changed to return a WTF::String.
2680         (WebCore::QuickLookHandle::previewUTI): Added.
2681
2682 2014-04-28  Chris Fleizach  <cfleizach@apple.com>
2683
2684         REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
2685         https://bugs.webkit.org/show_bug.cgi?id=111613
2686
2687         Reviewed by Mark Lam.
2688
2689         I think it's possible that didFinishSpeaking ends up calling directly back into start speaking, and the utterance reference
2690         we were holding can get cleared, so protecting this should avoid a few asserts.
2691
2692         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
2693         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
2694
2695 2014-04-28  Commit Queue  <commit-queue@webkit.org>
2696
2697         Unreviewed, rolling out r167871.
2698         https://bugs.webkit.org/show_bug.cgi?id=132290
2699
2700         broke a newmulticol test (spanner-nested-dynamic) (Requested
2701         by thorton on #webkit).
2702
2703         Reverted changeset:
2704
2705         "Store the containing region map inside the flow thread"
2706         https://bugs.webkit.org/show_bug.cgi?id=131647
2707         http://trac.webkit.org/changeset/167871
2708
2709 2014-04-28  Commit Queue  <commit-queue@webkit.org>
2710
2711         Unreviewed, rolling out r167853.
2712         https://bugs.webkit.org/show_bug.cgi?id=132288
2713
2714         caused crashes+timeouts+layout test failures described in the
2715         bug (Requested by thorton on #webkit).
2716
2717         Reverted changeset:
2718
2719         "Coalesce responses on network process side"
2720         https://bugs.webkit.org/show_bug.cgi?id=132229
2721         http://trac.webkit.org/changeset/167853
2722
2723 2014-04-24  Simon Fraser  <simon.fraser@apple.com>
2724
2725         [iOS WK2] flickery scrolling with overflow-scrolling:touch
2726         https://bugs.webkit.org/show_bug.cgi?id=132150
2727
2728         Reviewed by Tim Horton.
2729
2730         Fix typo in a comment.
2731
2732         * page/scrolling/AsyncScrollingCoordinator.cpp:
2733         (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
2734
2735 2014-04-28  Martin Robinson  <mrobinson@igalia.com>
2736
2737         [GTK] Builtin cursors do not properly handle transparency
2738         https://bugs.webkit.org/show_bug.cgi?id=131866
2739
2740         Reviewed by Gustavo Noronha Silva.
2741
2742         Tested by ManualTests/cursor.html.
2743
2744         * platform/gtk/CursorGtk.cpp:
2745         (WebCore::createNamedCursor): Instead of interpreting the source bitmap as an A1 image, use
2746         it as a 1-bit black and white image. We do this by:
2747             1. Painting the result to a full color image with transparency instead of an alpha-only surface.
2748             2. Masking a white background using the cursor alpha surface.
2749             3. Painting the black parts of the cursor by painting the source surface, where black pixels
2750             will be interpreted as full opaque pixels.
2751
2752 2014-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2753
2754         Unreviewed. Update GObject DOM bindings symbols file.
2755
2756         * bindings/gobject/webkitdom.symbols: Add missing symbols.
2757
2758 2014-04-28  Manuel Rego Casasnovas  <rego@igalia.com>
2759
2760         OrderIterator refactoring to avoid extra loops
2761         https://bugs.webkit.org/show_bug.cgi?id=119061
2762
2763         Reviewed by Darin Adler.
2764
2765         This patch removes order values Vector and use a Vector of pairs instead. The pairs are formed by a child
2766         (RenderBox) and the index of this child. In addition, OrderIterator code is simplified.
2767
2768         It provides a helper class OrderIteratorPopulator, used for manipulating the Vector directly. Which allows to
2769         consolidate the code into a single implementation across flexbox and grid. OrderIteratorPopulator part is based
2770         on a patch from Blink r153971 by <jchaffraix@chromium.org>.
2771
2772         Current implementation is O(number of children * number of order values). Now it will just do a sort operation
2773         and then a regular loop. So if you have different order values in a flexbox or grid the performance will
2774         improve.
2775
2776         Comparing results of perf-tests:
2777         * Layout/auto-grid-lots-of-data: ~0.5% worse.
2778         * Layout/fixed-grid-lots-of-data: ~0.5% worse.
2779         * Layout/fixed-grid-lots-of-data (setting 100 different order values): ~50% better.
2780         * Layout/flexbox-lots-of-data: ~5% better.
2781
2782         No new tests, already covered by current tests.
2783
2784         * rendering/OrderIterator.cpp:
2785         (WebCore::OrderIterator::currentChild): Return current child according to m_childrenIndex.
2786         (WebCore::OrderIterator::first): Initialize m_childrenIndex and return current child.
2787         (WebCore::OrderIterator::next): Increase m_childrenIndex and return current child.
2788         (WebCore::compareByOrderValueAndIndex): Sorts the Vector by order value and index.
2789         (WebCore::OrderIteratorPopulator::~OrderIteratorPopulator): Calls compareByOrderValueAndIndex() if there is any
2790         child with non default order value.
2791         (WebCore::OrderIteratorPopulator::collectChild): Adds the child and index to the Vector. Update
2792         m_allChildrenHaveDefaultOrderValue accordingly.
2793         (WebCore::OrderIterator::OrderIterator): Deleted.
2794         (WebCore::OrderIterator::setOrderValues): Deleted.
2795         (WebCore::OrderIterator::reset): Deleted.
2796         * rendering/OrderIterator.h:
2797         (WebCore::OrderIteratorPopulator::OrderIteratorPopulator): New helper class to manipulate the Vector.
2798         (WebCore::OrderIterator::currentChild): Deleted.
2799         * rendering/RenderFlexibleBox.cpp:
2800         (WebCore::RenderFlexibleBox::RenderFlexibleBox): Remove OrderIterator intialization.
2801         (WebCore::RenderFlexibleBox::layoutBlock): Remove unneeded code related to old OrderValues vector.
2802         (WebCore::RenderFlexibleBox::prepareOrderIteratorAndMargins): Populate OrderIterator using collectChild().
2803         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Deleted.
2804         * rendering/RenderFlexibleBox.h: Rename computeMainAxisPreferredSizes() to prepareOrderIteratorAndMargins().
2805         * rendering/RenderGrid.cpp:
2806         (WebCore::RenderGrid::RenderGrid): Remove OrderIterator initialization.
2807         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Populate OrderIterator using collectChild().
2808
2809 2014-04-28  Zan Dobersek  <zdobersek@igalia.com>
2810
2811         std::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
2812         https://bugs.webkit.org/show_bug.cgi?id=131685
2813
2814         Reviewed by Darin Adler.
2815
2816         Use std::bitset<>::operator[]() instead of std::bitset<>::test() to avoid
2817         bounds checks which are not necessary as long as a CSSPropertyID value is used.
2818
2819         * css/CSSParser.cpp:
2820         (WebCore::filterProperties):
2821         * css/StyleProperties.cpp:
2822         (WebCore::StyleProperties::asText):
2823         * css/StyleResolver.cpp:
2824         (WebCore::StyleResolver::CascadedProperties::hasProperty):
2825         (WebCore::StyleResolver::CascadedProperties::set):
2826
2827 2014-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2828
2829         [GTK] TextTrack kind and mode attributes are enums since r166180
2830         https://bugs.webkit.org/show_bug.cgi?id=132228
2831
2832         Reviewed by Martin Robinson.
2833
2834         Improve coding style according to review comments, that I forgot
2835         to do before landing previous commit.
2836
2837         * bindings/gobject/WebKitDOMCustom.cpp:
2838         (webkit_dom_text_track_get_kind):
2839         (webkit_dom_text_track_get_mode):
2840         (webkit_dom_text_track_set_mode):
2841
2842 2014-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2843
2844         [GTK] TextTrack kind and mode attributes are enums since r166180
2845         https://bugs.webkit.org/show_bug.cgi?id=132228
2846
2847         Reviewed by Martin Robinson.
2848
2849         We don't support enum values yet in GObject DOM bindings, but they
2850         are internally strings anyway, so we can keep the old
2851         implementations using strings as custom functions until we
2852         properly support enums.
2853
2854         * bindings/gobject/WebKitDOMCustom.cpp:
2855         (webkit_dom_text_track_get_kind):
2856         (webkit_dom_text_track_get_mode):
2857         (webkit_dom_text_track_set_mode):
2858         * bindings/gobject/WebKitDOMCustom.h:
2859         * bindings/gobject/WebKitDOMCustom.symbols:
2860
2861 2014-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2862
2863         [GTK] TextTrack::addCue can raise an exception since r163974
2864         https://bugs.webkit.org/show_bug.cgi?id=132227
2865
2866         Reviewed by Martin Robinson.
2867
2868         webkit_dom_text_track_add_cue() now receives a GError paramater
2869         which is an API break. Add
2870         webkit_dom_text_track_add_cue_with_error and keep
2871         webkit_dom_text_track_add_cue as deprecated to keep API
2872         compatibility.
2873
2874         * bindings/gobject/WebKitDOMDeprecated.cpp:
2875         (webkit_dom_text_track_add_cue):
2876         * bindings/gobject/WebKitDOMDeprecated.h:
2877         * bindings/gobject/WebKitDOMDeprecated.symbols:
2878         * bindings/gobject/webkitdom.symbols:
2879         * bindings/scripts/CodeGeneratorGObject.pm:
2880         (GetEffectiveFunctionName):
2881
2882 2014-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2883
2884         [GTK] TextTrackCue API changed in r163649
2885         https://bugs.webkit.org/show_bug.cgi?id=132226
2886
2887         Reviewed by Martin Robinson.
2888
2889         TextTrackCue is now a base class and part of its API was moved to
2890         the derived class VTTCue. Update the GObject DOM bindings to keep
2891         backwards compatibility.
2892
2893         * PlatformGTK.cmake: Generate bindings for DataCue and VTTCue.
2894         * bindings/gobject/WebKitDOMDeprecated.cpp:
2895         (webkit_dom_text_track_cue_get_cue_as_html): Mark as deprecated in
2896         favor of VTTCue API.
2897         (webkit_dom_text_track_cue_get_vertical): Ditto.
2898         (webkit_dom_text_track_cue_set_vertical): Ditto.
2899         (webkit_dom_text_track_cue_get_snap_to_lines): Ditto.
2900         (webkit_dom_text_track_cue_set_snap_to_lines): Ditto.
2901         (webkit_dom_text_track_cue_get_line): Ditto.
2902         (webkit_dom_text_track_cue_set_line): Ditto.
2903         (webkit_dom_text_track_cue_get_position): Ditto.
2904         (webkit_dom_text_track_cue_set_position): Ditto.
2905         (webkit_dom_text_track_cue_get_size): Ditto.
2906         (webkit_dom_text_track_cue_set_size): Ditto.
2907         (webkit_dom_text_track_cue_get_align): Ditto.
2908         (webkit_dom_text_track_cue_set_align): Ditto.
2909         (webkit_dom_text_track_cue_get_text): Ditto.
2910         (webkit_dom_text_track_cue_set_text): Ditto.
2911         * bindings/gobject/WebKitDOMDeprecated.h:
2912         * bindings/gobject/WebKitDOMDeprecated.symbols: Add new deprecated symbols.
2913         * bindings/gobject/WebKitDOMPrivate.cpp:
2914         (WebKit::wrap): Add generic wrap for TextTrackCue now that it's a
2915         base class to generate DataCue or VTTCue objects.
2916         * bindings/gobject/WebKitDOMPrivate.h:
2917         * bindings/gobject/webkitdom.symbols: Add DataCue symbols.
2918         * bindings/scripts/CodeGeneratorGObject.pm:
2919         (IsPolymorphic): Add TextTrackCue to the list of polymorphic classes.
2920
2921 2014-04-27  Andrei Bucur  <abucur@adobe.com>
2922
2923         Store the containing region map inside the flow thread
2924         https://bugs.webkit.org/show_bug.cgi?id=131647
2925
2926         Reviewed by Mihnea Ovidenie.
2927
2928         The patch moves the containing region map inside the flow thread where
2929         it can be better handled in case the region chain changes and the map
2930         needs to be cleared.
2931
2932         As a result of this move we are able to also cleanup the lines region
2933         information of a block flow when it is removed from the tree.
2934
2935         Test: fast/regions/inline-strike-through.html
2936
2937         * rendering/InlineFlowBox.h:
2938         (WebCore::InlineFlowBox::InlineFlowBox):
2939         * rendering/RenderBlockLineLayout.cpp:
2940         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
2941         * rendering/RenderFlowThread.cpp:
2942         (WebCore::RenderFlowThread::removeFlowChildInfo):
2943         (WebCore::RenderFlowThread::invalidateRegions):
2944         (WebCore::RenderFlowThread::removeLineRegionInfo):
2945         (WebCore::RenderFlowThread::checkLinesConsistency):
2946         (WebCore::RenderFlowThread::containingRegionMap):
2947         * rendering/RenderFlowThread.h:
2948         * rendering/RootInlineBox.cpp:
2949         (WebCore::containingRegionMap):
2950         (WebCore::RootInlineBox::~RootInlineBox):
2951         (WebCore::RootInlineBox::paint):
2952         (WebCore::RootInlineBox::containingRegion):
2953         (WebCore::RootInlineBox::clearContainingRegion):
2954         (WebCore::RootInlineBox::setContainingRegion):
2955
2956 2014-04-27  Darin Adler  <darin@apple.com>
2957
2958         REGRESSION (r159345): The hover state for links in the top navigation of Yahoo.com doesn't work
2959         https://bugs.webkit.org/show_bug.cgi?id=132241
2960         rdar://problem/16501924
2961
2962         Reviewed by Andreas Kling.
2963
2964         Test: fast/text/simple-lines-hover-underline.html
2965
2966         Checked that this does not hurt performance by running the
2967         run-perf-tests PerformanceTests/Layout/line-layout.html command before and after.
2968
2969         * rendering/RenderBlockFlow.cpp:
2970         (WebCore::RenderBlockFlow::hitTestInlineChildren): Use simpleLineLayout function rather than
2971         getting at the data member directly.
2972         (WebCore::RenderBlockFlow::firstLineBaseline): Ditto.
2973         (WebCore::RenderBlockFlow::inlineBlockBaseline): Ditto.
2974         (WebCore::RenderBlockFlow::lineCount): Ditto.
2975         (WebCore::RenderBlockFlow::paintInlineChildren): Ditto.
2976         (WebCore::RenderBlockFlow::hasLines): Ditto.
2977         (WebCore::RenderBlockFlow::simpleLineLayout): Added logic to determine which path to use if
2978         m_lineLayoutPath is undetermined, and call createLineBoxes if it's not simple.
2979         (WebCore::RenderBlockFlow::ensureLineBoxes): Factored out most of the code into a new
2980         createLineBoxes function.
2981         (WebCore::RenderBlockFlow::createLineBoxes): Ditto.
2982
2983         * rendering/RenderBlockFlow.h: Made simpleLineLayout function no longer an inline.
2984         Added a private createLineBoxes function.
2985
2986 2014-04-27  Praveen R Jadhav  <praveen.j@samsung.com>
2987
2988         [MediaStream] .ended shouldn't be part of MediaStream IDL
2989         https://bugs.webkit.org/show_bug.cgi?id=132104
2990
2991         Reviewed by Eric Carlson.
2992
2993         .ended attribute is spec'ed out of MediaStream IDL. Instead, .active
2994         is introduced to handle more scenarios. This patch replaces all 'ended'
2995         attribute calls with corresponding 'active' attributes. 
2996
2997         MediaStream-add-remove-tracks.html is updated.
2998
2999         * Modules/mediastream/MediaStream.cpp:
3000         (WebCore::MediaStream::addTrack): Replaced ended() with active().
3001         (WebCore::MediaStream::removeTrack): setEnded() isn't called. setActive()
3002         is retained which propagates oninactive event.
3003         (WebCore::MediaStream::trackDidEnd): setEnded() isn't called.
3004         (WebCore::MediaStream::removeRemoteSource): Replaced ended() with active().
3005         (WebCore::MediaStream::addRemoteTrack): Replaced ended() with active().
3006         (WebCore::MediaStream::removeRemoteTrack): Replaced ended() with active().
3007         (WebCore::MediaStream::ended): Deleted.
3008         (WebCore::MediaStream::setEnded): Deleted.
3009         (WebCore::MediaStream::streamDidEnd): Deleted.
3010         * Modules/mediastream/MediaStream.h:
3011         * Modules/mediastream/MediaStream.idl:
3012         * Modules/mediastream/RTCPeerConnection.cpp:
3013         (WebCore::RTCPeerConnection::didRemoveRemoteStream): Replaced setEnded()
3014         with setActive().
3015         * platform/mediastream/MediaStreamPrivate.cpp:
3016         (WebCore::MediaStreamPrivate::MediaStreamPrivate):
3017         (WebCore::MediaStreamPrivate::setActive): Updated comment from bug 
3018         https://bugs.webkit.org/show_bug.cgi?id=131973
3019         (WebCore::MediaStreamPrivate::setEnded): Deleted.
3020         * platform/mediastream/MediaStreamPrivate.h:
3021         (WebCore::MediaStreamPrivate::ended): Deleted.
3022
3023 2014-04-25  Andy Estes  <aestes@apple.com>
3024
3025         [iOS] Stop creating a WKWebResourceQuickLookDelegate for every WebResourceLoader
3026         https://bugs.webkit.org/show_bug.cgi?id=132215
3027
3028         Reviewed by Dan Bernstein.
3029
3030         * WebCore.exp.in: Moved QuickLook symbols to the USE(QUICK_LOOK) stanza.
3031         * platform/network/ios/QuickLook.h: Changed one of the create() overloads to no longer take a delegate argument.
3032         * platform/network/ios/QuickLook.mm: Moved WKWebResourceQuickLookDelegate to here and renamed to WebResourceLoaderQuickLookDelegate.
3033         (WebCore::QuickLookHandle::create): Created a WebResourceLoaderQuickLookDelegate only if QuickLook can handle the response.
3034
3035 2014-04-27  Sam Weinig  <sam@webkit.org>
3036
3037         [iOS WebKit2] Add support for text autosizing
3038         <rdar://problem/16545245>
3039         https://bugs.webkit.org/show_bug.cgi?id=132237
3040
3041         Reviewed by Tim Horton.
3042
3043         Move text autosizing width from Frame to Page, as it is a Page level concept.
3044
3045         * WebCore.exp.in:
3046         * page/Frame.cpp:
3047         (WebCore::Frame::textAutosizingWidth): Deleted.
3048         (WebCore::Frame::setTextAutosizingWidth): Deleted.
3049         * page/Frame.h:
3050         * page/FrameView.cpp:
3051         (WebCore::FrameView::layout):
3052         * page/Page.cpp:
3053         (WebCore::Page::Page):
3054         * page/Page.h:
3055         (WebCore::Page::textAutosizingWidth):
3056         (WebCore::Page::setTextAutosizingWidth):
3057
3058 2014-04-27  Zan Dobersek  <zdobersek@igalia.com>
3059
3060         Unreviewed. Updating one bindings test baseline after r167855.
3061
3062         * bindings/scripts/test/JS/JSTestCallback.cpp:
3063         (WebCore::JSTestCallback::~JSTestCallback):
3064
3065 2014-04-27  Darin Adler  <darin@apple.com>
3066
3067         Webpages can trigger loads with invalid URLs
3068         https://bugs.webkit.org/show_bug.cgi?id=132224
3069         rdar://problem/16697142
3070
3071         Reviewed by Alexey Proskuryakov.
3072
3073         Invalid URLs can be a way to trick the user about what website they
3074         are looking at.  Still trying to figure out a good way to regression-test this.
3075
3076         * dom/Document.cpp:
3077         (WebCore::Document::processHttpEquiv): Pass a URL rather than a String to
3078         the navigation scheduler.
3079         * loader/FrameLoader.cpp:
3080         (WebCore::FrameLoader::receivedFirstData): Ditto.
3081
3082         * loader/NavigationScheduler.cpp:
3083         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Take a URL rather
3084         than a string.
3085         (WebCore::ScheduledURLNavigation::url): Ditto.
3086         (WebCore::ScheduledRedirect::ScheduledRedirect): Ditto.
3087         (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
3088         (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
3089         (WebCore::NavigationScheduler::shouldScheduleNavigation): Added a check that
3090         prevents navigation to any URL that is invalid, except for JavaScript URLs,
3091         which need not be valid.
3092         (WebCore::NavigationScheduler::scheduleRedirect): Use URL instead of String.
3093         (WebCore::NavigationScheduler::scheduleLocationChange): Use URL instead of
3094         String. Also got rid of empty string check since empty URLs are also invalid,
3095         and so shouldScheduleNavigation will take care of it.
3096         (WebCore::NavigationScheduler::scheduleRefresh): Use URL instead of String.
3097
3098         * loader/NavigationScheduler.h: Take URL instead of String. Also removed some
3099         unneeded incldues and uses of WTF_MAKE_NONCOPYABLE. NavigationScheduler is
3100         already noncopyable because it has a reference for a data member, and the
3101         disabler doesn't have any real reason to be noncopyable.
3102
3103         * loader/SubframeLoader.cpp:
3104         (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass a URL rather than a
3105         String to the NavigationScheduler.
3106         * page/DOMWindow.cpp:
3107         (WebCore::DOMWindow::createWindow): Ditto.
3108
3109         * page/SecurityOrigin.cpp:
3110         (WebCore::SecurityOrigin::urlWithUniqueSecurityOrigin): Return a URL instead
3111         of a String.
3112         * page/SecurityOrigin.h: Updated for above change.
3113
3114 2014-04-27  Zan Dobersek  <zdobersek@igalia.com>
3115
3116         ScriptExecutionContext::Task should work well with C++11 lambdas
3117         https://bugs.webkit.org/show_bug.cgi?id=129795
3118
3119         Reviewed by Darin Adler.
3120
3121         Instead of having classes that subclass ScriptExecutionContext::Task and override
3122         the performTask(ScriptExecutionContext*) method, have the ScriptExecutionContext::Task
3123         take in a std::function<void (ScriptExecutionContext*)>-like object trough the constructor
3124         which would contain the code currently kept in the performTask() methods.
3125
3126         This enables inlining C++11 lambdas into ScriptExecutionContext::postTask() calls. For
3127         cleanup tasks, the Task object can be implicitly constructed by using the initializer list
3128         constructor with the first argument being the ScriptExecutionContext::Task::CleanupTask tag.
3129         The ScriptExecutionContext class remains non-copyable and now stores the passed-in invokable
3130         object in the std::function wrapper, along with a boolean member that indicates whether the
3131         task is of cleanup nature.
3132
3133         * Modules/quota/StorageErrorCallback.cpp:
3134         (WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
3135         (WebCore::StorageErrorCallback::CallbackTask::performTask): Deleted.
3136         * Modules/quota/StorageErrorCallback.h:
3137         (WebCore::StorageErrorCallback::CallbackTask::create): Deleted.
3138         * Modules/webdatabase/Database.cpp:
3139         (WebCore::Database::~Database):
3140         (WebCore::Database::runTransaction):
3141         (WebCore::Database::scheduleTransactionCallback):
3142         (WebCore::DerefContextTask::create): Deleted.
3143         (WebCore::DerefContextTask::performTask): Deleted.
3144         (WebCore::DerefContextTask::isCleanupTask): Deleted.
3145         (WebCore::DerefContextTask::DerefContextTask): Deleted.
3146         (WebCore::callTransactionErrorCallback): Deleted.
3147         (WebCore::DeliverPendingCallbackTask::create): Deleted.
3148         (WebCore::DeliverPendingCallbackTask::performTask): Deleted.
3149         (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): Deleted.
3150         * Modules/webdatabase/DatabaseManager.cpp:
3151         (WebCore::DatabaseManager::openDatabase):
3152         (WebCore::DatabaseCreationCallbackTask::create): Deleted.
3153         (WebCore::DatabaseCreationCallbackTask::performTask): Deleted.
3154         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): Deleted.
3155         * Modules/webdatabase/DatabaseSync.cpp:
3156         (WebCore::CloseSyncDatabaseOnContextThreadTask::create): Deleted.
3157         (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): Deleted.
3158         (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): Deleted.
3159         * Modules/webdatabase/SQLCallbackWrapper.h:
3160         (WebCore::SQLCallbackWrapper::clear):
3161         (WebCore::SQLCallbackWrapper::SafeReleaseTask::create): Deleted.
3162         (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): Deleted.
3163         (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): Deleted.
3164         (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): Deleted.
3165         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3166         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
3167         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
3168         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
3169         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
3170         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
3171         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
3172         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
3173         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
3174         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
3175         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
3176         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
3177         (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
3178         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
3179         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create): Deleted.
3180         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask): Deleted.
3181         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask): Deleted.
3182         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
3183         * bindings/js/JSCallbackData.h:
3184         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
3185         (WebCore::DeleteCallbackDataTask::create): Deleted.
3186         (WebCore::DeleteCallbackDataTask::performTask): Deleted.
3187         (WebCore::DeleteCallbackDataTask::isCleanupTask): Deleted.
3188         * bindings/js/JSDOMGlobalObjectTask.cpp:
3189         (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
3190         (WebCore::JSGlobalObjectTask::~JSGlobalObjectTask): Deleted.
3191         (WebCore::JSGlobalObjectTask::performTask): Deleted.
3192         * bindings/js/JSDOMGlobalObjectTask.h:
3193         * bindings/js/JSDOMWindowBase.cpp:
3194         (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
3195         * bindings/js/JSWorkerGlobalScopeBase.cpp:
3196         (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
3197         * bindings/scripts/CodeGeneratorJS.pm:
3198         (GenerateCallbackImplementation):
3199         * dom/CrossThreadTask.h:
3200         (WebCore::CrossThreadTask1::performTask):
3201         (WebCore::CrossThreadTask2::performTask):
3202         (WebCore::CrossThreadTask3::performTask):
3203         (WebCore::CrossThreadTask4::performTask):
3204         (WebCore::CrossThreadTask5::performTask):
3205         (WebCore::CrossThreadTask6::performTask):
3206         (WebCore::CrossThreadTask7::performTask):
3207         (WebCore::CrossThreadTask8::performTask):
3208         (WebCore::createCallbackTask):
3209         (WebCore::CrossThreadTask1::create): Deleted.
3210         (WebCore::CrossThreadTask2::create): Deleted.
3211         (WebCore::CrossThreadTask3::create): Deleted.
3212         (WebCore::CrossThreadTask4::create): Deleted.
3213         (WebCore::CrossThreadTask5::create): Deleted.
3214         (WebCore::CrossThreadTask6::create): Deleted.
3215         (WebCore::CrossThreadTask7::create): Deleted.
3216         (WebCore::CrossThreadTask8::create): Deleted.
3217         * dom/Document.cpp:
3218         (WebCore::Document::addConsoleMessage):
3219         (WebCore::Document::addMessage):
3220         (WebCore::Document::postTask):
3221         (WebCore::Document::pendingTasksTimerFired):
3222         (WebCore::PerformTaskContext::PerformTaskContext): Deleted.
3223         (WebCore::Document::didReceiveTask): Deleted.
3224         * dom/Document.h:
3225         * dom/ScriptExecutionContext.cpp:
3226         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
3227         (WebCore::ScriptExecutionContext::timerAlignmentInterval):
3228         (WebCore::ProcessMessagesSoonTask::create): Deleted.
3229         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask): Deleted.
3230         (WebCore::ScriptExecutionContext::Task::~Task): Deleted.
3231         * dom/ScriptExecutionContext.h:
3232         (WebCore::ScriptExecutionContext::Task::Task):
3233         (WebCore::ScriptExecutionContext::Task::performTask):
3234         (WebCore::ScriptExecutionContext::Task::isCleanupTask):
3235         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
3236         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create): Deleted.
3237         * dom/StringCallback.cpp:
3238         (WebCore::StringCallback::scheduleCallback):
3239         * loader/appcache/ApplicationCacheGroup.cpp:
3240         (WebCore::ApplicationCacheGroup::postListenerTask):
3241         (WebCore::CallCacheListenerTask::create): Deleted.
3242         (WebCore::CallCacheListenerTask::CallCacheListenerTask): Deleted.
3243         * workers/DefaultSharedWorkerRepository.cpp:
3244         (WebCore::SharedWorkerProxy::postTaskToLoader):
3245         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
3246         (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
3247         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
3248         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
3249         (WebCore::SharedWorkerConnectTask::create): Deleted.
3250         (WebCore::SharedWorkerConnectTask::performTask): Deleted.
3251         * workers/WorkerEventQueue.cpp:
3252         (WebCore::WorkerEventQueue::EventDispatcher::EventDispatcher):
3253         (WebCore::WorkerEventQueue::EventDispatcher::~EventDispatcher):
3254         (WebCore::WorkerEventQueue::EventDispatcher::dispatch):
3255         (WebCore::WorkerEventQueue::enqueueEvent):
3256         (WebCore::WorkerEventQueue::cancelEvent):
3257         (WebCore::WorkerEventQueue::close):
3258         * workers/WorkerEventQueue.h:
3259         * workers/WorkerGlobalScope.cpp:
3260         (WebCore::WorkerGlobalScope::close):
3261         (WebCore::WorkerGlobalScope::postTask):
3262         (WebCore::WorkerGlobalScope::addConsoleMessage):
3263         (WebCore::WorkerGlobalScope::addMessage):
3264         (WebCore::CloseWorkerGlobalScopeTask::create): Deleted.
3265         (WebCore::CloseWorkerGlobalScopeTask::performTask): Deleted.
3266         (WebCore::CloseWorkerGlobalScopeTask::isCleanupTask): Deleted.
3267         * workers/WorkerGlobalScope.h:
3268         * workers/WorkerLoaderProxy.h:
3269         * workers/WorkerMessagingProxy.cpp:
3270         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
3271         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
3272         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
3273         (WebCore::WorkerMessagingProxy::postTaskToLoader):
3274         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
3275         (WebCore::WorkerMessagingProxy::workerThreadCreated):
3276         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
3277         (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
3278         (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
3279         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
3280         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
3281         (WebCore::WorkerMessagingProxy::reportPendingActivity):
3282         (WebCore::MessageWorkerGlobalScopeTask::create): Deleted.
3283         (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask): Deleted.
3284         (WebCore::MessageWorkerGlobalScopeTask::performTask): Deleted.
3285         (WebCore::MessageWorkerTask::create): Deleted.
3286         (WebCore::MessageWorkerTask::MessageWorkerTask): Deleted.
3287         (WebCore::MessageWorkerTask::performTask): Deleted.
3288         (WebCore::WorkerExceptionTask::create): Deleted.
3289         (WebCore::WorkerExceptionTask::WorkerExceptionTask): Deleted.
3290         (WebCore::WorkerExceptionTask::performTask): Deleted.
3291         (WebCore::WorkerGlobalScopeDestroyedTask::create): Deleted.
3292         (WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask): Deleted.
3293         (WebCore::WorkerGlobalScopeDestroyedTask::performTask): Deleted.
3294         (WebCore::WorkerTerminateTask::create): Deleted.
3295         (WebCore::WorkerTerminateTask::WorkerTerminateTask): Deleted.
3296         (WebCore::WorkerTerminateTask::performTask): Deleted.
3297         (WebCore::WorkerThreadActivityReportTask::create): Deleted.
3298         (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): Deleted.
3299         (WebCore::WorkerThreadActivityReportTask::performTask): Deleted.
3300         (WebCore::PostMessageToPageInspectorTask::create): Deleted.
3301         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask): Deleted.
3302         (WebCore::PostMessageToPageInspectorTask::performTask): Deleted.
3303         (WebCore::NotifyNetworkStateChangeTask::create): Deleted.
3304         (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask): Deleted.
3305         (WebCore::NotifyNetworkStateChangeTask::performTask): Deleted.
3306         * workers/WorkerMessagingProxy.h:
3307         * workers/WorkerRunLoop.cpp:
3308         (WebCore::WorkerRunLoop::postTask):
3309         (WebCore::WorkerRunLoop::postTaskAndTerminate):
3310         (WebCore::WorkerRunLoop::postTaskForMode):
3311         (WebCore::WorkerRunLoop::Task::create):
3312         (WebCore::WorkerRunLoop::Task::performTask):
3313         (WebCore::WorkerRunLoop::Task::Task):
3314         * workers/WorkerRunLoop.h:
3315         * workers/WorkerThread.cpp:
3316         (WebCore::WorkerThread::stop):
3317         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
3318         (WebCore::WorkerThreadShutdownFinishTask::create): Deleted.
3319         (WebCore::WorkerThreadShutdownFinishTask::performTask): Deleted.
3320         (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): Deleted.
3321         (WebCore::WorkerThreadShutdownStartTask::create): Deleted.
3322         (WebCore::WorkerThreadShutdownStartTask::performTask): Deleted.
3323         (WebCore::WorkerThreadShutdownStartTask::isCleanupTask): Deleted.
3324
3325 2014-04-27  Antti Koivisto  <antti@apple.com>
3326
3327         Coalesce responses on network process side
3328         https://bugs.webkit.org/show_bug.cgi?id=132229
3329
3330         Reviewed by Andreas Kling.
3331
3332         * WebCore.exp.in:
3333
3334 2014-04-27  David Kilzer  <ddkilzer@apple.com>
3335
3336         Roll out changes not part of the patch reviewed for Bug 132089
3337         <http://webkit.org/b/132089>
3338
3339         * loader/SubframeLoader.cpp:
3340         (WebCore::SubframeLoader::loadOrRedirectSubframe):
3341         * page/DOMWindow.cpp:
3342         (WebCore::DOMWindow::setLocation):
3343         (WebCore::DOMWindow::createWindow):
3344         (WebCore::DOMWindow::open):
3345
3346 2014-04-26  Darin Adler  <darin@apple.com>
3347
3348         Frame and page lifetime fixes in WebCore::createWindow
3349         https://bugs.webkit.org/show_bug.cgi?id=132089
3350
3351         Reviewed by Sam Weinig.
3352
3353         Speculative fix because I was unable to reproduce the crash that was
3354         reported with the test case attached to this bug.
3355
3356         * loader/FrameLoader.cpp:
3357         (WebCore::createWindow): Changed code to remove the assumption that calls
3358         out will not destroy the page or frame. Use RefPtr for the frame, and
3359         added early exits if frame->page() becomes null at any point before we
3360         use a page pointer.
3361
3362 2014-04-26  Alexey Proskuryakov  <ap@apple.com>
3363
3364         Local files should not be allowed to read pasteboard data during drag
3365         https://bugs.webkit.org/show_bug.cgi?id=131767
3366
3367         Reviewed by Sam Weinig.
3368
3369         Test: fast/files/local-file-drag-security.html
3370
3371         * page/DragController.cpp:
3372         (WebCore::DragController::dragExited):
3373         (WebCore::DragController::tryDHTMLDrag):
3374         Make an old Dashboard quirk really Dashboard only.
3375
3376 2014-04-24  Darin Adler  <darin@apple.com>
3377
3378         REGRESSION (r164133): Selection doesn't paint when scrolling some pages
3379         https://bugs.webkit.org/show_bug.cgi?id=132172
3380         rdar://problem/16719473
3381
3382         Reviewed by Brent Fulgham.
3383
3384         Tests: fast/dynamic/remove-invisible-node-inside-selection.html
3385                fast/dynamic/remove-node-inside-selection.html
3386
3387         * editing/FrameSelection.cpp:
3388         (WebCore::clearRenderViewSelection): Changed to take a Node& because having
3389         this take a Position& was unnecessary and strange, when really it just needs
3390         to take a document as an argument.
3391         (WebCore::DragCaretController::nodeWillBeRemoved): Updated for the above.
3392         (WebCore::FrameSelection::respondToNodeModification): Added code to set the
3393         m_pendingSelectionUpdate flag and call RenderView::setNeedsLayout so the
3394         selection will be recomputed after it's temporarily cleared when one of
3395         the selected nodes is removed.
3396
3397 2014-04-25  Ryosuke Niwa  <rniwa@webkit.org>
3398
3399         REGRESSION (r167689): Hovering file name in a file input causes a crash
3400         https://bugs.webkit.org/show_bug.cgi?id=132214
3401
3402         Reviewed by Andreas Kling.
3403
3404         The bug was caused by callDefaultEventHandlersInTheBubblingOrder unconditionally
3405         accessing path.contextAt(0) even if the event path was empty.
3406
3407         Fixed the bug by exiting early when the event path is empty.
3408
3409         Test: fast/events/shadow-event-path-2.html
3410
3411         * dom/EventDispatcher.cpp:
3412         (WebCore::callDefaultEventHandlersInTheBubblingOrder):
3413
3414 2014-04-25  Tim Horton  <timothy_horton@apple.com>
3415
3416         REGRESSION (r167828): http/tests/media/hls/video-controls-live-stream.html fails
3417
3418         * English.lproj/mediaControlsLocalizedStrings.js:
3419         Add 'Live Broadcast' to the localized strings list.
3420
3421 2014-04-25  Brady Eidson  <beidson@apple.com>
3422
3423         Add a selection overlay.
3424         <rdar://problem/16727797> and https://bugs.webkit.org/show_bug.cgi?id=132200
3425
3426         Reviewed by David Hyatt.
3427
3428         No new tests (WK2 feature in development).
3429
3430         * WebCore.xcodeproj/project.pbxproj:
3431
3432         Add a SelectionRectGathterer class.
3433         It creates a Notifier (given a RenderView) then accepts Rects from the RenderView.
3434         When the Notifier is destroyed, the appropriate EditorClient is notified of the gathered rects.
3435         * editing/SelectionRectGatherer.cpp: Added.
3436         (WebCore::SelectionRectGatherer::SelectionRectGatherer):
3437         (WebCore::SelectionRectGatherer::addRect):
3438         (WebCore::SelectionRectGatherer::addRects):
3439         (WebCore::SelectionRectGatherer::Notifier::Notifier):
3440         (WebCore::SelectionRectGatherer::Notifier::~Notifier):
3441         (WebCore::SelectionRectGatherer::clearAndCreateNotifier):
3442         * editing/SelectionRectGatherer.h: Added.
3443
3444         * page/EditorClient.h:
3445         (WebCore::EditorClient::selectionRectsDidChange):
3446
3447         * rendering/RenderView.cpp:
3448         (WebCore::RenderView::RenderView):
3449         (WebCore::RenderView::setSelection): Clear the gatherer’s rects then create a Notifier.
3450         (WebCore::RenderView::setSubtreeSelection): Give all the selection rects to be painted to
3451           the SelectionRectGatherer.
3452         * rendering/RenderView.h:
3453
3454 2014-04-08  Jer Noble  <jer.noble@apple.com>
3455
3456         Support "Live" streams in media controls.