[Win] Enable Encrypted Media Support
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-10-14  Brent Fulgham  <bfulgham@apple.com>
2
3         [Win] Enable Encrypted Media Support
4         https://bugs.webkit.org/show_bug.cgi?id=137710
5         <rdar://problem/18652699>
6
7         Reviewed by Jer Noble.
8
9         This feature is covered by existing media tests.
10
11         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
12         (WebCore::destroyAVFWrapper): Remove redundant ASSERT.
13         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
14         (displayOnMainThreadContext::displayOnMainThreadContext): Added.
15         (redispatchOnMainQueue): Added.
16         (PlatformCALayerWinInternal::displayCallback): Check if a display
17         call is happening on a background queue, and re-dispatch on the
18         main thread if necessary.
19
20 2014-10-14  Chris Dumez  <cdumez@apple.com>
21
22         [Mac] Avoid unnecessary dictionary lookup in ImageSource::isSizeAvailable()
23         https://bugs.webkit.org/show_bug.cgi?id=137701
24
25         Reviewed by Simon Fraser.
26
27         The CG implementation of ImageSource::isSizeAvailable() was looking up
28         both the width and the height keys in the dictionary before determining
29         if the size is available. We can abort early and return false if the
30         first key (the width) is missing, thus avoiding an extra dictionary
31         lookup in this case.
32
33         This is a small win but ImageSource::isSizeAvailable() is called quite
34         frequently during page loads
35
36         No new tests, no behavior change.
37
38         * platform/graphics/cg/ImageSourceCG.cpp:
39         (WebCore::ImageSource::isSizeAvailable):
40
41 2014-10-14  Myles C. Maxfield  <mmaxfield@apple.com>
42
43         Remove unnecessary logging from SimpleFontData
44         https://bugs.webkit.org/show_bug.cgi?id=137699
45
46         Reviewed by Andreas Kling.
47
48         Because of web fonts, fonts that don't have a glyph page 0 are common and expected. Printing out a
49         message is not helpful, especially if you're not dealing with a font-related piece of WebKit.
50
51         No new tests because there is no behavior change.
52
53         * platform/graphics/SimpleFontData.cpp:
54         (WebCore::SimpleFontData::platformGlyphInit):
55
56 2014-10-14  Martin Hock  <mhock@apple.com>
57
58         Update ViewportConfiguration whenever its size attributes change
59         https://bugs.webkit.org/show_bug.cgi?id=137682
60         rdar://problem/18643655
61
62         Reviewed by Benjamin Poulain.
63
64         * page/ViewportConfiguration.cpp:
65         (WebCore::ViewportConfiguration::setMinimumLayoutSize):
66         (WebCore::ViewportConfiguration::setMinimumLayoutSizeForMinimalUI):
67
68 2014-10-14  Joseph Pecoraro  <pecoraro@apple.com>
69
70         Web Inspector: Processing Instruction Nodes appear poorly in DOM Tree
71         https://bugs.webkit.org/show_bug.cgi?id=137681
72
73         Reviewed by Timothy Hatcher.
74
75         * inspector/InspectorDOMAgent.cpp:
76         (WebCore::InspectorDOMAgent::buildObjectForNode):
77         Include the nodeName, localName, and nodeValue (string data)
78         properties for processing instruction nodes.
79
80 2014-10-14  Chris Dumez  <cdumez@apple.com>
81
82         Use is<>() / downcast<>() for RenderFrame / RenderFrameSet
83         https://bugs.webkit.org/show_bug.cgi?id=137696
84
85         Reviewed by Darin Adler.
86
87         Use is<>() / downcast<>() for RenderFrame / RenderFrameSet.
88
89         No new tests, no behavior change.
90
91         * html/HTMLFrameSetElement.cpp:
92         (WebCore::HTMLFrameSetElement::defaultEventHandler):
93         * rendering/RenderFrame.cpp:
94         (WebCore::RenderFrame::updateFromElement):
95         * rendering/RenderFrame.h:
96         * rendering/RenderFrameSet.cpp:
97         (WebCore::RenderFrameSet::computeEdgeInfo):
98         (WebCore::RenderFrameSet::positionFramesWithFlattening):
99         * rendering/RenderFrameSet.h:
100
101 2014-10-14  Youenn Fablet  <youennf@gmail.com>
102
103         [XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry
104         https://bugs.webkit.org/show_bug.cgi?id=126975
105
106         Reviewed by Alexey Proskuryakov.
107
108         Merging https://chromium.googlesource.com/chromium/blink/+/0d75daf2053631518606ae15daaece701a25b2c4
109         Ensuring new test from https://codereview.chromium.org/76133002/ is passing.
110
111         Test: http/tests/xmlhttprequest/reentrant-cancel-abort.html
112
113         * xml/XMLHttpRequest.cpp:
114         (WebCore::XMLHttpRequest::open): exit early if internalAbort asks so
115         (WebCore::XMLHttpRequest::abort): exit early if internalAbort asks so
116         (WebCore::XMLHttpRequest::internalAbort): ask calling function to exit early if a new loader is created during the cancellation of the loader (potential reentrant case through window.onload callback)   
117         (WebCore::XMLHttpRequest::didTimeout): exit early if internalAbort asks so
118         * xml/XMLHttpRequest.h:
119
120 2014-10-14  Alejandro G. Castro  <alex@igalia.com>
121
122         Multiple refactors in RenderMathMLOperator
123         https://bugs.webkit.org/show_bug.cgi?id=137611
124
125         Reviewed by Darin Adler.
126
127         The changes include:
128         - Rename m_operator to m_textContent.
129         - Make most of the functions private, we needed to create some
130         public member functions to be able to make the some funtions private
131         and move trailingSpaceError to RenderMathMLOperator.
132         - Fix incorrect capitalization of setOperatorProperties function.
133         - Make all data members private and move them to the end of the
134         class defition.
135
136         No new tests as no change in functionality.
137
138         * rendering/mathml/RenderMathMLOperator.cpp:
139         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
140         (WebCore::RenderMathMLOperator::setOperatorProperties): Renamed,
141         incorrect capitalization
142         (WebCore::RenderMathMLOperator::stretchTo):
143         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
144         (WebCore::RenderMathMLOperator::rebuildTokenContent):
145         (WebCore::RenderMathMLOperator::updateFromElement):
146         (WebCore::RenderMathMLOperator::updateOperatorProperties):
147         (WebCore::RenderMathMLOperator::shouldAllowStretching):
148         (WebCore::RenderMathMLOperator::updateStyle):
149         (WebCore::RenderMathMLOperator::trailingSpaceError):
150         (WebCore::RenderMathMLOperator::SetOperatorProperties): Deleted.
151         (WebCore::RenderMathMLOperator::advanceForGlyph): Deleted.
152         (WebCore::RenderMathMLOperator::updateTokenContent): Deleted.
153         (WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack): Deleted.
154         * rendering/mathml/RenderMathMLOperator.h:
155         (WebCore::RenderMathMLOperator::setLeadingSpace): Added.
156         (WebCore::RenderMathMLOperator::setTrailingSpace):  Added.
157         (WebCore::RenderMathMLOperator::textContent): Added.
158         (WebCore::RenderMathMLOperator::isInvisibleOperator):
159         * rendering/mathml/RenderMathMLRadicalOperator.cpp:
160         (WebCore::RenderMathMLRadicalOperator::setOperatorProperties):
161         Renamed, incorrect capitalization
162         (WebCore::RenderMathMLRadicalOperator::SetOperatorProperties): Deleted.
163         (WebCore::RenderMathMLRadicalOperator::trailingSpaceError): Deleted.
164         * rendering/mathml/RenderMathMLRadicalOperator.h:
165
166 2014-10-14  Alejandro G. Castro  <alex@igalia.com>
167
168         Changes in the stretchy attribute do not update rendering
169         https://bugs.webkit.org/show_bug.cgi?id=136883
170
171         Reviewed by Darin Adler.
172
173         Test: mathml/presentation/mo-stretch-update.html
174
175         We need to relayout when a change in the stretchy attribute
176         happens.
177
178         * mathml/MathMLTextElement.cpp:
179         (WebCore::MathMLTextElement::parseAttribute): Parse the
180         modifications of the stretchy attribute.
181         * mathml/MathMLTextElement.h:
182         * rendering/mathml/RenderMathMLOperator.cpp:
183         (WebCore::RenderMathMLOperator::setOperatorFlagAndScheduleLayoutIfNeeded):
184         Add function that receives the value instead of looking for it and
185         checks if the change should schedule a layout.
186         (WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
187         (WebCore::RenderMathMLOperator::setOperatorFlagFromAttributeValue):
188         Add function that receives the value instead of looking for it.
189         * rendering/mathml/RenderMathMLOperator.h:
190
191 2014-10-14  Chris Dumez  <cdumez@apple.com>
192
193         Use is<>() / downcast<>() for RenderImage
194         https://bugs.webkit.org/show_bug.cgi?id=137683
195
196         Reviewed by Mihnea Ovidenie.
197
198         Use is<>() / downcast<>() for RenderImage.
199
200         No new tests, no behavior change.
201
202         * accessibility/AccessibilityNodeObject.cpp:
203         (WebCore::AccessibilityNodeObject::alternativeText):
204         * accessibility/AccessibilityRenderObject.cpp:
205         (WebCore::AccessibilityRenderObject::addImageMapChildren):
206         (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
207         * bindings/objc/DOM.mm:
208         (-[DOMElement image]):
209         (-[DOMElement _imageTIFFRepresentation]):
210         * editing/TextIterator.cpp:
211         (WebCore::TextIterator::handleReplacedElement):
212         * editing/cocoa/HTMLConverter.mm:
213         (fileWrapperForElement):
214         * editing/gtk/EditorGtk.cpp:
215         (WebCore::getImageForElement):
216         * editing/ios/EditorIOS.mm:
217         (WebCore::getImage):
218         * editing/mac/EditorMac.mm:
219         (WebCore::getImage):
220         * html/HTMLAnchorElement.cpp:
221         (WebCore::appendServerMapMousePosition):
222         * html/HTMLAreaElement.cpp:
223         (WebCore::HTMLAreaElement::setFocus):
224         * html/HTMLImageElement.cpp:
225         (WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
226         (WebCore::HTMLImageElement::parseAttribute):
227         (WebCore::HTMLImageElement::didAttachRenderers):
228         (WebCore::HTMLImageElement::createImageControls):
229         (WebCore::HTMLImageElement::destroyImageControls):
230         * html/HTMLVideoElement.cpp:
231         (WebCore::HTMLVideoElement::didAttachRenderers):
232         (WebCore::HTMLVideoElement::parseAttribute):
233         * html/ImageInputType.cpp:
234         (WebCore::ImageInputType::altAttributeChanged):
235         (WebCore::ImageInputType::attach):
236         * html/canvas/CanvasRenderingContext2D.cpp:
237         (WebCore::size):
238         * html/shadow/mac/ImageControlsRootElementMac.cpp:
239         (WebCore::RenderImageControls::updateLogicalWidth):
240         (WebCore::RenderImageControls::computeLogicalHeight):
241         * loader/ImageLoader.cpp:
242         (WebCore::ImageLoader::renderImageResource):
243         * page/ContextMenuController.cpp:
244         (WebCore::imageFromImageElementNode):
245         * page/DragController.cpp:
246         (WebCore::getCachedImage):
247         (WebCore::getImage):
248         * platform/win/PasteboardWin.cpp:
249         (WebCore::Pasteboard::writeImage):
250         (WebCore::getCachedImage):
251         * rendering/HitTestResult.cpp:
252         (WebCore::HitTestResult::image):
253         * rendering/RenderImage.h:
254         * rendering/RenderImageResource.cpp:
255         (WebCore::RenderImageResource::getImageSize):
256         * rendering/RenderLayerBacking.cpp:
257         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
258         (WebCore::RenderLayerBacking::updateImageContents):
259         * rendering/RenderReplaced.cpp:
260         (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
261         * rendering/shapes/ShapeOutsideInfo.cpp:
262         (WebCore::ShapeOutsideInfo::createShapeForImage):
263
264 2014-10-14  Andrzej Badowski  <a.badowski@samsung.com>
265
266         [AX] Improve AccessibilityTableCell columnHeaders and rowHeaders functions.
267         https://bugs.webkit.org/show_bug.cgi?id=136818
268
269         Reviewed by Chris Fleizach.
270
271         Take into account that <th> elements can be both the column headers and row headers 
272         improved the operation of two functions: columnHeaders and rowHeaders.
273
274         Test: accessibility/table-headers.html
275
276         * accessibility/AccessibilityTableCell.cpp:
277         (WebCore::AccessibilityTableCell::isColumnHeaderCell):
278         A new function that helps the main goal.
279         (WebCore::AccessibilityTableCell::isRowHeaderCell):
280         A new function that helps the main goal.
281         (WebCore::AccessibilityTableCell::columnHeaders):
282         Use isColumnHeaderCell instead of isTableHeaderCell.
283         (WebCore::AccessibilityTableCell::rowHeaders):
284         Use isRowHeaderCell also includes <th> row header element next to the scope attribute.
285         * accessibility/AccessibilityTableCell.h:
286         Adds new functions to the header file.
287
288 2014-10-14  Csaba Osztrogon√°c  <ossy@webkit.org>
289
290         Fix the !ENABLE(VIDEO) build after r174353
291         https://bugs.webkit.org/show_bug.cgi?id=137655
292
293         Reviewed by Darin Adler.
294
295         * dom/Document.cpp:
296         * dom/Document.h:
297         * page/Page.cpp:
298         * page/Page.h:
299
300 2014-10-14  peavo@outlook.com  <peavo@outlook.com>
301
302         [Curl] Compile error in CurlDownload.cpp.
303         https://bugs.webkit.org/show_bug.cgi?id=137654
304
305         Reviewed by Philippe Normand.
306
307         A template specialization is not needed anymore.
308
309         * platform/network/curl/CurlDownload.cpp:
310
311 2014-10-13  Joseph Pecoraro  <pecoraro@apple.com>
312
313         Web Inspector: Remove unused stale Page protocol methods
314         https://bugs.webkit.org/show_bug.cgi?id=137678
315
316         Reviewed by Andreas Kling.
317
318         * inspector/InspectorClient.h:
319         (WebCore::InspectorClient::canShowDebugBorders): Deleted.
320         (WebCore::InspectorClient::setShowDebugBorders): Deleted.
321         (WebCore::InspectorClient::canShowFPSCounter): Deleted.
322         (WebCore::InspectorClient::setShowFPSCounter): Deleted.
323         (WebCore::InspectorClient::canContinuouslyPaint): Deleted.
324         (WebCore::InspectorClient::setContinuousPaintingEnabled): Deleted.
325         * inspector/InspectorPageAgent.cpp:
326         (WebCore::InspectorPageAgent::disable):
327         (WebCore::InspectorPageAgent::canShowDebugBorders): Deleted.
328         (WebCore::InspectorPageAgent::setShowDebugBorders): Deleted.
329         (WebCore::InspectorPageAgent::canShowFPSCounter): Deleted.
330         (WebCore::InspectorPageAgent::setShowFPSCounter): Deleted.
331         (WebCore::InspectorPageAgent::canContinuouslyPaint): Deleted.
332         (WebCore::InspectorPageAgent::setContinuousPaintingEnabled): Deleted.
333         * inspector/InspectorPageAgent.h:
334         * inspector/protocol/Page.json:
335
336 2014-10-13  Eric Carlson  <eric.carlson@apple.com>
337
338         [iOS] Refactor AirPlay monitoring code
339         https://bugs.webkit.org/show_bug.cgi?id=137645
340         <rdar://problem/18444817>
341
342         Reviewed by Jer Noble.
343
344         Refactor AirPlay route change monitoring code:
345         + Have MediaSessionManager register/unregister for route changes depending on the state of
346             all sessions so it does the right thing when there is more than one media element.
347         + Make HTMLMediaElement unregister with MediaSession as soon as the media player is cleared
348             because there can be no wireless playback without a player.
349
350         * html/HTMLMediaElement.cpp:
351         (WebCore::HTMLMediaElement::~HTMLMediaElement): Call mediaSession->setHasPlaybackTargetAvailabilityListeners
352             when there are target availability changed listeners.
353         (WebCore::HTMLMediaElement::clearMediaPlayer): Ditto.
354         (WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange): New, media session client method.
355         * html/HTMLMediaElement.h:
356
357         * html/HTMLMediaSession.cpp:
358         (WebCore::HTMLMediaSession::HTMLMediaSession): Initialize m_hasPlaybackTargetAvailabilityListeners.
359         (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Remember whether or not
360             the client has a target availability listener and tell the media session manager to reconfigure
361             itself instead of telling it to start or stop listening for route changes so it does the 
362             right thing when there is more than one media element.
363         * html/HTMLMediaSession.h:
364         (WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Return true when the client 
365             has a target availability listener, false otherwise.
366
367         * platform/audio/MediaSession.cpp:
368         (WebCore::MediaSession::wirelessRoutesAvailableDidChange): Inform the client that routes have changed.
369         * platform/audio/MediaSession.h:
370         (WebCore::MediaSession::requiresPlaybackTargetRouteMonitoring):
371         (WebCore::MediaSessionClient::wirelessRoutesAvailableDidChange):
372
373         * platform/audio/MediaSessionManager.cpp:
374         (WebCore::MediaSessionManager::wirelessRoutesAvailableChanged): Implement it.
375         * platform/audio/MediaSessionManager.h:
376         (WebCore::MediaSessionManager::configureWireLessTargetMonitoring):
377         (WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
378         (WebCore::MediaSessionManager::sessions):
379         (WebCore::MediaSessionManager::startMonitoringAirPlayRoutes): Deleted.
380         (WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes): Deleted.
381
382         * platform/audio/ios/MediaSessionManagerIOS.h:
383         * platform/audio/ios/MediaSessionManagerIOS.mm:
384         (WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Start or stop monitoring
385             for route changes depending on client state.
386         (WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes): Deleted.
387         (WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes): Deleted.
388
389 2014-10-13  Chris Dumez  <cdumez@apple.com>
390
391         [Mac] Return value of createImageSourceOptions() is leaked in ImageSourceCG
392         https://bugs.webkit.org/show_bug.cgi?id=137677
393
394         Reviewed by Simon Fraser.
395
396         The return value of createImageSourceOptions() was leaked in
397         ImageSourceCG.cpp. It was returning a CFDictionaryRef created using
398         CFDictionaryCreate(). Therefore, the return value should have been
399         released but wasn't.
400
401         This patch makes createImageSourceOptions() return a
402         RetainPtr<CFDictionaryRef> to make sure the CFDictionaryRef properly
403         gets released after use.
404
405         No new tests, no behavior change.
406
407         * platform/graphics/cg/ImageSourceCG.cpp:
408         (WebCore::createImageSourceOptions):
409         (WebCore::imageSourceOptions):
410         (WebCore::ImageSource::isSizeAvailable):
411         (WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
412         (WebCore::ImageSource::frameSizeAtIndex):
413         (WebCore::ImageSource::orientationAtIndex):
414         (WebCore::ImageSource::getHotSpot):
415         (WebCore::ImageSource::repetitionCount):
416         (WebCore::ImageSource::createFrameAtIndex):
417         (WebCore::ImageSource::frameDurationAtIndex):
418
419 2014-10-13  Yusuke Suzuki  <utatane.tea@gmail.com>
420
421         CSS JIT: Implement :visited pseudo class
422         https://bugs.webkit.org/show_bug.cgi?id=135293
423
424         Reviewed by Benjamin Poulain.
425
426         This patch implements CSS JIT for :visited. And it makes :not(:link) JIT-ed.
427         Following the design discussed at the other bug[1], implemented :visited JIT
428         without tracking VisitedMatchEnabled state.
429
430         In this patch, we change the semantics of :visited / :link
431         inside functional pseudo classes for further CSS Selector Level 4 extensions.
432
433         Edge cases are tested by the existing tests.
434         :not(:link)
435             fast/history/link-inside-not.html
436         :not(:visited)
437             fast/history/visited-inside-not.html
438         :-webkit-any(:link)
439             fast/history/link-inside-any.html
440         :-webkit-any(:visited)
441             fast/history/visited-inside-any.html
442
443         [1]: https://bugs.webkit.org/show_bug.cgi?id=135639
444
445         Test: fast/history/link-inside-not-inside-any.html
446             To cover the :-webkit-any(:not(:link)), added new tests.
447
448         * css/SelectorChecker.cpp:
449         (WebCore::SelectorChecker::checkOne):
450         * cssjit/SelectorCompiler.cpp:
451         (WebCore::SelectorCompiler::addPseudoClassType):
452         (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
453         (WebCore::SelectorCompiler::constructFragments):
454         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
455         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements):
456         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateRightmostTreeWalker):
457         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
458         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):
459         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstLink):
460         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateStoreLastVisitedElement):
461
462 2014-10-13  Chris Dumez  <cdumez@apple.com>
463
464         Use modern loops in RenderLayerCompositor
465         https://bugs.webkit.org/show_bug.cgi?id=137670
466
467         Reviewed by Simon Fraser.
468
469         Use modern range for-loops in RenderLayerCompositor.
470
471         No new tests, no behavior change.
472
473         * rendering/RenderLayerCompositor.cpp:
474         (WebCore::OverlapMapContainer::overlapsLayers):
475         (WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects):
476         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayersAfterFlush):
477         (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
478         (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
479         (WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
480         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
481         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
482         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed):
483         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
484         (WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
485         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
486         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
487         (WebCore::RenderLayerCompositor::recursiveRepaintLayer):
488         (WebCore::resetTrackedRepaintRectsRecursive):
489         (WebCore::RenderLayerCompositor::layerHas3DContent):
490         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
491         (WebCore::RenderLayerCompositor::registerAllScrollingLayers):
492         (WebCore::RenderLayerCompositor::unregisterAllScrollingLayers):
493
494 2014-10-13  Chris Dumez  <cdumez@apple.com>
495
496         Drop unnecessary overlapMap null checks in computeCompositingRequirements()
497         https://bugs.webkit.org/show_bug.cgi?id=137668
498
499         Reviewed by Andreas Kling.
500
501         Drop unnecessary overlapMap null checks in computeCompositingRequirements().
502         The function is never called with a null overlapMap so we can make the
503         argument a reference and drop all the null checks.
504
505         No new tests, no behavior change.
506
507         * rendering/RenderLayerCompositor.cpp:
508         (WebCore::RenderLayerCompositor::updateCompositingLayers):
509         (WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
510         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
511         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
512         * rendering/RenderLayerCompositor.h:
513
514 2014-10-13  Chris Dumez  <cdumez@apple.com>
515
516         Use is<>() / downcast<>() for PlatformCALayer subclasses
517         https://bugs.webkit.org/show_bug.cgi?id=137661
518
519         Reviewed by Simon Fraser.
520
521         Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up
522         the surrounding code.
523
524         No new tests, no behavior change.
525
526         * platform/graphics/ca/GraphicsLayerCA.cpp:
527         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
528         (WebCore::GraphicsLayerCA::updateContentsRects):
529         (WebCore::GraphicsLayerCA::updateReplicatedLayers):
530         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
531         (WebCore::GraphicsLayerCA::fetchCloneLayers): Deleted.
532         * platform/graphics/ca/PlatformCALayer.h:
533         * platform/graphics/ca/TileCoverageMap.cpp:
534         (WebCore::TileCoverageMap::TileCoverageMap):
535         * platform/graphics/ca/TileGrid.cpp:
536         (WebCore::TileGrid::ensureTilesForRect):
537         * platform/graphics/ca/mac/PlatformCALayerMac.h:
538         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
539         (PlatformCALayerMac::clone):
540         (PlatformCALayerMac::appendSublayer):
541         (PlatformCALayerMac::insertSublayer):
542         (PlatformCALayerMac::replaceSublayer):
543         (PlatformCALayerMac::adoptSublayers):
544         (PlatformCALayerMac::copyFiltersFrom):
545         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
546         (WebCore::CACFLayerTreeHost::setRootChildLayer):
547         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
548         (PlatformCALayerWin::clone):
549         (PlatformCALayerWin::rootLayer):
550         (PlatformCALayerWin::appendSublayer):
551         (PlatformCALayerWin::insertSublayer):
552         (PlatformCALayerWin::replaceSublayer):
553         (PlatformCALayerWin::adoptSublayers):
554         (PlatformCALayerWin::copyFiltersFrom):
555         * platform/graphics/ca/win/PlatformCALayerWin.h:
556         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
557         (PlatformCALayerWinInternal::insertSublayer):
558         * platform/graphics/ca/win/PlatformCALayerWinInternal.h:
559
560 2014-10-13  Chris Dumez  <cdumez@apple.com>
561
562         Use is<>() / downcast<>() for Filter / FilterOperation subclasses
563         https://bugs.webkit.org/show_bug.cgi?id=137644
564
565         Reviewed by Darin Adler.
566
567         Use is<>() / downcast<>() for Filter / FilterOperation subclasses.
568
569         No new tests, no behavior change.
570
571         * css/CSSComputedStyleDeclaration.cpp:
572         (WebCore::ComputedStyleExtractor::valueForFilter):
573         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
574         (PlatformCAFilters::filterValueForOperation):
575         (PlatformCAFilters::colorMatrixValueForFilter):
576         * platform/graphics/filters/Filter.h:
577         * platform/graphics/filters/FilterOperation.cpp:
578         (WebCore::DefaultFilterOperation::operator==):
579         (WebCore::ReferenceFilterOperation::operator==):
580         (WebCore::BasicColorMatrixFilterOperation::blend):
581         (WebCore::BasicColorMatrixFilterOperation::operator==):
582         (WebCore::BasicComponentTransferFilterOperation::blend):
583         (WebCore::BasicComponentTransferFilterOperation::operator==):
584         (WebCore::BlurFilterOperation::operator==):
585         (WebCore::BlurFilterOperation::blend):
586         (WebCore::DropShadowFilterOperation::operator==):
587         (WebCore::DropShadowFilterOperation::blend):
588         * platform/graphics/filters/FilterOperation.h:
589         * platform/graphics/filters/FilterOperations.cpp:
590         (WebCore::FilterOperations::outsets):
591         * rendering/FilterEffectRenderer.cpp:
592         (WebCore::FilterEffectRenderer::build):
593         * rendering/RenderLayerFilterInfo.cpp:
594         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
595         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
596         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
597         * svg/graphics/filters/SVGFilter.h:
598         (isType):
599
600 2014-10-13  Chris Dumez  <cdumez@apple.com>
601
602         Use is<>() / downcast<>() for Table render objects
603         https://bugs.webkit.org/show_bug.cgi?id=137641
604
605         Reviewed by Mihnea Ovidenie.
606
607         Use is<>() / downcast<>() for table-related render objects and clean
608         up the surrounding code.
609
610         No new tests, no behavior change.
611
612         * accessibility/AccessibilityARIAGrid.cpp:
613         (WebCore::AccessibilityARIAGrid::addChildren):
614         * accessibility/AccessibilityTable.cpp:
615         (WebCore::AccessibilityTable::tableElement):
616         (WebCore::AccessibilityTable::isDataTable):
617         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
618         (WebCore::AccessibilityTable::addChildren):
619         * accessibility/AccessibilityTableCell.cpp:
620         (WebCore::AccessibilityTableCell::parentTable):
621         (WebCore::AccessibilityTableCell::rowIndexRange):
622         (WebCore::AccessibilityTableCell::columnIndexRange):
623         (WebCore::AccessibilityTableCell::titleUIElement):
624         * accessibility/AccessibilityTableColumn.cpp:
625         (WebCore::AccessibilityTableColumn::headerObject):
626         * editing/DeleteSelectionCommand.cpp:
627         (WebCore::DeleteSelectionCommand::removeNode):
628         * editing/TextIterator.cpp:
629         (WebCore::shouldEmitTabBeforeNode):
630         (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
631         * html/HTMLTableCellElement.cpp:
632         (WebCore::HTMLTableCellElement::parseAttribute):
633         (WebCore::HTMLTableCellElement::cellAbove):
634         * html/HTMLTableColElement.cpp:
635         (WebCore::HTMLTableColElement::parseAttribute):
636         * mathml/MathMLElement.cpp:
637         (WebCore::MathMLElement::parseAttribute):
638         * rendering/AutoTableLayout.cpp:
639         (WebCore::AutoTableLayout::recalcColumn):
640         (WebCore::shouldScaleColumns):
641         * rendering/RenderBlockFlow.cpp:
642         (WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
643         * rendering/RenderBox.cpp:
644         (WebCore::RenderBox::computePercentageLogicalHeight):
645         (WebCore::RenderBox::layoutOverflowRectForPropagation):
646         * rendering/RenderElement.cpp:
647         (WebCore::RenderElement::addChild):
648         * rendering/RenderLayer.cpp:
649         (WebCore::RenderLayer::calculateClipRects):
650         * rendering/RenderTable.cpp:
651         (WebCore::RenderTable::addChild):
652         (WebCore::RenderTable::layout):
653         (WebCore::RenderTable::firstColumn):
654         (WebCore::RenderTable::recalcSections):
655         (WebCore::RenderTable::sectionAbove):
656         (WebCore::RenderTable::sectionBelow):
657         (WebCore::RenderTable::bottomSection):
658         * rendering/RenderTable.h:
659         * rendering/RenderTableCaption.cpp:
660         (WebCore::RenderTableCaption::table):
661         * rendering/RenderTableCell.h:
662         (WebCore::RenderTableCell::nextCell):
663         (WebCore::RenderTableCell::previousCell):
664         (WebCore::RenderTableRow::firstCell):
665         (WebCore::RenderTableRow::lastCell):
666         * rendering/RenderTableCol.cpp:
667         (WebCore::RenderTableCol::table):
668         (WebCore::RenderTableCol::enclosingColumnGroup):
669         (WebCore::RenderTableCol::nextColumn):
670         * rendering/RenderTableCol.h:
671         Make updateFromElement() public to allow the callers to use tighter
672         typing and devitualize the call as the class is final.
673
674         * rendering/RenderTableRow.cpp:
675         (WebCore::RenderTableRow::addChild):
676         * rendering/RenderTableRow.h:
677         (WebCore::RenderTableSection::firstRow):
678         (WebCore::RenderTableSection::lastRow):
679         (WebCore::RenderTableRow::nextRow):
680         (WebCore::RenderTableRow::previousRow):
681         * rendering/RenderTableSection.cpp:
682         (WebCore::RenderTableSection::addChild):
683         (WebCore::RenderTableSection::layoutRows):
684         (WebCore::RenderTableSection::paintCell):
685         * rendering/RenderTableSection.h:
686         * rendering/RenderTreeAsText.cpp:
687         (WebCore::writeTextRun):
688         (WebCore::writeSimpleLine):
689
690 2014-10-08  Jer Noble  <jer.noble@apple.com>
691
692         MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
693         https://bugs.webkit.org/show_bug.cgi?id=137533
694
695         Reviewed by Darin Adler.
696
697         When a new AVAsset is returned out of the AVStreamDataParser, notify the HTMLMediaElement that
698         characteristics of the player may have changed.
699
700         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
701         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
702         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::characteristicsChanged):
703         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
704         (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
705
706 2014-10-13  Jer Noble  <jer.noble@apple.com>
707
708         [iOS] Stop listening for wireless playback target availability when the default controls are hidden.
709         https://bugs.webkit.org/show_bug.cgi?id=137633
710
711         Reviewed by Dean Jackson.
712
713         In order to minimize the excess bandwidth and power consumption required for actively listening
714         for wireless playback target availablity, unregister for those notifications while the controls
715         are hidden due to playback, or when the element's document is hidden.
716
717         * Modules/mediacontrols/mediaControlsiOS.js:
718         (ControllerIOS.prototype.createBase): Register for document visiblity change notfications.
719         (ControllerIOS.prototype.setControlsType): Call updateShouldListenForPlaybackTargetAvailabilityEvent()
720             instead of setShouldListenForPlaybackTargetAvailabilityEvent()
721         (ControllerIOS.prototype.hideControls): Ditto.
722         (ControllerIOS.prototype.showControls): Ditto.
723         (ControllerIOS.prototype.updateStatusDisplay): Ditto.
724         (ControllerIOS.prototype.handleVisibilityChange): Ditto.
725         (ControllerIOS.prototype.updateShouldListenForPlaybackTargetAvailabilityEvent): Added. Only listen
726             for target availability when the video has no errors, is not in the initial "big play button"
727             controls state, and when the controls are not hidden.
728         * platform/audio/ios/MediaSessionManagerIOS.mm:
729         (-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Explicitly set the discoveryMode to "disabled"
730             rather than waiting for the autoreleasepool to destroy our routing controller.
731
732 2014-10-13  Simon Fraser  <simon.fraser@apple.com>
733
734         iOS DRT snapshots are limited to the page visible area
735         https://bugs.webkit.org/show_bug.cgi?id=137650
736
737         Reviewed by Daniel Bates.
738
739         LegacyTileCache drawing was limited to the window's visible area, found by
740         crawling up the layer hierarchy to the root layer. This caused test snapshots to
741         be missing non-composited content outside the iPhone visible area, which hinders
742         testing.
743         
744         Fix by adding a test-only mode where the window visible area is the entire window.
745
746         * platform/ios/wak/WAKWindow.h:
747         * platform/ios/wak/WAKWindow.mm:
748         (-[WAKWindow setEntireWindowVisibleForTesting:]):
749         (-[WAKWindow _visibleRectRespectingMasksToBounds:]):
750
751 2014-10-13  Mihnea Ovidenie  <mihnea@adobe.com>
752
753         [CSSRegions] Make RenderNamedFlowFragment::computeStyleInRegion const
754         https://bugs.webkit.org/show_bug.cgi?id=137604
755
756         Reviewed by Andrei Bucur.
757
758         The method computeStyleInRegion should be const as it does not modify
759         the state of the RenderNamedFlowFragment instance. Make pointers to
760         the region used for styling const along the way. No new tests as no
761         change in functionality.
762
763         * css/ElementRuleCollector.h:
764         (WebCore::ElementRuleCollector::ElementRuleCollector):
765         (WebCore::ElementRuleCollector::setRegionForStyling):
766         * css/StyleResolver.cpp:
767         (WebCore::StyleResolver::State::initForStyleResolve):
768         (WebCore::StyleResolver::styleForElement):
769         * css/StyleResolver.h:
770         * rendering/RenderNamedFlowFragment.cpp:
771         (WebCore::RenderNamedFlowFragment::computeStyleInRegion):
772         * rendering/RenderNamedFlowFragment.h:
773
774 2014-09-30  Sergio Villar Senin  <svillar@igalia.com>
775
776         [CSS Grid Layout] Pass the valid set of tracks to grow beyond growth limits
777         https://bugs.webkit.org/show_bug.cgi?id=137253
778
779         Reviewed by Darin Adler.
780
781         Section 10.4 of the specs describe how to resolve content based
782         track sizing functions. Among others it describes the "distribute
783         extra space" algorithm. The 3rd bullet of that algorithm specifies
784         how to distribute (and also the target tracks) the extra space
785         once all the tracks have reached their growth limits.
786
787         Our implementation had 2 problems. First we were not passing a
788         valid subset of tracks (instead we were always using all of
789         them). Now we use a function that filters the right tracks to be
790         the target of the extra space distribution depending on whether
791         we're computing the min track function or the max track function.
792
793         Secondly the algorithm that was distributing the extra space was
794         not using that list of passed in tracks (it iterated over all of
795         them). From now on it will use the set of tracks selected using
796         the filter function described above.
797
798         * rendering/RenderGrid.cpp:
799         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
800         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
801         (WebCore::RenderGrid::distributeSpaceToTracks):
802         * rendering/RenderGrid.h:
803         * rendering/style/GridTrackSize.h:
804         (WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth):
805         (WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth):
806
807 2014-10-12  Mike West  <mkwst@chromium.org>
808
809         Referrer Policy: Update <meta name="referrer"> values to match the spec
810         https://bugs.webkit.org/show_bug.cgi?id=137635
811
812         Reviewed by Jochen Eisinger.
813
814         The Referrer Policy specification ([Working Draft][WD], [Editor's
815         draft[ED]) defines different keywords than we originally
816         implemented. We should support them in the interests of clarity and
817         interoperability with other browsers implementing the specification.
818
819         [WD]: http://www.w3.org/TR/referrer-policy/#referrer-policy-delivery-meta
820         [ED]: http://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-delivery-meta
821
822         This patch is a port of Blink's https://codereview.chromium.org/607433002/
823
824         Tests: http/tests/security/referrer-policy-conflicting-policies.html
825                http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html
826                http/tests/security/referrer-policy-https-no-referrer.html
827                http/tests/security/referrer-policy-https-unsafe-url.html
828                http/tests/security/referrer-policy-no-referrer-when-downgrade.html
829                http/tests/security/referrer-policy-no-referrer.html
830
831         * dom/Document.cpp:
832         (WebCore::Document::processReferrerPolicy):
833
834 2014-10-12  Dhi Aurrahman  <diorahman@rockybars.com>
835
836         Support activation behavior of link element
837         https://bugs.webkit.org/show_bug.cgi?id=137597
838
839         Reviewed by Benjamin Poulain.
840
841         Support activation behavior of link elements as defined in [1],
842         i.e. to follow the hyperlink created by the link element when it is fully active.
843
844         [1] https://html.spec.whatwg.org/multipage/semantics.html#the-link-element
845
846         Tests: fast/dom/html-link-element-activation-behavior-on-element-click.html
847                fast/dom/html-link-element-activation-behavior-on-mouse-click.html
848                fast/dom/html-link-element-activation-behavior-url-is-null.html
849
850         * dom/MouseEvent.cpp:
851         (WebCore::MouseEvent::triggerActivationBehavior):
852         * dom/MouseEvent.h:
853         * html/HTMLAnchorElement.cpp:
854         (WebCore::HTMLAnchorElement::defaultEventHandler):
855         (WebCore::isLinkClick): Deleted.
856         * html/HTMLAnchorElement.h:
857         * html/HTMLLinkElement.cpp:
858         (WebCore::HTMLLinkElement::defaultEventHandler):
859         (WebCore::HTMLLinkElement::handleClick):
860         * html/HTMLLinkElement.h:
861         * svg/SVGAElement.cpp:
862         (WebCore::SVGAElement::defaultEventHandler):
863
864 2014-10-11  KwangHyuk Kim  <hyuki.kim@samsung.com>
865
866         [EFL] Enable WebP support.
867         https://bugs.webkit.org/show_bug.cgi?id=136156
868
869         Reviewed by Gyuyoung Kim.
870
871         Add WebP library and inlcude path to WebCore path for WK2 Efl.
872         No new tests since existing feature is just enabled for WK2 Efl.
873
874         * PlatformEfl.cmake:
875
876 2014-10-11  Carlos Garcia Campos  <cgarcia@igalia.com>
877
878         [GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource
879         https://bugs.webkit.org/show_bug.cgi?id=137485
880
881         Reviewed by Sergio Villar Senin.
882
883         Use GThreadSafeMainLoopSource for GStreamer sources, since they
884         can be used from different threads. Also update GMutexLocker
885         usages, since it's now a template.
886
887         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
888         (WebCore::AudioFileReader::createBus):
889         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
890         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
891         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
892         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
893         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
894         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
895         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
896         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
897         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
898         (webkitVideoSinkTimeoutCallback):
899         (webkitVideoSinkRender):
900         (unlockBufferMutex):
901         (webkitVideoSinkUnlockStop):
902         (webkitVideoSinkStart):
903         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
904         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
905         (webKitWebSrcGetProperty):
906         (webKitWebSrcStop):
907         (webKitWebSrcStart):
908         (webKitWebSrcChangeState):
909         (webKitWebSrcQueryWithParent):
910         (webKitWebSrcGetUri):
911         (webKitWebSrcSetUri):
912         (webKitWebSrcNeedDataMainCb):
913         (webKitWebSrcNeedDataCb):
914         (webKitWebSrcEnoughDataMainCb):
915         (webKitWebSrcEnoughDataCb):
916         (webKitWebSrcSeekDataCb):
917         (webKitWebSrcSetMediaPlayer):
918         (StreamingClient::createReadBuffer):
919         (StreamingClient::handleResponseReceived):
920         (StreamingClient::handleDataReceived):
921         (StreamingClient::handleNotifyFinished):
922         (ResourceHandleStreamingClient::wasBlocked):
923         (ResourceHandleStreamingClient::cannotShowURL):
924
925 2014-10-10  Chris Dumez  <cdumez@apple.com>
926
927         Use is<>() / downcast<>() for Image subclasses
928         https://bugs.webkit.org/show_bug.cgi?id=137625
929
930         Reviewed by Andreas Kling.
931
932         Use is<>() / downcast<>() for Image subclasses.
933
934         No new tests, no behavior change.
935
936         * accessibility/AccessibilityRenderObject.cpp:
937         (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
938         * loader/cache/CachedImage.cpp:
939         (WebCore::CachedImage::imageSizeForRenderer):
940         (WebCore::CachedImage::createImage):
941         * platform/graphics/BitmapImage.h:
942         * platform/graphics/Image.h:
943         * platform/mac/DragImageMac.mm:
944         (WebCore::createDragImageFromImage):
945         * rendering/RenderImage.cpp:
946         (WebCore::RenderImage::embeddedContentBox):
947         * svg/graphics/SVGImage.h:
948
949 2014-10-10  Chris Dumez  <cdumez@apple.com>
950
951         Use is<>() / downcast<>() for RenderElement
952         https://bugs.webkit.org/show_bug.cgi?id=137622
953
954         Reviewed by Benjamin Poulain.
955
956         Use is<>() / downcast<>() for RenderElement and clean up the
957         surrounding code.
958
959         No new tests, no behavior change.
960
961         * accessibility/AccessibilityImageMapLink.cpp:
962         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
963         * accessibility/AccessibilityRenderObject.cpp:
964         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
965         * css/CSSComputedStyleDeclaration.cpp:
966         (WebCore::computeRenderStyleForProperty):
967         * dom/Node.cpp:
968         (WebCore::Node::materializeRareData):
969         * dom/Position.cpp:
970         (WebCore::isNonTextLeafChild):
971         (WebCore::searchAheadForBetterMatch):
972         * dom/PseudoElement.cpp:
973         (WebCore::PseudoElement::didRecalcStyle):
974         * editing/CompositeEditCommand.cpp:
975         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
976         * editing/htmlediting.cpp:
977         (WebCore::isEmptyTableCell):
978         * rendering/InlineIterator.h:
979         (WebCore::bidiNextShared):
980         * rendering/RenderBlock.cpp:
981         (WebCore::RenderBlock::getFirstLetter):
982         * rendering/RenderBox.cpp:
983         (WebCore::RenderBox::layout):
984         * rendering/RenderCounter.cpp:
985         (WebCore::RenderCounter::rendererRemovedFromTree):
986         (WebCore::RenderCounter::rendererSubtreeAttached):
987         (showCounterRendererTree):
988         * rendering/RenderElement.cpp:
989         (WebCore::RenderElement::insertChildInternal):
990         (WebCore::RenderElement::removeChildInternal):
991         (WebCore::RenderElement::findNextLayer):
992         (WebCore::RenderElement::layout):
993         * rendering/RenderElement.h:
994         (WebCore::RenderObject::isRenderLayerModelObject):
995         (WebCore::RenderObject::isBoxModelObject):
996         (WebCore::RenderObject::isRenderBlock):
997         (WebCore::RenderObject::isRenderBlockFlow):
998         (WebCore::RenderObject::isRenderReplaced):
999         (WebCore::RenderObject::isRenderInline):
1000         (WebCore::RenderObject::style):
1001         (WebCore::RenderObject::firstLineStyle):
1002         (WebCore::ContainerNode::renderer):
1003         * rendering/RenderFrameSet.cpp:
1004         (WebCore::RenderFrameSet::paint):
1005         * rendering/RenderLayer.cpp:
1006         (WebCore::RenderLayer::calculateClipRects):
1007         * rendering/RenderNamedFlowFragment.cpp:
1008         (WebCore::RenderNamedFlowFragment::computeChildrenStyleInRegion):
1009         (WebCore::RenderNamedFlowFragment::setObjectStyleInRegion):
1010         (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
1011         * rendering/RenderObject.cpp:
1012         (WebCore::RenderObject::clearNeedsLayout):
1013         (WebCore::RenderObject::willBeDestroyed):
1014         (WebCore::RenderObject::collectAnnotatedRegions):
1015         * rendering/RenderVTTCue.cpp:
1016         (WebCore::RenderVTTCue::initializeLayoutParameters):
1017         (WebCore::RenderVTTCue::repositionGenericCue):
1018         * rendering/mathml/RenderMathMLFraction.cpp:
1019         (WebCore::RenderMathMLFraction::addChild):
1020         * rendering/mathml/RenderMathMLMenclose.cpp:
1021         (WebCore::RenderMathMLMenclose::addChild):
1022         * rendering/mathml/RenderMathMLOperator.cpp:
1023         (WebCore::RenderMathMLOperator::rebuildTokenContent):
1024         (WebCore::RenderMathMLOperator::updateStyle):
1025         * rendering/mathml/RenderMathMLRoot.cpp:
1026         (WebCore::RenderMathMLRoot::addChild):
1027         (WebCore::RenderMathMLRoot::layout):
1028         * rendering/mathml/RenderMathMLToken.cpp:
1029         (WebCore::RenderMathMLToken::addChild):
1030         (WebCore::RenderMathMLToken::updateTokenContent):
1031         (WebCore::RenderMathMLToken::updateStyle):
1032         * rendering/mathml/RenderMathMLUnderOver.cpp:
1033         (WebCore::RenderMathMLUnderOver::layout):
1034         * rendering/svg/RenderSVGResource.cpp:
1035         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
1036         * rendering/svg/RenderSVGText.cpp:
1037         (WebCore::findPreviousAndNextAttributes):
1038         (WebCore::RenderSVGText::subtreeStyleDidChange):
1039         (WebCore::updateFontInAllDescendants):
1040         * rendering/svg/SVGRenderSupport.cpp:
1041         (WebCore::SVGRenderSupport::layoutChildren):
1042         * rendering/svg/SVGResourcesCache.cpp:
1043         (WebCore::SVGResourcesCache::clientWasAddedToTree):
1044         (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
1045         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1046         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
1047         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
1048         (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
1049         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1050         * rendering/svg/SVGTextMetricsBuilder.cpp:
1051         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
1052         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
1053         (WebCore::SVGTextMetricsBuilder::walkTree):
1054         (WebCore::SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes):
1055         * rendering/svg/SVGTextMetricsBuilder.h:
1056         * rendering/svg/SVGTextRunRenderingContext.cpp:
1057         (WebCore::SVGTextRunRenderingContext::createGlyphToPathTranslator):
1058         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
1059         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
1060         * svg/SVGFontData.cpp:
1061         (WebCore::SVGFontData::applySVGGlyphSelection):
1062
1063 2014-10-10  Benjamin Poulain  <benjamin@webkit.org>
1064
1065         Update :nth-child(An+B of selector-list) to the latest specification
1066         https://bugs.webkit.org/show_bug.cgi?id=137593
1067
1068         Reviewed by Andreas Kling.
1069
1070         Following my implementation feedback on :nth-child(An+B of selector-list),
1071         the CSS WG decided to change the definition such that the current element on which
1072         the selector is matched must also match the selector list in :nth-child().
1073
1074         This patch updates the implementation accordingly.
1075
1076         Test: fast/selectors/nth-child-of-chained-3.html
1077
1078         * css/SelectorChecker.cpp:
1079         (WebCore::SelectorChecker::checkOne):
1080         (WebCore::SelectorChecker::matchSelectorList):
1081         * css/SelectorChecker.h:
1082         * cssjit/SelectorCompiler.cpp:
1083         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
1084         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf):
1085
1086 2014-10-10  Chris Dumez  <cdumez@apple.com>
1087
1088         Drop RENDER_OBJECT_TYPE_CASTS() for a lot of RenderObject subclasses
1089         https://bugs.webkit.org/show_bug.cgi?id=137594
1090
1091         Reviewed by Darin Adler.
1092
1093         Drop RENDER_OBJECT_TYPE_CASTS() for RenderObject subclasses that no
1094         longer needed it or that required very few changes to do so. This will
1095         make sure developers start using is<>() / downcast<>() for those
1096         classes.
1097
1098         No new tests, no behavior change.
1099
1100         * accessibility/AccessibilityRenderObject.cpp:
1101         (WebCore::AccessibilityRenderObject::textUnderElement):
1102         (WebCore::AccessibilityRenderObject::stringValue):
1103         (WebCore::AccessibilityRenderObject::titleUIElement):
1104         * dom/PseudoElement.cpp:
1105         (WebCore::PseudoElement::didAttachRenderers):
1106         * html/HTMLCanvasElement.cpp:
1107         (WebCore::HTMLCanvasElement::reset):
1108         * html/HTMLPlugInElement.cpp:
1109         (WebCore::HTMLPlugInElement::defaultEventHandler):
1110         * html/HTMLPlugInImageElement.cpp:
1111         (WebCore::HTMLPlugInImageElement::updateSnapshot):
1112         (WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
1113         * html/SearchInputType.cpp:
1114         (WebCore::SearchInputType::addSearchResult):
1115         (WebCore::SearchInputType::didSetValueByUserEdit):
1116         * html/shadow/TextControlInnerElements.cpp:
1117         (WebCore::TextControlInnerTextElement::renderer):
1118         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
1119         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
1120         * page/FrameView.cpp:
1121         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
1122         * rendering/RenderButton.h:
1123         * rendering/RenderCounter.h:
1124         * rendering/RenderDetailsMarker.h:
1125         * rendering/RenderFieldset.h:
1126         * rendering/RenderFileUploadControl.cpp:
1127         (WebCore::RenderFileUploadControl::paintObject):
1128         * rendering/RenderFileUploadControl.h:
1129         * rendering/RenderFlexibleBox.h:
1130         * rendering/RenderFullScreen.h:
1131         * rendering/RenderGrid.h:
1132         * rendering/RenderHTMLCanvas.h:
1133         * rendering/RenderIFrame.h:
1134         * rendering/RenderLayerBacking.cpp:
1135         (WebCore::RenderLayerBacking::contentsBox):
1136         * rendering/RenderMedia.h:
1137         * rendering/RenderQuote.cpp:
1138         (WebCore::RenderQuote::attachQuote):
1139         * rendering/RenderQuote.h:
1140         * rendering/RenderReplaced.h:
1141         * rendering/RenderScrollbarPart.h:
1142         * rendering/RenderSearchField.h:
1143         * rendering/RenderSnapshottedPlugIn.h:
1144         * rendering/RenderTableCaption.h:
1145         * rendering/RenderTextControlMultiLine.h:
1146         * rendering/RenderTextControlSingleLine.h:
1147         * rendering/RenderThemeMac.mm:
1148         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
1149         * rendering/RenderTreeAsText.cpp:
1150         (WebCore::RenderTreeAsText::writeRenderObject):
1151         * rendering/RenderVideo.cpp:
1152         (WebCore::rendererPlaceholder):
1153         * rendering/line/BreakingContextInlineHeaders.h:
1154         (WebCore::updateCounterIfNeeded):
1155         * rendering/svg/RenderSVGContainer.h:
1156         * rendering/svg/RenderSVGGradientStop.h:
1157         * rendering/svg/RenderSVGModelObject.h:
1158         * rendering/svg/RenderSVGPath.h:
1159         * rendering/svg/RenderSVGResourceFilter.h:
1160         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1161         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
1162         * rendering/svg/RenderSVGTextPath.h:
1163         * rendering/svg/RenderSVGTransformableContainer.h:
1164         * rendering/svg/RenderSVGViewportContainer.h:
1165         * rendering/svg/SVGRenderSupport.cpp:
1166         (WebCore::SVGRenderSupport::repaintRectForRendererInLocalCoordinatesExcludingSVGShadow):
1167         (WebCore::SVGRenderSupport::checkForSVGRepaintDuringLayout):
1168         (WebCore::updateObjectBoundingBox):
1169         (WebCore::layoutSizeOfNearestViewportChanged):
1170         (WebCore::SVGRenderSupport::transformToRootChanged):
1171         (WebCore::SVGRenderSupport::rendererHasSVGShadow):
1172         (WebCore::SVGRenderSupport::setRendererHasSVGShadow):
1173         * rendering/svg/SVGTextLayoutEngine.cpp:
1174         (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
1175         * svg/SVGPathElement.cpp:
1176         (WebCore::SVGPathElement::svgAttributeChanged):
1177         (WebCore::SVGPathElement::pathSegListChanged):
1178         (WebCore::SVGPathElement::getBBox):
1179         * svg/SVGSVGElement.cpp:
1180         (WebCore::SVGSVGElement::currentViewportSize):
1181
1182 2014-10-10  Chris Dumez  <cdumez@apple.com>
1183
1184         Use is<>() / downcast<>() for GraphicsLayer subclasses
1185         https://bugs.webkit.org/show_bug.cgi?id=137595
1186
1187         Reviewed by Darin Adler.
1188
1189         Use is<>() / downcast<>() for GraphicsLayer subclasses and clean up the
1190         surrounding code.
1191
1192         No new tests, no behavior change.
1193
1194         * page/mac/ServicesOverlayController.mm:
1195         (WebCore::ServicesOverlayController::Highlight::Highlight):
1196         (WebCore::ServicesOverlayController::Highlight::fadeIn):
1197         (WebCore::ServicesOverlayController::Highlight::fadeOut):
1198         * platform/graphics/GraphicsLayer.h:
1199         * platform/graphics/ca/GraphicsLayerCA.cpp:
1200         (WebCore::GraphicsLayerCA::removeFromParent):
1201         (WebCore::GraphicsLayerCA::setMaskLayer):
1202         (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
1203         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1204         (WebCore::GraphicsLayerCA::updateSublayerList):
1205         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
1206         (WebCore::GraphicsLayerCA::updateMaskLayer):
1207         (WebCore::GraphicsLayerCA::replicatedLayerRoot):
1208         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1209         (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas):
1210         (WebCore::GraphicsLayerCA::fetchCloneLayers):
1211         * platform/graphics/ca/GraphicsLayerCA.h:
1212
1213 2014-10-10  Chris Dumez  <cdumez@apple.com>
1214
1215         Use is<>() / downcast<>() for RenderBoxModelObject
1216         https://bugs.webkit.org/show_bug.cgi?id=137587
1217
1218         Reviewed by Mihnea Ovidenie.
1219
1220         Use is<>() / downcast<>() for RenderBoxModelObject and clean up the
1221         surrounding code.
1222
1223         No new tests, no behavior change.
1224
1225         * accessibility/AXObjectCache.cpp:
1226         (WebCore::createFromRenderer):
1227         * accessibility/AccessibilityRenderObject.cpp:
1228         (WebCore::AccessibilityRenderObject::renderBoxModelObject):
1229         (WebCore::isInlineWithContinuation):
1230         (WebCore::firstChildConsideringContinuation):
1231         (WebCore::lastChildHasContinuation):
1232         (WebCore::AccessibilityRenderObject::nextSibling):
1233         (WebCore::AccessibilityRenderObject::widget):
1234         (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
1235         (WebCore::AccessibilityRenderObject::observableObject):
1236         (WebCore::msaaRoleForRenderer):
1237         * accessibility/AccessibilityRenderObject.h:
1238         * accessibility/AccessibilityTable.cpp:
1239         (WebCore::AccessibilityTable::isDataTable):
1240         * dom/Node.cpp:
1241         (WebCore::Node::renderBox):
1242         (WebCore::Node::renderBoxModelObject):
1243         * inspector/InspectorOverlay.cpp:
1244         (WebCore::buildObjectForElementInfo):
1245         * page/FrameView.cpp:
1246         (WebCore::FrameView::scrollContentsFastPath):
1247         * page/PrintContext.cpp:
1248         (WebCore::enclosingBoxModelObject):
1249         * page/animation/AnimationBase.cpp:
1250         (WebCore::AnimationBase::freezeAtTime):
1251         * page/animation/ImplicitAnimation.cpp:
1252         (WebCore::ImplicitAnimation::startAnimation):
1253         (WebCore::ImplicitAnimation::pauseAnimation):
1254         (WebCore::ImplicitAnimation::endAnimation):
1255         * page/animation/KeyframeAnimation.cpp:
1256         (WebCore::KeyframeAnimation::startAnimation):
1257         (WebCore::KeyframeAnimation::pauseAnimation):
1258         (WebCore::KeyframeAnimation::endAnimation):
1259         * page/ios/FrameIOS.mm:
1260         (WebCore::Frame::overflowScrollPositionChangedForNode):
1261         * page/scrolling/ScrollingCoordinator.cpp:
1262         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
1263         * rendering/InlineBox.h:
1264         (WebCore::InlineBox::boxModelObject):
1265         * rendering/InlineElementBox.h:
1266         (WebCore::InlineElementBox::renderer):
1267         * rendering/InlineFlowBox.cpp:
1268         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1269         * rendering/InlineFlowBox.h:
1270         (WebCore::InlineFlowBox::renderer):
1271         * rendering/InlineTextBox.cpp:
1272         (WebCore::InlineTextBox::baselinePosition):
1273         (WebCore::InlineTextBox::lineHeight):
1274         * rendering/RenderBlock.cpp:
1275         (WebCore::RenderBlock::addChildToContinuation):
1276         * rendering/RenderBox.cpp:
1277         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1278         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1279         (WebCore::RenderBox::computePositionedLogicalWidth):
1280         (WebCore::RenderBox::computePositionedLogicalHeight):
1281         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1282         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1283         * rendering/RenderBoxModelObject.h:
1284         * rendering/RenderFlowThread.cpp:
1285         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
1286         * rendering/RenderInline.cpp:
1287         (WebCore::RenderInline::splitInlines):
1288         (WebCore::RenderInline::addChildToContinuation):
1289         * rendering/RenderLayer.cpp:
1290         (WebCore::RenderLayer::updateLayerPosition):
1291         (WebCore::RenderLayer::calculateClipRects):
1292         * rendering/RenderLayerBacking.cpp:
1293         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
1294         * rendering/RenderLayerCompositor.cpp:
1295         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
1296         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
1297         * rendering/RenderObject.cpp:
1298         (WebCore::RenderObject::destroy):
1299         (WebCore::RenderObject::offsetParent):
1300         * rendering/mathml/RenderMathMLScripts.cpp:
1301         (WebCore::RenderMathMLScripts::base):
1302
1303 2014-10-10  Zan Dobersek  <zdobersek@igalia.com>
1304
1305         Remove CrossThreadTask
1306         https://bugs.webkit.org/show_bug.cgi?id=137570
1307
1308         Reviewed by Darin Adler.
1309
1310         Replace uses of CrossThreadTask with C++11 lambdas. The initializations
1311         of cross-thread copies are rather verbose at the moment, but should look
1312         better once we can switch to using C++14 init capture for lambdas.
1313
1314         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
1315         (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
1316         * WebCore.order:
1317         * WebCore.vcxproj/WebCore.vcxproj:
1318         * WebCore.vcxproj/WebCore.vcxproj.filters:
1319         * WebCore.xcodeproj/project.pbxproj:
1320         * dom/CrossThreadTask.h: Removed.
1321         * loader/WorkerThreadableLoader.cpp:
1322         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1323         (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
1324         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
1325         (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
1326         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
1327         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
1328         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1329         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
1330         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
1331         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
1332         (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge): Deleted.
1333         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Deleted.
1334         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy): Deleted.
1335         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel): Deleted.
1336         (WebCore::workerGlobalScopeDidSendData): Deleted.
1337         (WebCore::workerGlobalScopeDidReceiveResponse): Deleted.
1338         (WebCore::workerGlobalScopeDidReceiveData): Deleted.
1339         (WebCore::workerGlobalScopeDidFinishLoading): Deleted.
1340         (WebCore::workerGlobalScopeDidFail): Deleted.
1341         (WebCore::workerGlobalScopeDidFailAccessControlCheck): Deleted.
1342         (WebCore::workerGlobalScopeDidFailRedirectCheck): Deleted.
1343         * loader/WorkerThreadableLoader.h:
1344         * loader/cache/MemoryCache.cpp:
1345         (WebCore::MemoryCache::removeRequestFromCache):
1346         (WebCore::MemoryCache::removeRequestFromSessionCaches):
1347         (WebCore::MemoryCache::removeRequestFromCacheImpl): Deleted.
1348         (WebCore::MemoryCache::removeRequestFromSessionCachesImpl): Deleted.
1349         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Deleted.
1350         (WebCore::MemoryCache::crossThreadRemoveRequestFromSessionCaches): Deleted.
1351         * loader/cache/MemoryCache.h:
1352
1353 2014-10-10  Zan Dobersek  <zdobersek@igalia.com>
1354
1355         Avoid defaulting to capture-by-value for C++11 lambdas in WebCore
1356         https://bugs.webkit.org/show_bug.cgi?id=137565
1357
1358         Reviewed by Darin Adler.
1359
1360         C++11 lambas should avoid defaulting to capturing used variables by value as that
1361         can lead to unintended captures that, in worst cases, result in lambdas that are
1362         not self-contained and end up operating on dangling pointers.
1363
1364         Explicitly stating the variables that are to be copied by value can also serve as
1365         a checklist of variables that are actually intented for use in the lambda body. 
1366
1367         * Modules/quota/StorageErrorCallback.cpp:
1368         (WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
1369         * Modules/webdatabase/Database.cpp:
1370         (WebCore::Database::~Database):
1371         (WebCore::Database::runTransaction):
1372         (WebCore::Database::scheduleTransactionCallback):
1373         * Modules/webdatabase/DatabaseManager.cpp:
1374         (WebCore::DatabaseManager::openDatabase):
1375         * Modules/webdatabase/SQLCallbackWrapper.h:
1376         (WebCore::SQLCallbackWrapper::clear):
1377         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1378         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
1379         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
1380         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
1381         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
1382         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
1383         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1384         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
1385         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
1386         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
1387         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
1388         (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
1389         (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
1390         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
1391         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
1392         (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
1393         (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
1394         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
1395         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
1396         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
1397         (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
1398         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
1399         (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
1400         (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
1401         (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
1402         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
1403         (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
1404         (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
1405         * bindings/js/JSCallbackData.h:
1406         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
1407         * bindings/js/JSDOMGlobalObjectTask.cpp:
1408         (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
1409         * dom/ScriptExecutionContext.h:
1410         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
1411         * dom/StringCallback.cpp:
1412         (WebCore::StringCallback::scheduleCallback):
1413         * fileapi/FileReader.cpp:
1414         (WebCore::FileReader::abort):
1415         * loader/appcache/ApplicationCacheGroup.cpp:
1416         (WebCore::ApplicationCacheGroup::postListenerTask):
1417         * workers/DefaultSharedWorkerRepository.cpp:
1418         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
1419         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
1420         (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
1421         * workers/WorkerEventQueue.cpp:
1422         (WebCore::WorkerEventQueue::enqueueEvent):
1423         * workers/WorkerMessagingProxy.cpp:
1424         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1425         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
1426         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
1427         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1428         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
1429         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
1430         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
1431         (WebCore::WorkerMessagingProxy::reportPendingActivity):
1432
1433 2014-10-10  Zan Dobersek  <zdobersek@igalia.com>
1434
1435         Remove MainThreadTask
1436         https://bugs.webkit.org/show_bug.cgi?id=137563
1437
1438         Reviewed by Darin Adler.
1439
1440         Replace the remaining uses of MainThreadTask with C++11 lambdas.
1441         Remove the MainThreadTask header from the build.
1442
1443         * WebCore.order:
1444         * WebCore.vcxproj/WebCore.vcxproj:
1445         * WebCore.vcxproj/WebCore.vcxproj.filters:
1446         * WebCore.xcodeproj/project.pbxproj:
1447         * platform/MainThreadTask.h: Removed.
1448         * platform/network/curl/CurlDownload.cpp:
1449         (WebCore::CurlDownloadManager::downloadThread):
1450         (WebCore::CurlDownload::didReceiveHeader):
1451         (WebCore::CurlDownload::didReceiveData):
1452
1453 2014-10-10  Andrzej Badowski  <a.badowski@samsung.com>
1454
1455         [ATK] Changing the mapping of ARIA rowheader and columnheader into respective ATK roles.
1456         https://bugs.webkit.org/show_bug.cgi?id=136150
1457
1458         Reviewed by Chris Fleizach.
1459
1460         Expose ColumnHeaderRole and RowHeaderRole objects into ATK.
1461
1462         Test: accessibility/table-roles-hierarchy.html
1463
1464         * accessibility/AccessibilityRenderObject.cpp:
1465         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1466         Platforms based on ATK: added distinction of roles for the <th> elements.
1467         * accessibility/AccessibilityTableCell.cpp:
1468         (WebCore::AccessibilityTableCell::determineAccessibilityRole):
1469         Platforms based on ATK: the return value is determined in the ancestor.
1470         * accessibility/atk/AccessibilityObjectAtk.cpp:
1471         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1472         In addition to CellRole also included ColumnHeaderRole and RowHeaderRole.
1473         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1474         (atkRole):
1475         Changing the mapping of ARIA rowheader and columnheader into respective ATK roles.
1476         (getInterfaceMaskFromObject):
1477         In addition to CellRole also included ColumnHeaderRole and RowHeaderRole.
1478
1479 2014-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1480
1481         MediaPlayer should use a reference for the MediaPlayerClient
1482         https://bugs.webkit.org/show_bug.cgi?id=137552
1483
1484         Reviewed by Darin Adler.
1485
1486         The MediaPlayer client is set on constructor by HTMLMediaElement
1487         and cleared on HTMLMediaElement destructor that also frees the
1488         MediaPlayer object. Since the client will never be null while the
1489         MediaPlayer player is alive, we can use a reference and remove all
1490         the unneeded null checks. The member has also been renamed to m_client.
1491
1492         * html/HTMLMediaElement.cpp:
1493         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1494         (WebCore::HTMLMediaElement::parseAttribute):
1495         * platform/graphics/MediaPlayer.cpp:
1496         (WebCore::MediaPlayer::MediaPlayer):
1497         (WebCore::MediaPlayer::~MediaPlayer):
1498         (WebCore::MediaPlayer::loadWithNextMediaEngine):
1499         (WebCore::MediaPlayer::inMediaDocument):
1500         (WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
1501         (WebCore::MediaPlayer::networkStateChanged):
1502         (WebCore::MediaPlayer::readyStateChanged):
1503         (WebCore::MediaPlayer::volumeChanged):
1504         (WebCore::MediaPlayer::muteChanged):
1505         (WebCore::MediaPlayer::timeChanged):
1506         (WebCore::MediaPlayer::sizeChanged):
1507         (WebCore::MediaPlayer::repaint):
1508         (WebCore::MediaPlayer::durationChanged):
1509         (WebCore::MediaPlayer::rateChanged):
1510         (WebCore::MediaPlayer::playbackStateChanged):
1511         (WebCore::MediaPlayer::firstVideoFrameAvailable):
1512         (WebCore::MediaPlayer::characteristicChanged):
1513         (WebCore::MediaPlayer::keyAdded):
1514         (WebCore::MediaPlayer::keyError):
1515         (WebCore::MediaPlayer::keyMessage):
1516         (WebCore::MediaPlayer::keyNeeded):
1517         (WebCore::MediaPlayer::referrer):
1518         (WebCore::MediaPlayer::userAgent):
1519         (WebCore::MediaPlayer::graphicsDeviceAdapter):
1520         (WebCore::MediaPlayer::cachedResourceLoader):
1521         (WebCore::MediaPlayer::addAudioTrack):
1522         (WebCore::MediaPlayer::removeAudioTrack):
1523         (WebCore::MediaPlayer::addTextTrack):
1524         (WebCore::MediaPlayer::removeTextTrack):
1525         (WebCore::MediaPlayer::addVideoTrack):
1526         (WebCore::MediaPlayer::removeVideoTrack):
1527         (WebCore::MediaPlayer::outOfBandTrackSources):
1528         (WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
1529         (WebCore::MediaPlayer::handlePlaybackCommand):
1530         (WebCore::MediaPlayer::sourceApplicationIdentifier):
1531         (WebCore::MediaPlayer::doesHaveAttribute):
1532         (WebCore::MediaPlayer::mediaPlayerNetworkInterfaceName):
1533         (WebCore::MediaPlayer::getRawCookies):
1534         (WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled): Deleted.
1535         (WebCore::MediaPlayer::audioSourceProvider): Deleted.
1536         (WebCore::MediaPlayer::engineDescription): Deleted.
1537         (WebCore::MediaPlayer::notifyTrackModeChanged): Deleted.
1538         (WebCore::MediaPlayer::totalFrameDelay): Deleted.
1539         (WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine): Deleted.
1540         * platform/graphics/MediaPlayer.h:
1541         (WebCore::MediaPlayer::create):
1542         (WebCore::MediaPlayer::platformVolumeConfigurationRequired):
1543         (WebCore::MediaPlayer::client):
1544         (WebCore::MediaPlayer::mediaPlayerClient): Deleted.
1545         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1546         (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
1547         (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
1548         (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering):
1549         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1550         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
1551         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
1552         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
1553         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1554         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
1555         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
1556         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
1557         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
1558         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):
1559         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1560         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
1561         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
1562         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps):
1563         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
1564         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
1565         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1566         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
1567         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1568         (webKitWebSrcStart):
1569         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1570         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
1571         (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
1572         (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
1573         (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
1574
1575 2014-10-09  Mihnea Ovidenie  <mihnea@adobe.com>
1576
1577         [CSSRegions] Make RenderFlowThread::regionAtBlockOffset const
1578         https://bugs.webkit.org/show_bug.cgi?id=137555
1579
1580         Reviewed by David Hyatt.
1581
1582         Make the method const and remove autoGenerateRegionsToBlockOffset method as it
1583         is not used by region-based multicolumn code. Also removed the RegionAutoGenerationPolicy
1584         parameter in the process and the call sites. Make const some of the methods that call
1585         regionAtBlockOffset.
1586
1587         * rendering/RenderFlowThread.cpp:
1588         (WebCore::RenderFlowThread::regionForCompositedLayer):
1589         (WebCore::RenderFlowThread::regionAtBlockOffset):
1590         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
1591         (WebCore::RenderFlowThread::pageLogicalTopForOffset):
1592         (WebCore::RenderFlowThread::pageLogicalWidthForOffset):
1593         (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
1594         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
1595         (WebCore::RenderFlowThread::mapFromFlowToRegion):
1596         (WebCore::RenderFlowThread::computedRegionRangeForBox):
1597         * rendering/RenderFlowThread.h:
1598         * rendering/RenderMultiColumnFlowThread.cpp:
1599         (WebCore::RenderMultiColumnFlowThread::regionAtBlockOffset):
1600         (WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
1601         (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion):
1602         (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset): Deleted.
1603         * rendering/RenderMultiColumnFlowThread.h:
1604
1605 2014-10-09  Chris Dumez  <cdumez@apple.com>
1606
1607         Use is<>() / downcast<>() for FontData subclasses
1608         https://bugs.webkit.org/show_bug.cgi?id=137591
1609
1610         Reviewed by Andreas Kling.
1611
1612         Use is<>() / downcast<>() for FontData subclasses.
1613
1614         No new tests, no behavior change.
1615
1616         * platform/graphics/FontData.h:
1617         * platform/graphics/FontGlyphs.cpp:
1618         (WebCore::FontGlyphs::releaseFontData):
1619         (WebCore::FontGlyphs::determinePitch):
1620         * platform/graphics/GlyphPageTreeNode.cpp:
1621         (WebCore::GlyphPageTreeNode::initializePage):
1622         * platform/graphics/SegmentedFontData.h:
1623         (isType):
1624         * platform/graphics/SimpleFontData.h:
1625         (isType):
1626
1627 2014-10-09  Simon Fraser  <simon.fraser@apple.com>
1628
1629         Revert part of r174543 that broke grid layout tests.
1630
1631         * css/CSSComputedStyleDeclaration.cpp:
1632         (WebCore::specifiedValueForGridTrackBreadth):
1633
1634 2014-10-09  Dean Jackson  <dino@apple.com>
1635
1636         Computed style for clip is wrong with respect to auto
1637         https://bugs.webkit.org/show_bug.cgi?id=137567
1638
1639         Reviewed by Simon Fraser.
1640
1641         Make sure that the computed style of clip returns the
1642         correct value when the input is "auto", or in this
1643         case "rect(auto, auto, auto, auto)". Before this
1644         patch it returned "rect(0px, 0px, 0px, 0px)" which
1645         was completely wrong.
1646
1647         Test: fast/css/computed-clip-with-auto-rect.html
1648
1649         * css/CSSComputedStyleDeclaration.cpp:
1650         (WebCore::autoOrZoomAdjustedValue): Helper function to make the correct keyword or length.
1651         (WebCore::specifiedValueForGridTrackBreadth): It can use the helper too.
1652         (WebCore::ComputedStyleExtractor::propertyValue): If the
1653         top/right/bottom/left is "auto", add that identifier
1654         to the output rectangle.
1655
1656 2014-10-09  Chris Dumez  <cdumez@apple.com>
1657
1658         Use RenderObject::firstChildSlow() / lastChildSlow() less
1659         https://bugs.webkit.org/show_bug.cgi?id=137573
1660
1661         Reviewed by Andreas Kling.
1662
1663         Use RenderObject::firstChildSlow() / lastChildSlow() less by using
1664         tighter typing at call sites whenever possible to be able to call the
1665         faster RenderElement::firstChild() / lastChild() instead.
1666
1667         This patch also uses more references instead of pointers when possible.
1668
1669         No new tests, no behavior change.
1670
1671         * accessibility/AccessibilityRenderObject.cpp:
1672         (WebCore::firstChildIsInlineContinuation):
1673         (WebCore::AccessibilityRenderObject::previousSibling):
1674         (WebCore::lastChildHasContinuation):
1675         (WebCore::AccessibilityRenderObject::nextSibling):
1676         * page/FrameView.cpp:
1677         (WebCore::countRenderedCharactersInRenderObjectWithThreshold):
1678         (WebCore::FrameView::renderedCharactersExceed):
1679         * rendering/RenderElement.h:
1680         * rendering/RenderRuby.cpp:
1681         (WebCore::isAnonymousRubyInlineBlock):
1682         (WebCore::isRubyBeforeBlock):
1683         (WebCore::isRubyAfterBlock):
1684         * rendering/svg/RenderSVGInline.h:
1685         * rendering/svg/RenderSVGText.cpp:
1686         (WebCore::RenderSVGText::layout):
1687         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1688         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
1689         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
1690         (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
1691         (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
1692         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1693         * svg/SVGTextPositioningElement.cpp:
1694         (WebCore::SVGTextPositioningElement::elementFromRenderer):
1695         * svg/SVGTextPositioningElement.h:
1696
1697 2014-10-09  Roger Fong  <roger_fong@apple.com>
1698
1699         Build fix for Win EWS bots.
1700
1701         * testing/Internals.idl: Move enum declaration to the top of the file.
1702
1703 2014-10-09  Said Abou-Hallawa  <sabouhallawa@apple.com>
1704
1705         RenderMathMLUnderOver adds spacing to the child operator indefinitely when resizing the window.
1706         https://bugs.webkit.org/show_bug.cgi?id=137330
1707
1708         Reviewed by Darin Adler.
1709
1710         The layout for the <mundercover> math object happens in two separate passes. The first pass runs
1711         the layout for the two children and then calculates the maximum child width.  It then sets the 
1712         stretch size for the math operator child.  And finally it runs the second layout pass by calling
1713         the base class layout() function. The base class function then runs the layout for the children
1714         rendering blocks.  In the operator child function computePreferredLogicalWidths(), the stretch 
1715         size is used to adjust the width (or the height) of the operator. Then it adds the leading and
1716         trailing spaces and the total will be the operator child width.
1717
1718         When resizing or zooming the window, the render objects are just invalidated but marked as 'needs-
1719         Layout'.  The problem is happening because the stretch size of the math operator is not reset
1720         before running the layout.  The old logical width (or height) of the the math operator child which
1721         is equal to the stretch size plus the leading and trailing spaces for is compared with the glyph
1722         size if the old logical width ( or height) is larger, it is set to be the stretch size.  When it
1723         is used again because of invalidation, new leading and trailing spaces are included in the new
1724         logical width.  So with every zooming-in or out or window resizing, new leading and trailing 
1725         spaces are added to the logical width of the math operator child or the math <munderober> object.
1726         
1727         Ensure the stretch size of the math operator render object is reset before running its layout.
1728         Running the layout means either the page is just loaded or it's invalidated which means, no 
1729         layout stall data should be used.
1730
1731         Test: mathml/opentype/munderover-window-resize.html
1732
1733         * rendering/mathml/RenderMathMLOperator.cpp:
1734         (WebCore::RenderMathMLOperator::resetStretchSize):
1735         * rendering/mathml/RenderMathMLOperator.h:
1736         resetStretchSize() sets the stretch size to its original value when the class is created.
1737         * rendering/mathml/RenderMathMLUnderOver.cpp:
1738         (WebCore::RenderMathMLUnderOver::layout):
1739         Make sure the operator stretch size is reset before calling its layout. Also make sure the new 
1740         maximum stretch size to the operator objects that were invalid and needsLayout.
1741
1742 2014-10-09  Dean Jackson  <dino@apple.com>
1743
1744         Remove ENABLE_CSS3_CONDITIONAL_RULES
1745         https://bugs.webkit.org/show_bug.cgi?id=137571
1746
1747         Reviewed by Simon Fraser.
1748
1749         We have good enough support for @supports that
1750         it should be a consistent part of the platform. Remove
1751         the compile-time guard.
1752
1753         * Configurations/FeatureDefines.xcconfig:
1754         * WebCore.exp.in:
1755         * bindings/js/JSCSSRuleCustom.cpp:
1756         (WebCore::toJS):
1757         * bindings/objc/DOMCSS.mm:
1758         (kitClass):
1759         * css/CSSGrammar.y.in:
1760         * css/CSSParser.cpp:
1761         (WebCore::CSSParser::CSSParser):
1762         (WebCore::CSSParser::parseSupportsCondition):
1763         (WebCore::CSSParser::detectAtToken):
1764         (WebCore::CSSParser::detectSupportsToken):
1765         (WebCore::CSSParser::realLex):
1766         * css/CSSParser.h:
1767         * css/CSSRule.h:
1768         * css/CSSRule.idl:
1769         * css/CSSSupportsRule.cpp:
1770         * css/CSSSupportsRule.h:
1771         * css/CSSSupportsRule.idl:
1772         * css/DOMWindowCSS.cpp:
1773         * css/DOMWindowCSS.h:
1774         * css/DOMWindowCSS.idl:
1775         * css/InspectorCSSOMWrappers.cpp:
1776         (WebCore::InspectorCSSOMWrappers::collect):
1777         * css/RuleSet.cpp:
1778         (WebCore::RuleSet::addChildRules):
1779         * css/StyleRule.cpp:
1780         (WebCore::StyleRuleBase::destroy):
1781         (WebCore::StyleRuleBase::copy):
1782         (WebCore::StyleRuleBase::createCSSOMWrapper):
1783         (WebCore::StyleRuleSupports::StyleRuleSupports):
1784         * css/StyleRule.h:
1785         (WebCore::toStyleRuleSupports):
1786         * css/StyleSheetContents.cpp:
1787         (WebCore::childRulesHaveFailedOrCanceledSubresources):
1788         * inspector/InspectorStyleSheet.cpp:
1789         (flattenSourceData):
1790         (WebCore::asCSSRuleList):
1791         * page/DOMWindow.cpp:
1792         (WebCore::DOMWindow::css):
1793         * page/DOMWindow.h:
1794         * page/DOMWindow.idl:
1795
1796 2014-10-09  Benjamin Poulain  <benjamin@webkit.org>
1797
1798         Add the baseline implementation of :not(selectorList)
1799         https://bugs.webkit.org/show_bug.cgi?id=137548
1800
1801         Reviewed by Andreas Kling.
1802
1803         This patch extend the pseudo class :not() to support the new definition
1804         in CSS Selectors level 4.
1805
1806         Instead of supporting a single simple selector, :not() now support
1807         an arbitrary selector list, excepted pseudo elements.
1808
1809         One side effect of this change is :visited and :link are no longer supported
1810         inside :not(). The reason has to do with complexity and performance.
1811         Since :not() and :matches() can have arbitrary selector list, keeping track of
1812         :visited and :link can have many combination superposing, some valid, some invalid.
1813
1814         Supporting :visited and :link should be possible by chaning the way we handle
1815         them for style resolution, but given the limited use cases for such features
1816         I'll wait to see if there is any interest before changing everything.
1817
1818         This patch only covers SelectorChecker to keep things simple. The CSS JIT
1819         will come later.
1820
1821         Tests: fast/css/not-basics.html
1822                fast/css/parsing-css-not-1.html
1823                fast/css/parsing-css-not-2.html
1824                fast/css/parsing-css-not-3.html
1825                fast/css/parsing-css-not-4.html
1826                fast/css/parsing-css-not-5.html
1827                fast/css/parsing-css-not-6.html
1828                fast/css/parsing-css-not-7.html
1829                fast/css/parsing-css-not-8.html
1830                fast/css/parsing-css-not-9.html
1831                fast/css/parsing-css-nth-child-of-4.html
1832                fast/selectors/not-basics.html
1833                fast/selectors/not-nested.html
1834                fast/selectors/not-selector-list.html
1835
1836         * css/CSSGrammar.y.in:
1837         Rename selectorListDoesNotMatchAnyPseudoElement() to selectorListDoesNotMatchAnyPseudoElement()
1838         since both :not() and :nth-child(An+B of selectorList) have the same requirements at the moment. 
1839
1840         * css/CSSParserValues.cpp:
1841         (WebCore::selectorListMatchesPseudoElement):
1842         The patch adding :matches() introduced the possibility of putting pseudo element
1843         arbitrary deep in a sequence of nested :matches(). Since this case is forbidded
1844         by :not() and :nth-child(An+B of selectorList), selectorListMatchesPseudoElement()
1845         now becomes recursive to find those pseudo elements.
1846
1847         * css/CSSSelector.cpp:
1848         (WebCore::CSSSelector::selectorText):
1849         CSSOM for the extended :not().
1850
1851         * css/SelectorChecker.cpp:
1852         (WebCore::SelectorChecker::checkOne):
1853         (WebCore::SelectorChecker::determineLinkMatchType):
1854         * cssjit/SelectorCompiler.cpp:
1855
1856         (WebCore::SelectorCompiler::addPseudoClassType):
1857         Disable the new capabilities from the JIT for now.
1858
1859 2014-10-09  Tim Horton  <timothy_horton@apple.com>
1860
1861         Move ServicesOverlayController to WebCore
1862         https://bugs.webkit.org/show_bug.cgi?id=137416
1863         <rdar://problem/18546283>
1864
1865         Reviewed by Anders Carlsson.
1866
1867         Move ServicesOverlayController from WebKit2 to WebCore, as it can be used by both Legacy WebKit and WebKit2.
1868
1869         * WebCore.xcodeproj/project.pbxproj:
1870         * editing/Editor.cpp:
1871         (WebCore::Editor::scanSelectionForTelephoneNumbers):
1872         * editing/SelectionRectGatherer.cpp:
1873         (WebCore::SelectionRectGatherer::Notifier::~Notifier):
1874         Notify ServicesOverlayController of changes via Page instead of EditorClient.
1875
1876         * page/ChromeClient.h:
1877         (WebCore::ChromeClient::handleTelephoneNumberClick):
1878         (WebCore::ChromeClient::handleSelectionServiceClick):
1879         (WebCore::ChromeClient::hasRelevantSelectionServices):
1880         Add ChromeClient functions for services actions.
1881
1882         * page/EditorClient.h:
1883         (WebCore::EditorClient::selectedTelephoneNumberRangesChanged): Deleted.
1884         (WebCore::EditorClient::selectionRectsDidChange): Deleted.
1885         Remove EditorClient functions for notifying ServicesOverlayController of changes,
1886         because it lives in WebCore proper now.
1887
1888         * page/Page.cpp:
1889         (WebCore::Page::Page):
1890         * page/Page.h:
1891         (WebCore::Page::servicesOverlayController):
1892         Keep a ServicesOverlayController on Page.
1893
1894         * page/PageOverlay.cpp:
1895         (WebCore::PageOverlay::mouseEvent):
1896         Use windowToContents instead of rootViewToContents; events come in in window coordinates.
1897
1898         * page/PageOverlayController.cpp:
1899         (WebCore::PageOverlayController::updateSettingsForLayer):
1900         Get Settings from MainFrame, not Page.
1901
1902         * page/Settings.in:
1903         Add servicesControlsEnabled setting.
1904
1905         * page/mac/ServicesOverlayController.h: Renamed from Source/WebKit2/WebProcess/WebPage/ServicesOverlayController.h.
1906         * page/mac/ServicesOverlayController.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/ServicesOverlayController.mm.
1907         Moved from WebKit2. Mostly mechanical changes, plus:
1908             - Use windowToContents instead of rootViewToContents; events come in in window coordinates.
1909             - Cut off rebuild* if serviceControlsEnabled setting is false
1910             - Don't create the overlay if serviceControlsEnabled setting is false
1911             - Send click events via ChromeClient.
1912             - Tie our lifetime to MainFrame instead of Page, and get lots of things from MainFrame instead.
1913
1914         * platform/Logging.h:
1915         Add Services logging channel (moved from WebKit2).
1916
1917 2014-10-09  Brent Fulgham  <bfulgham@apple.com>
1918
1919         [Win] Unreviewed build fix: Revert r174378
1920
1921         Roll back this change, as it didn't fix the EWS builders, and has only
1922         served to make Windows builds take forever.
1923
1924         * WebCore.vcxproj/WebCoreGenerated.make: Don't delete all generated content
1925         every time we build.
1926
1927 2014-10-09  Chris Dumez  <cdumez@apple.com>
1928
1929         Unreviewed GTK build fix after r174504.
1930
1931         Missing header include.
1932
1933         * rendering/svg/SVGTextQuery.cpp:
1934
1935 2014-10-09  Myles C. Maxfield  <mmaxfield@apple.com>
1936
1937         Remove second-to-last client of WebFontCache
1938         https://bugs.webkit.org/show_bug.cgi?id=137550
1939
1940         Reviewed by Darin Adler.
1941
1942         No new tests because no behavior change.
1943
1944         * WebCore.exp.in:
1945         * platform/graphics/FontCache.h: Allow migration of client to getCachedFontData()
1946
1947 2014-10-09  Chris Dumez  <cdumez@apple.com>
1948
1949         [Mac] Spending too much time mapping desired font families to available ones
1950         https://bugs.webkit.org/show_bug.cgi?id=137539
1951
1952         Reviewed by Darin Adler.
1953
1954         While profiling the load of weather.com, I noticed that we are spending
1955         quite a bit of time trying to map the font family requested to a font
1956         that is available on the system. The process involves:
1957         1. Doing a linear search of all the installed font families and do a
1958            case-insensitive string comparison for each of them until we find a
1959            match,
1960         2. Then, if we don't find a match, do another linear search of the
1961            fonts' postscript names this time and do again a case-insensitive
1962            string comparison for each of them.
1963
1964         This process is costly and the fonts requested by weather.com are not
1965         available, causing us to do 2 linear searches and a lot of string
1966         comparisons (accounting for ~2% of the WebProcess CPU time for the page
1967         load). As a result, we end up spending ~90ms in
1968         internalFontWithFamily() when loading weather.com.
1969
1970         This patch introduces a cache for the mapping between desired font
1971         families and available font families. This cuts the time spent in
1972         internalFontWithFamily() in half (~45ms). The cache gets invalidated
1973         when fonts are installed / uninstalled on the system so we don't break
1974         that scenario. The cache is also limited in size to avoid using too
1975         much memory.
1976
1977         No new tests, but manual testing making sure the cache gets invalidated
1978         when installing a font on the system.
1979
1980         * platform/graphics/mac/FontCacheMac.mm:
1981         (WebCore::invalidateFontCache):
1982         * platform/mac/WebFontCache.h:
1983         * platform/mac/WebFontCache.mm:
1984         (desiredFamilyToAvailableFamilyDictionary):
1985         (rememberDesiredFamilyToAvailableFamilyMapping):
1986         (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
1987         (+[WebFontCache invalidate]):
1988
1989 2014-10-09  Bear Travis  <betravis@adobe.com>
1990
1991         [CSS Font Loading] Decrement the font loading count before notifying callbacks
1992         https://bugs.webkit.org/show_bug.cgi?id=137401
1993
1994         Reviewed by Alexey Proskuryakov.
1995
1996         In the callbacks, it should appear that font load has completed. This is
1997         accessed through loading(), which relies on the current number of
1998         fonts loading via JS and CSS.
1999
2000         Unskipping the failing test http/tests/webfont/fontloader-loading-attribute.html
2001         test which tests this.
2002
2003         * css/FontLoader.cpp:
2004         (WebCore::LoadFontCallback::notifyLoaded):
2005
2006 2014-10-09  Chris Dumez  <cdumez@apple.com>
2007
2008         Unreviewed Windows build fix after r174506.
2009
2010         We no longer needed to dereference as it is a reference instead of a
2011         pointer now.
2012
2013         * page/win/EventHandlerWin.cpp:
2014         (WebCore::EventHandler::passWheelEventToWidget):
2015
2016 2014-10-09  Chris Dumez  <cdumez@apple.com>
2017
2018         Use is<>() / downcast<>() for Widget subclasses
2019         https://bugs.webkit.org/show_bug.cgi?id=137549
2020
2021         Reviewed by Darin Adler.
2022
2023         Use is<>() / downcast<>() for Widget subclasses and clean up the
2024         surrounding code.
2025
2026         No new tests, no behavior change.
2027
2028         * accessibility/AXObjectCache.cpp:
2029         (WebCore::AXObjectCache::getOrCreate):
2030         * accessibility/AccessibilityObject.cpp:
2031         (WebCore::appendAccessibilityObject):
2032         * accessibility/AccessibilityRenderObject.cpp:
2033         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2034         * accessibility/AccessibilityScrollView.cpp:
2035         (WebCore::AccessibilityScrollView::webAreaObject):
2036         (WebCore::AccessibilityScrollView::documentFrameView):
2037         (WebCore::AccessibilityScrollView::parentObject):
2038         (WebCore::AccessibilityScrollView::parentObjectIfExists):
2039         * bindings/js/JSPluginElementFunctions.cpp:
2040         (WebCore::pluginScriptObjectFromPluginViewBase):
2041         * html/HTMLObjectElement.cpp:
2042         (WebCore::HTMLObjectElement::appendFormData):
2043         * html/HTMLPlugInElement.cpp:
2044         (WebCore::HTMLPlugInElement::canProcessDrag):
2045         (WebCore::HTMLPlugInElement::isKeyboardFocusable):
2046         (WebCore::HTMLPlugInElement::isUserObservable):
2047         * html/HTMLPlugInImageElement.cpp:
2048         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting):
2049         (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn):
2050         * html/HTMLPlugInImageElement.h:
2051         * loader/SubframeLoader.cpp:
2052         (WebCore::SubframeLoader::loadPlugin):
2053         * page/DragController.cpp:
2054         (WebCore::DragController::operationForLoad):
2055         * page/EventHandler.cpp:
2056         (WebCore::EventHandler::subframeForTargetNode):
2057         (WebCore::EventHandler::handleWheelEvent):
2058         * page/EventHandler.h:
2059         * page/Frame.cpp:
2060         (WebCore::Frame::frameForWidget):
2061         * page/FrameView.cpp:
2062         (WebCore::FrameView::hasCustomScrollbars):
2063         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
2064         (WebCore::FrameView::convertToContainingView):
2065         (WebCore::FrameView::convertFromContainingView):
2066         (WebCore::FrameView::removeChild):
2067         * page/FrameView.h:
2068         * page/Page.cpp:
2069         (WebCore::Page::pluginViews):
2070         * page/efl/EventHandlerEfl.cpp:
2071         (WebCore::EventHandler::passWheelEventToWidget):
2072         * page/gtk/EventHandlerGtk.cpp:
2073         (WebCore::EventHandler::passWheelEventToWidget):
2074         * page/ios/EventHandlerIOS.mm:
2075         (WebCore::EventHandler::passWheelEventToWidget):
2076         * page/mac/EventHandlerMac.mm:
2077         (WebCore::EventHandler::passWheelEventToWidget):
2078         * page/scrolling/ScrollingCoordinator.cpp:
2079         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
2080         * page/win/EventHandlerWin.cpp:
2081         (WebCore::EventHandler::passWheelEventToWidget):
2082         * platform/ScrollView.cpp:
2083         (WebCore::ScrollView::removeChild):
2084         (WebCore::ScrollView::setHasHorizontalScrollbar):
2085         (WebCore::ScrollView::setHasVerticalScrollbar):
2086         * platform/ScrollView.h:
2087         * platform/Scrollbar.cpp:
2088         (WebCore::Scrollbar::root):
2089         Uninline as root() because Widget::root() returns a FrameView now and
2090         it is impossible to include FrameView.h in Scrollbar.h without causing
2091         a cycle.
2092
2093         * platform/Scrollbar.h:
2094         * platform/Widget.cpp:
2095         (WebCore::Widget::root):
2096         Use tighter typing and return a FrameView instead of a ScrollView.
2097
2098         (WebCore::Widget::removeFromParent):
2099         * platform/Widget.h:
2100         * platform/efl/WidgetEfl.cpp:
2101         (WebCore::Widget::setCursor):
2102         * platform/gtk/PlatformScreenGtk.cpp:
2103         * platform/gtk/WidgetGtk.cpp:
2104         (WebCore::Widget::setCursor):
2105         * platform/mac/PlatformScreenMac.mm:
2106         (WebCore::displayFromWidget):
2107         * platform/mac/WidgetMac.mm:
2108         (WebCore::Widget::setCursor):
2109         * platform/win/WidgetWin.cpp:
2110         (WebCore::Widget::setCursor):
2111         * plugins/PluginViewBase.h:
2112         * plugins/win/PluginViewWin.cpp:
2113         (WebCore::PluginView::updatePluginWidget):
2114         (WebCore::PluginView::paintIntoTransformedContext):
2115         (WebCore::PluginView::paintWindowedPluginIntoContext):
2116         (WebCore::PluginView::paint):
2117         (WebCore::PluginView::handleMouseEvent):
2118         (WebCore::PluginView::setNPWindowRect):
2119         (WebCore::PluginView::snapshot):
2120         * rendering/RenderEmbeddedObject.cpp:
2121         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
2122         (WebCore::RenderEmbeddedObject::nodeAtPoint):
2123         (WebCore::RenderEmbeddedObject::scroll):
2124         * rendering/RenderFrameBase.h:
2125         (WebCore::RenderFrameBase::childView):
2126         * rendering/RenderLayerBacking.cpp:
2127         (WebCore::RenderLayerBacking::layerWillBeDestroyed):
2128         (WebCore::RenderLayerBacking::updateConfiguration):
2129         * rendering/RenderLayerCompositor.cpp:
2130         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
2131         * rendering/RenderTreeAsText.cpp:
2132         (WebCore::write):
2133         * rendering/RenderWidget.cpp:
2134         (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
2135         (WebCore::RenderWidget::paintContents):
2136         (WebCore::RenderWidget::setOverlapTestResult):
2137         (WebCore::RenderWidget::updateWidgetPosition):
2138         (WebCore::RenderWidget::nodeAtPoint):
2139         (WebCore::RenderWidget::embeddedContentBox):
2140
2141 2014-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2142
2143         Layering violation: MediaPlayer should not reference/use FrameView
2144         https://bugs.webkit.org/show_bug.cgi?id=21562
2145
2146         Reviewed by Darin Adler.
2147
2148         Remove FrameView dependency from MediaPlayer.
2149
2150         * html/HTMLMediaElement.cpp:
2151         (WebCore::HTMLMediaElement::mediaPlayerIsInMediaDocument): Check if
2152         the element document is a media document.
2153         * html/HTMLMediaElement.h:
2154         * platform/graphics/MediaPlayer.cpp:
2155         (WebCore::MediaPlayer::MediaPlayer): Remove m_frameView initialization.
2156         (WebCore::MediaPlayer::inMediaDocument): Use the MediaPlayerClient
2157         to check if the media player is in a media document.
2158         * platform/graphics/MediaPlayer.h:
2159         (WebCore::MediaPlayerClient::mediaPlayerIsInMediaDocument):
2160         (WebCore::MediaPlayer::setFrameView): Deleted.
2161         (WebCore::MediaPlayer::frameView): Deleted.
2162         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2163         (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
2164         Do not check if the media player has a frame view, checking whether it's visible
2165         is enough.
2166         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2167         Remove unneeded header include.
2168         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
2169         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Ditto.
2170         * rendering/RenderVideo.cpp:
2171         (WebCore::RenderVideo::~RenderVideo): Do not call MediaPlayer::setFrameView().
2172         (WebCore::RenderVideo::updatePlayer): Ditto.
2173
2174 2014-10-09  Christophe Dumez  <cdumez@apple.com>
2175
2176         Use is<>() / downcast<>() for RenderBlockFlow
2177         https://bugs.webkit.org/show_bug.cgi?id=137545
2178
2179         Reviewed by Darin Adler.
2180
2181         Use is<>() / downcast<>() for RenderBlockFlow and clean up the
2182         surrounding code.
2183
2184         No new tests, no behavior change.
2185
2186         * accessibility/AccessibilityRenderObject.cpp:
2187         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2188         * dom/Element.cpp:
2189         (WebCore::Element::renderNamedFlowFragment):
2190         (WebCore::Element::webkitGetRegionFlowRanges):
2191         * editing/Editor.cpp:
2192         (WebCore::Editor::hasBidiSelection):
2193         * inspector/InspectorOverlay.cpp:
2194         (WebCore::buildObjectForRegionHighlight):
2195         (WebCore::buildObjectForElementInfo):
2196         * rendering/EllipsisBox.h:
2197         * rendering/HitTestResult.cpp:
2198         (WebCore::HitTestResult::innerTextIfTruncated):
2199         * rendering/LayoutState.cpp:
2200         (WebCore::LayoutState::LayoutState):
2201         * rendering/RenderBlock.cpp:
2202         (WebCore::RenderBlock::removeChild):
2203         * rendering/RenderBlock.h:
2204         (WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo):
2205         * rendering/RenderBlockFlow.cpp:
2206         (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
2207         (WebCore::RenderBlockFlow::layoutBlockChild):
2208         (WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
2209         (WebCore::RenderBlockFlow::marginValuesForChild):
2210         (WebCore::RenderBlockFlow::collapseMargins):
2211         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
2212         (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
2213         (WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild):
2214         (WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild):
2215         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
2216         (WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo):
2217         (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
2218         (WebCore::RenderBlockFlow::adjustForBorderFit):
2219         (WebCore::getHeightForLineCount):
2220         * rendering/RenderBlockFlow.h:
2221         (WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
2222         * rendering/RenderBlockLineLayout.cpp:
2223         (WebCore::RenderBlockFlow::createLineBoxes):
2224         * rendering/RenderBox.cpp:
2225         (WebCore::RenderBox::styleDidChange):
2226         * rendering/RenderBoxModelObject.cpp:
2227         (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
2228         * rendering/RenderDeprecatedFlexibleBox.cpp:
2229         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2230         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
2231         * rendering/RenderFlowThread.cpp:
2232         (WebCore::RenderFlowThread::removeFlowChildInfo):
2233         * rendering/RenderLayer.cpp:
2234         (WebCore::RenderLayer::updateLayerPositions):
2235         (WebCore::expandClipRectForRegionAndReflection):
2236         (WebCore::RenderLayer::calculateClipRects):
2237         * rendering/RenderLayerCompositor.cpp:
2238         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2239         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2240         * rendering/RenderMultiColumnFlowThread.cpp:
2241         (WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):
2242         (WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant):
2243         (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
2244         * rendering/RenderMultiColumnFlowThread.h:
2245         * rendering/RenderMultiColumnSet.cpp:
2246         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
2247         (WebCore::RenderMultiColumnSet::columnGap):
2248         * rendering/RenderMultiColumnSet.h:
2249         * rendering/RenderNamedFlowFragment.cpp:
2250         (WebCore::RenderNamedFlowFragment::fragmentContainer):
2251         * rendering/RenderObject.cpp:
2252         (WebCore::RenderObject::adjustComputedFontSizesOnBlocks):
2253         (WebCore::RenderObject::resetTextAutosizing):
2254         (WebCore::RenderObject::showLineTreeForThis):
2255         (WebCore::RenderObject::showRenderSubTreeAndMark):
2256         * rendering/RenderText.cpp:
2257         (WebCore::RenderText::setText):
2258         (WebCore::RenderText::ensureLineBoxes):
2259         (WebCore::RenderText::simpleLineLayout):
2260         * rendering/RenderTreeAsText.cpp:
2261         (WebCore::write):
2262         * rendering/RootInlineBox.cpp:
2263         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
2264         (WebCore::RootInlineBox::blockFlow):
2265         * rendering/SimpleLineLayoutFunctions.cpp:
2266         (WebCore::SimpleLineLayout::computeTextBoundingBox):
2267         (WebCore::SimpleLineLayout::computeTextFirstRunLocation):
2268         (WebCore::SimpleLineLayout::collectTextAbsoluteRects):
2269         (WebCore::SimpleLineLayout::collectTextAbsoluteQuads):
2270         * rendering/svg/SVGTextQuery.cpp:
2271         (WebCore::flowBoxForRenderer):
2272
2273 2014-10-09  Philip Chimento  <philip.chimento@gmail.com>
2274
2275         [GTK] Netscape plugin API symbol used outside feature guards
2276         https://bugs.webkit.org/show_bug.cgi?id=137385
2277
2278         Reviewed by Philippe Normand.
2279
2280         * plugins/PluginPackage.cpp:
2281         (WebCore::PluginPackage::unload): Add guards for Netscape Plugin
2282         API around symbol, so that it compiles OK when the API is not
2283         available.
2284
2285 2014-10-08  Mihnea Ovidenie  <mihnea@adobe.com>
2286
2287         [CSSRegions]Remove unused parameter in adjustRegionBoundsFromFlowThreadPortionRect
2288         https://bugs.webkit.org/show_bug.cgi?id=137518
2289
2290         Reviewed by Andrei Bucur.
2291
2292         This method is used only by region code in accelerated compositing.
2293         The first parameter for the method was introduced with the intent to be used for multicolumn,
2294         but without being actually used in multicolumn code. Also make the method const.
2295         No new tests as no change in functionality.
2296
2297         * rendering/RenderLayerBacking.cpp:
2298         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
2299         * rendering/RenderMultiColumnSet.cpp:
2300         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
2301         * rendering/RenderMultiColumnSet.h:
2302         * rendering/RenderRegion.cpp:
2303         (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
2304         * rendering/RenderRegion.h:
2305
2306 2014-10-08  Andreas Kling  <akling@apple.com>
2307
2308         [Mac] Show repaint counters in tile coverage map.
2309         <https://webkit.org/b/137544>
2310
2311         Reviewed by Simon Fraser.
2312
2313         Add repaint counters to the tile layers in the "tiled scrolling
2314         indicator" display. This will be helpful for diagnosing issues with
2315         excessive tile repaints outside the visible viewport.
2316
2317         * platform/graphics/ca/TileController.cpp:
2318         (WebCore::TileController::setNeedsDisplayInRect):
2319         * platform/graphics/ca/TileGrid.cpp:
2320         (WebCore::TileGrid::drawTileMapContents):
2321
2322 2014-10-08  Myles C. Maxfield  <mmaxfield@apple.com>
2323
2324         Unreviewed build fix after r174480. Broke iOS build.
2325
2326         * rendering/RenderObject.cpp:
2327         (WebCore::includeNonFixedHeight):
2328
2329 2014-10-08  Myles C. Maxfield  <litherum@gmail.com>
2330
2331         Inline ruby does not get justified correctly
2332         https://bugs.webkit.org/show_bug.cgi?id=137421
2333
2334         Reviewed by Dave Hyatt.
2335
2336         We justify text in two passes: one counts expansion opportunities within a line,
2337         and the other doles out widths and expansion amounts to constituent inline boxes.
2338         This patch simply modifies both passes to descend into ruby bases. Once it has
2339         done so, we then re-layout the ruby run with the newly found width.
2340
2341         Tests: fast/ruby/ruby-justification-hittest.html
2342                fast/ruby/ruby-justification.html
2343
2344         * rendering/InlineBox.h:
2345         (WebCore::InlineBox::setExpansion): updateRubyForJustifiedText() has to set the
2346         expansion for an inline box, so make setExpansion() public.
2347         * rendering/RenderBlockLineLayout.cpp:
2348         (WebCore::updateRubyForJustifiedText): Given values that have already been
2349         computed in computeInlineDirectionPositionsForSegment(), adjust the widths and
2350         expansion values for all the various pieces of ruby.
2351         (WebCore::computeExpansionForJustifiedText): Call updateRubyForJustifiedText() if
2352         necessary.
2353         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): When
2354         counting expansion opportunities in a line, include ruby bases.
2355         * rendering/RenderRubyRun.h: Fix grammar in comment.
2356         * rendering/RenderText.cpp:
2357         (WebCore::RenderText::stringView): Give default arguments to function.
2358         * rendering/RenderText.h: Ditto.
2359
2360 2014-10-08  Dean Jackson  <dino@apple.com>
2361
2362         PopupMenus should indicate if they are using a custom rendering
2363         https://bugs.webkit.org/show_bug.cgi?id=137543
2364         <rdar://problem/18544212>
2365
2366         Reviewed by Beth Dakin.
2367
2368         On Yosemite there is an animation as a popup menu closes. We can't use
2369         this when there is a custom rendering, since the animation doesn't match
2370         the final result. Implement this by hooking into the existing code
2371         for hiding the arrows during animation - a WebKitSystemInterface update
2372         will implement the other side.
2373
2374         * platform/mac/WebCoreSystemInterface.h: Rename parameter to be more clear.
2375         * platform/mac/WebCoreSystemInterface.mm:
2376         * rendering/RenderMenuList.cpp:
2377         (RenderMenuList::menuStyle): We need to check that we are a native-looking
2378         button, not just something with appearance.
2379
2380 2014-10-08  Christophe Dumez  <cdumez@apple.com>
2381
2382         Use is<>() / downcast<>() for RenderBlock objects
2383         https://bugs.webkit.org/show_bug.cgi?id=137512
2384
2385         Reviewed by Darin Adler.
2386
2387         Use is<>() / downcast<>() for RenderBlock objects and clean up the
2388         surrounding code.
2389
2390         No new tests, no behavior change.
2391
2392         * accessibility/AccessibilityRenderObject.cpp:
2393         (WebCore::firstChildConsideringContinuation):
2394         (WebCore::lastChildConsideringContinuation):
2395         (WebCore::AccessibilityRenderObject::firstChild):
2396         (WebCore::startOfContinuations):
2397         (WebCore::endOfContinuations):
2398         (WebCore::childBeforeConsideringContinuations):
2399         (WebCore::AccessibilityRenderObject::previousSibling):
2400         (WebCore::AccessibilityRenderObject::nextSibling):
2401         (WebCore::nextContinuation):
2402         (WebCore::AccessibilityRenderObject::renderParentObject):
2403         (WebCore::AccessibilityRenderObject::anchorElement):
2404         (WebCore::AccessibilityRenderObject::setValue):
2405         * bindings/objc/DOMUIKitExtensions.mm:
2406         (-[DOMNode containsOnlyInlineObjects]):
2407         (-[DOMNode isSelectableBlock]):
2408         (-[DOMHTMLElement structuralComplexityContribution]):
2409         * css/CSSComputedStyleDeclaration.cpp:
2410         (WebCore::valueForGridTrackList):
2411         * editing/CompositeEditCommand.cpp:
2412         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
2413         * editing/TextIterator.cpp:
2414         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
2415         * page/ios/FrameIOS.mm:
2416         (WebCore::Frame::preferredHeight):
2417         * rendering/LogicalSelectionOffsetCaches.h:
2418         (WebCore::containingBlockForFixedPosition):
2419         (WebCore::containingBlockForAbsolutePosition):
2420         (WebCore::containingBlockForObjectInFlow):
2421         * rendering/RenderBlock.cpp:
2422         (WebCore::RenderBlock::styleWillChange):
2423         (WebCore::RenderBlock::continuationBefore):
2424         (WebCore::RenderBlock::splitBlocks):
2425         (WebCore::RenderBlock::addChildIgnoringContinuation):
2426         (WebCore::canMergeAnonymousBlock):
2427         (WebCore::canMergeContiguousAnonymousBlocks):
2428         (WebCore::RenderBlock::collapseAnonymousBoxChild):
2429         (WebCore::RenderBlock::removeChild):
2430         (WebCore::RenderBlock::blockElementContinuation):
2431         (WebCore::RenderBlock::blockSelectionGaps):
2432         (WebCore::RenderBlock::blockBeforeWithinSelectionRoot):
2433         (WebCore::isChildHitTestCandidate):
2434         (WebCore::RenderBlock::firstLineBlock):
2435         (WebCore::findFirstLetterBlock):
2436         (WebCore::RenderBlock::childBecameNonInline):
2437         (WebCore::RenderBlock::hasMarginBeforeQuirk):
2438         (WebCore::RenderBlock::hasMarginAfterQuirk):
2439         * rendering/RenderBlock.h:
2440         * rendering/RenderBlockFlow.cpp:
2441         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
2442         (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
2443         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
2444         (WebCore::RenderBlockFlow::positionNewFloats):
2445         (WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):
2446         * rendering/RenderBlockLineLayout.cpp:
2447         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
2448         * rendering/RenderBox.cpp:
2449         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2450         (WebCore::RenderBox::availableLogicalHeightUsing):
2451         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2452         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
2453         (WebCore::computeInlineStaticDistance):
2454         (WebCore::RenderBox::computePositionedLogicalWidth):
2455         (WebCore::RenderBox::computePositionedLogicalHeight):
2456         * rendering/RenderBoxModelObject.cpp:
2457         (WebCore::accumulateInFlowPositionOffsets):
2458         (WebCore::RenderBoxModelObject::moveChildTo):
2459         (WebCore::RenderBoxModelObject::moveChildrenTo):
2460         * rendering/RenderElement.cpp:
2461         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
2462         * rendering/RenderFlowThread.cpp:
2463         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
2464         * rendering/RenderFullScreen.cpp:
2465         (WebCore::RenderFullScreen::unwrapRenderer):
2466         * rendering/RenderInline.cpp:
2467         (WebCore::RenderInline::inlineElementContinuation):
2468         (WebCore::updateStyleOfAnonymousBlockContinuations):
2469         (WebCore::RenderInline::styleDidChange):
2470         (WebCore::nextContinuation):
2471         (WebCore::RenderInline::splitFlow):
2472         (WebCore::RenderInline::positionForPoint):
2473         * rendering/RenderLayer.cpp:
2474         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
2475         (WebCore::RenderLayer::calculateClipRects):
2476         * rendering/RenderListItem.cpp:
2477         (WebCore::getParentOfFirstLineBox):
2478         (WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
2479         (WebCore::RenderListItem::positionListMarker):
2480         * rendering/RenderNamedFlowFragment.cpp:
2481         (WebCore::RenderNamedFlowFragment::maxPageLogicalHeight):
2482         * rendering/RenderObject.cpp:
2483         (WebCore::includeNonFixedHeight):
2484         (WebCore::RenderObject::checkBlockPositionedObjectsNeedLayout):
2485         (WebCore::RenderObject::containingBlock):
2486         (WebCore::RenderObject::handleDynamicFloatPositionChange):
2487         (WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary):
2488         (WebCore::RenderObject::getTextDecorationColors):
2489         * rendering/RenderRuby.cpp:
2490         (WebCore::rubyBeforeBlock):
2491         (WebCore::rubyAfterBlock):
2492         * rendering/RenderRubyBase.cpp:
2493         (WebCore::RenderRubyBase::moveInlineChildren):
2494         (WebCore::RenderRubyBase::moveBlockChildren):
2495         * rendering/RenderThemeMac.mm:
2496         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
2497         * rendering/TextAutosizer.cpp:
2498         (WebCore::TextAutosizer::processSubtree):
2499         (WebCore::TextAutosizer::processContainer):
2500         (WebCore::TextAutosizer::measureDescendantTextWidth):
2501         (WebCore::TextAutosizer::findDeepestBlockContainingAllText):
2502         (WebCore::TextAutosizer::findFirstTextLeafNotInCluster):
2503         * rendering/mathml/RenderMathMLRoot.cpp:
2504         (WebCore::RenderMathMLRoot::layout):
2505
2506 2014-10-08  Jer Noble  <jer.noble@apple.com>
2507
2508         Unreviewed follow-up fix for r174460. Do not register for KVOs if the object does not respond to the requested property.
2509
2510         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
2511         (-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]):
2512         (-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]):
2513         (-[CDMSessionMediaSourceAVFObjCObserver invalidate]):
2514
2515 2014-10-08  Dean Jackson  <dino@apple.com>
2516
2517         Add deprecation warning for CSSKeyframesRule::appendRule
2518         https://bugs.webkit.org/show_bug.cgi?id=137532
2519         <rdar://problem/18585745>
2520
2521         Reviewed by Brent Fulgham.
2522
2523         In r173982 (webkit.org/b/57910) we added insertRule to match
2524         the spec. We should print a warning to the JS console suggesting
2525         users move to insertRule.
2526
2527         * css/WebKitCSSKeyframesRule.cpp:
2528         (WebCore::WebKitCSSKeyframesRule::appendRule): Add a message to the system
2529         console.
2530         * css/WebKitCSSKeyframesRule.h:
2531
2532 2014-10-08  Myles C. Maxfield  <mmaxfield@apple.com>
2533
2534         Text drawn with an SVG font has no spaces when word-rounding hacks are enabled
2535         https://bugs.webkit.org/show_bug.cgi?id=137463
2536
2537         Reviewed by Darin Adler.
2538
2539         When rounding hacks are enabled, we use the "adjusted space width" instead of the
2540         regular space width. However, the SVG-font-specific implementation of the
2541         SimpleFontData constructor doesn't initialize this value, so it was getting set
2542         to an undefined value (which happened to be close to 0 in my tests).
2543
2544         Test: svg/text/svg-font-word-rounding-hacks-spaces.html
2545
2546         * css/CSSFontFaceSource.cpp:
2547         (WebCore::CSSFontFaceSource::getFontData):
2548         (WebCore::CSSFontFaceSource::ensureFontData):
2549         * loader/cache/CachedFont.cpp:
2550         (WebCore::CachedFont::ensureCustomFontData):
2551         (WebCore::CachedFont::getSVGFontById):
2552         * platform/graphics/SimpleFontData.h:
2553         * svg/SVGFontData.cpp:
2554         (WebCore::SVGFontData::initializeFontData):
2555
2556 2014-10-08  Brent Fulgham  <bfulgham@apple.com>
2557
2558         [Win] Resolve various static analyzer warnings in WebCore.
2559         https://bugs.webkit.org/show_bug.cgi?id=137526
2560
2561         Reviewed by Dean Jackson.
2562
2563         A series of small changes to resolve various issues found by the MSVC static analyzer.
2564
2565         * inspector/NetworkResourcesData.cpp:
2566         (WebCore::NetworkResourcesData::clear): Add assertion that it->value should never be null.
2567         * page/SessionIDHash.h:
2568         (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): Add explicit cast to avoid
2569         compiler warning.
2570         (WTF::HashTraits<WebCore::SessionID>::isDeletedValue): Ditto.
2571         * page/win/FrameCGWin.cpp:
2572         (WebCore::imageFromRect): Resolve static analyzer warnings by initializing bits, and
2573         checking the return value of ::CreateDIBSection, which return nullptr on error.
2574         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2575         (printLayer): Use correct MSVC format specifier for size_t.
2576         * platform/graphics/win/FontCacheWin.cpp:
2577         (WebCore::getLinkedFonts): Handle possibility that a font link key does not exist.
2578         (WebCore::FontCache::systemFallbackForCharacters): Handle error case when a valid code page
2579         does not exist for a given character.
2580         * platform/graphics/win/SimpleFontDataWin.cpp:
2581         (WebCore::SimpleFontData::containsCharacters): Handle error cases for mapping to the CP_ACP code page,
2582         and related failures when attempting to access the contents of a given code page.
2583         * platform/graphics/win/UniscribeController.cpp:
2584         (WebCore::UniscribeController::itemizeShapeAndPlace): Handle possible failure in the
2585         ScriptItemize API call.
2586         (WebCore::UniscribeController::shapeAndPlaceItem): Ditto for ScriptXtoCP API call.
2587         * platform/win/BString.h: Use consistent SAL annotations for our typedeof of BSTR as in
2588         the system header.
2589         * platform/win/COMPtr.h: Ditto for HRESULT.
2590         * platform/win/DragImageCGWin.cpp:
2591         (WebCore::allocImage): Handle case of failing CreateDIBSection API call.
2592         * platform/win/PopupMenuWin.cpp:
2593         (WebCore::PopupMenuWin::show): Handle case of failing SystemParamtersInfo API call.
2594         (WebCore::PopupMenuWin::wndProc): Ditto.
2595
2596 2014-10-07  Jer Noble  <jer.noble@apple.com>
2597
2598         [EME][Mac] Update CDMSessionMediaSourceAVFObjC to match new API provided by AVStreamSession
2599         https://bugs.webkit.org/show_bug.cgi?id=137469
2600
2601         Reviewed by Brent Fulgham.
2602
2603         Update our forward declaration to match the API provided by AVStreamSession.
2604         AVStreamSession now takes an error: parameter in its initialiazer. It also provides the
2605         sessionIdentifier used by the CDM, which CDMSessionMediaSourceAVFObjC will use as the
2606         value of sessionId. Having this identifier allows us to fire a
2607         secure-proof-of-key-release message after the client calls MediaKeySession.close().
2608         Because this call will now generate messages, which have to be responded to in order
2609         to remove those proofs from storage, do not clear the CDMSession from MediaKeySession
2610         after calling close().
2611
2612         * Modules/encryptedmedia/MediaKeySession.cpp:
2613         (WebCore::MediaKeySession::~MediaKeySession):
2614         (WebCore::MediaKeySession::close):
2615         (WebCore::MediaKeySession::setError): Deleted.
2616         (WebCore::MediaKeySession::sessionId): Deleted.
2617         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
2618         (WebCore::CDMSessionMediaSourceAVFObjC::setSessionId):
2619         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
2620         (-[CDMSessionMediaSourceAVFObjCListener initWithParent:]):
2621         (-[CDMSessionMediaSourceAVFObjCObserver dealloc]):
2622         (-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]):
2623         (-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]):
2624         (-[CDMSessionMediaSourceAVFObjCObserver invalidate]):
2625         (-[CDMSessionMediaSourceAVFObjCListener observeValueForKeyPath:ofObject:change:context:]):
2626         (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
2627         (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):
2628         (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys):
2629         (WebCore::CDMSessionMediaSourceAVFObjC::update):
2630         (WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer):
2631         (WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer):
2632
2633 2014-10-08  Chris Dumez  <cdumez@apple.com>
2634
2635         Unreviewed build fix after r174456.
2636
2637         I was comparing a signed int to an unsigned one.
2638
2639         * platform/graphics/mac/FontCacheMac.mm:
2640         (WebCore::shouldAutoActivateFontIfNeeded):
2641
2642 2014-10-08  Christophe Dumez  <cdumez@apple.com>
2643
2644         [Mac] We are spending a lot of time loading fonts when loading weather.com
2645         https://bugs.webkit.org/show_bug.cgi?id=137454
2646
2647         Reviewed by Darin Adler.
2648
2649         We are spending a lot of time loading fonts when loading weather.com:
2650         ~4.2% of WebProcess's cpu time in FontCache::getCachedFrontData().
2651         In particular, we are spending a lot of time doing font auto-activation
2652         because we don't have the Open Sans fonts installed and weather.com is
2653         trying to load those.
2654
2655         Before this patch, we were doing font auto-activation ~250 times when
2656         loading weather.com, even though the site is loading ~10 distinct font
2657         families.
2658
2659         This patch adds a cache of font families we already tried to
2660         auto-activate so that we don't try again. This results in ~10 font
2661         auto-activations when loading weather.com instead of 250. It reduces
2662         the amount of time spent in getCachedFrontData() to 62.6ms from 276ms
2663         (4.4x less) when loading weather.com.
2664
2665         No new tests, no behavior change.
2666
2667         * platform/graphics/mac/FontCacheMac.mm:
2668         (WebCore::shouldAutoActivateFontIfNeeded):
2669         (WebCore::FontCache::createFontPlatformData):
2670         * platform/mac/WebFontCache.h:
2671         * platform/mac/WebFontCache.mm:
2672         (+[WebFontCache fontWithFamily:traits:weight:size:shouldAutoActivateIfNeeded:]):
2673         (+[WebFontCache fontWithFamily:traits:weight:size:]):
2674         (+[WebFontCache fontWithFamily:traits:size:]):
2675
2676 2014-10-08  Darin Adler  <darin@apple.com>
2677
2678         ASSERTION FAILED: underlyingStringIsValid()
2679         https://bugs.webkit.org/show_bug.cgi?id=137502
2680
2681         Reviewed by Anders Carlsson.
2682
2683         * rendering/RenderTreeAsText.cpp:
2684         (WebCore::quoteAndEscapeNonPrintables): Take a StringView instead of a String.
2685         (WebCore::writeTextRun): Ditto.
2686         (WebCore::writeSimpleLine): Ditto.
2687
2688         * rendering/RenderTreeAsText.h: Removed unneeded include, tweaked formatting,
2689         changed quoteAndEscapeNonPrintables to take a StringView.
2690
2691         * rendering/SimpleLineLayoutFunctions.cpp:
2692         (WebCore::SimpleLineLayout::paintFlow): Tighten code using a modern for loop.
2693         (WebCore::SimpleLineLayout::showLineLayoutForFlow): Update to work with a
2694         StringView result for SimpleLineLayout::RunResolver::Run::text.
2695
2696         * rendering/SimpleLineLayoutResolver.h:
2697         (WebCore::SimpleLineLayout::RunResolver::Run::text): Changed return type to
2698         StringView to fix the lifetime bug and also to improve performance by getting
2699         rid of the need to allocate and destroy a StringImpl object.
2700
2701 2014-10-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2702
2703         [EFL] Call requestScrollPositionUpdate() instead of delegatedScrollRequested() in ScrollView::scrollTo()
2704         https://bugs.webkit.org/show_bug.cgi?id=137478
2705
2706         Reviewed by Benjamin Poulain.
2707
2708         As r174380 did, ScrollView::scrollTo() also calls requestScrollPositionUpdate() instead of delegatedScrollRequested().
2709         delegatedScrollRequested() will be only called by requestScrollPositionUpdate(), and it needs to be merged by existing
2710         other scroll request function.
2711
2712         No new tests, no behavior changes.
2713
2714         * platform/ScrollView.cpp:
2715         (WebCore::ScrollView::scrollTo):
2716
2717 2014-10-08  Dean Jackson  <dino@apple.com>
2718
2719         Safari 8 on OSX 10.10 does not run WebGL in Retina HiDPI mode.
2720         https://bugs.webkit.org/show_bug.cgi?id=134854
2721         <rdar://problem/18465263>
2722
2723         Reviewed by Tim Horton.
2724
2725         The NSOpenGLLayer has to have its contentScale property
2726         set accordingly when on a retina display. Do this by
2727         adding another value to the GraphicsContext3D creation
2728         attribute dictionary, representing the device pixel ratio.
2729         Then, when we come to draw into the layer, make sure
2730         we set our GL viewport to the correct value.
2731
2732         This is currently untestable because:
2733         - we can't just read from the GL buffer as it is always correct
2734         - WebGL isn't working in reftests
2735         - a layer dump doesn't show the change since it was done in a CALayer subclass.
2736
2737         * html/canvas/WebGLRenderingContext.cpp:
2738         (WebCore::WebGLRenderingContext::create): Pass the devicePixelRatio into the attribute dictionary.
2739         * platform/graphics/GraphicsContext3D.h:
2740         (WebCore::GraphicsContext3D::Attributes::Attributes): Add a devicePixelRatio attribute.
2741         * platform/graphics/mac/WebGLLayer.h: New property to save us looking up the attributes
2742         each frame.
2743         * platform/graphics/mac/WebGLLayer.mm:
2744         (-[WebGLLayer initWithGraphicsContext3D:]): Store the devicePixelRatio, and set our
2745         contents scale appropriately.
2746         (-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): Draw into
2747         a correctly sized backbuffer.
2748         (-[WebGLLayer copyImageSnapshotWithColorSpace:]): Generate an image of the correct size.
2749
2750 2014-10-07  Simon Fraser  <simon.fraser@apple.com>
2751
2752         Roll-over Changelogs.
2753
2754         * ChangeLog-2014-10-07: Copied from Source/WebCore/ChangeLog.
2755
2756 == Rolled over to ChangeLog-2014-10-07 ==