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