Use outermost containing isolate when constructing bidi runs
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-04-02  David Kilzer  <ddkilzer@apple.com>
2
3         Use outermost containing isolate when constructing bidi runs
4         <http://webkit.org/b/131107>
5         <rdar://problem/15690021>
6
7         Reviewed by Darin Adler.
8
9         Merged from Blink (patch by jww@chromium.org):
10         https://src.chromium.org/viewvc/blink?revision=157268&view=revision
11         http://crbug.com/279277
12
13             Update containingIsolate to go back all the way to top
14             isolate from current root, rather than stopping at the first
15             isolate it finds. This works because the current root is
16             always updated with each isolate run.
17
18         Tests: fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html
19                fast/text/international/unicode-bidi-isolate-nested-with-removes.html
20
21         * rendering/InlineIterator.h:
22         (WebCore::highestContainingIsolateWithinRoot):
23         * rendering/RenderBlockLineLayout.cpp:
24         (WebCore::constructBidiRunsForSegment):
25
26 2014-04-02  Chris Fleizach  <cfleizach@apple.com>
27
28         AX: Improve ARIA live region reliability by sending notifications when live regions are created/shown and hidden/destroyed
29         https://bugs.webkit.org/show_bug.cgi?id=124381
30
31         Reviewed by Mario Sanchez Prada.
32
33         Re-organize some code so that when we detect a new node has been created, we can safely determine its live region status.
34         If it is a live region, we fire off a live region created notification.
35
36         Test: platform/mac/accessibility/live-region-creation-notification.html
37
38         * accessibility/AXObjectCache.cpp:
39         (WebCore::AXObjectCache::handleLiveRegionCreated):
40         (WebCore::AXObjectCache::childrenChanged):
41         (WebCore::AXObjectCache::handleAttributeChanged):
42         * accessibility/AXObjectCache.h:
43         (WebCore::AXObjectCache::childrenChanged):
44         * accessibility/AccessibilityObject.cpp:
45         (WebCore::AccessibilityObject::defaultLiveRegionStatusForRole):
46         (WebCore::AccessibilityObject::liveRegionStatusIsEnabled):
47         (WebCore::AccessibilityObject::supportsARIALiveRegion):
48         * accessibility/AccessibilityObject.h:
49         (WebCore::AccessibilityObject::ariaLiveRegionStatus):
50         * accessibility/AccessibilityRenderObject.cpp:
51         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
52         * accessibility/AccessibilityRenderObject.h:
53         * accessibility/ios/AXObjectCacheIOS.mm:
54         (WebCore::AXObjectCache::postPlatformNotification):
55         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
56         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
57         (-[WebAccessibilityObjectWrapper postLiveRegionCreatedNotification]):
58         * accessibility/mac/AXObjectCacheMac.mm:
59         (WebCore::AXObjectCache::postPlatformNotification):
60
61 2014-04-02  Martin Robinson  <mrobinson@igalia.com>
62
63         REGRESSION(r165704): [GTK] Inspector resources not correctly generated
64         https://bugs.webkit.org/show_bug.cgi?id=130343
65
66         Reviewed by Gustavo Noronha Silva.
67
68         * CMakeLists.txt: Generate the web inspector JS file into the new WebInspectorUI derived sources
69         directory.
70
71 2014-04-02  Zalan Bujtas  <zalan@apple.com>
72
73         Unreviewed build fix after r166642.
74         (WinCairo should really turn subpixel layout on.)
75
76         * platform/graphics/LayoutSize.h:
77         (WebCore::flooredForPainting):
78
79 2014-04-02  Zalan Bujtas  <zalan@apple.com>
80
81         Subpixel rendering: Make GraphicsContext::drawTiledImage* functions float based.
82         https://bugs.webkit.org/show_bug.cgi?id=131062
83
84         Reviewed by Simon Fraser.
85
86         This is in preparation to support subpixel positioned/sized background images. Generated images
87         need to be able to sized on device pixels.
88
89         No change in behavior.
90
91         * platform/graphics/GraphicsContext.cpp:
92         (WebCore::GraphicsContext::drawImage):
93         (WebCore::GraphicsContext::drawTiledImage):
94         * platform/graphics/GraphicsContext.h:
95
96 2014-04-02  Alex Christensen  <achristensen@webkit.org>
97
98         [WinCairo] Build fix after r166496.
99         https://bugs.webkit.org/show_bug.cgi?id=131006
100
101         Reviewed by Carlos Garcia Campos.
102
103         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
104         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
105         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
106         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
107         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
108         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
109         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
110         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
111         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
112         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
113         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
114         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
115         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
116         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
117         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
118         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
119         (webkitVideoSinkRender):
120         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
121         (webKitWebSrcChangeState):
122         (webKitWebSrcNeedDataCb):
123         (webKitWebSrcEnoughDataCb):
124         (webKitWebSrcSeekDataCb):
125         Added std::function<void()> constructors to help Visual Studio decide which version of 
126         GMainLoopSource::schedule or GMainLoopSource::scheduleAfterDelay to use.
127
128 2014-04-02  Zalan Bujtas  <zalan@apple.com>
129
130         Subpixel rendering: Transition class CSSImageGeneratorValue/class StyleImage (and its dependencies) from 
131         IntSize to FloatSize to enable subpixel sized (generated)images.
132         https://bugs.webkit.org/show_bug.cgi?id=130659
133
134         Reviewed by Simon Fraser and Andreas Kling.
135
136         This is in preparation to support subpixel positioned/sized background images. Generated images
137         needs to be able to sized on device pixels.
138
139         No change in behavior.
140
141         * WebCore.vcxproj/WebCore.vcxproj:
142         * WebCore.vcxproj/WebCore.vcxproj.filters:
143         * WebCore.xcodeproj/project.pbxproj:
144         * css/CSSCanvasValue.cpp:
145         (WebCore::CSSCanvasValue::fixedSize):
146         (WebCore::CSSCanvasValue::image):
147         * css/CSSCanvasValue.h:
148         * css/CSSCrossfadeValue.cpp:
149         (WebCore::CSSCrossfadeValue::fixedSize):
150         (WebCore::CSSCrossfadeValue::image):
151         * css/CSSCrossfadeValue.h:
152         * css/CSSFilterImageValue.cpp:
153         (WebCore::CSSFilterImageValue::fixedSize):
154         (WebCore::CSSFilterImageValue::image):
155         * css/CSSFilterImageValue.h:
156         * css/CSSGradientValue.cpp:
157         (WebCore::CSSGradientValue::image):
158         (WebCore::positionFromValue):
159         (WebCore::CSSGradientValue::computeEndPoint):
160         (WebCore::endPointsFromAngle):
161         (WebCore::CSSLinearGradientValue::createGradient):
162         (WebCore::CSSRadialGradientValue::createGradient):
163         * css/CSSGradientValue.h:
164         (WebCore::CSSGradientValue::fixedSize):
165         * css/CSSImageGeneratorValue.cpp:
166         (WebCore::CSSImageGeneratorValue::cachedImageForSize):
167         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
168         (WebCore::CSSImageGeneratorValue::evictCachedGeneratedImage):
169         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
170         (WebCore::CSSImageGeneratorValue::image):
171         (WebCore::CSSImageGeneratorValue::fixedSize):
172         * css/CSSImageGeneratorValue.h:
173         * loader/cache/CachedImage.cpp:
174         (WebCore::CachedImage::setContainerSizeForRenderer):
175         * loader/cache/CachedImage.h:
176         * platform/graphics/FloatSizeHash.h: Added.
177         (WTF::FloatHash<WebCore::FloatSize>::hash):
178         (WTF::FloatHash<WebCore::FloatSize>::equal):
179         (WTF::HashTraits<WebCore::FloatSize>::constructDeletedValue):
180         (WTF::HashTraits<WebCore::FloatSize>::isDeletedValue):
181         * platform/graphics/LayoutSize.h:
182         (WebCore::flooredForPainting):
183         * rendering/RenderImageResourceStyleImage.h:
184         * rendering/RenderListMarker.cpp:
185         (WebCore::RenderListMarker::computePreferredLogicalWidths):
186         * rendering/style/StyleCachedImage.cpp:
187         (WebCore::StyleCachedImage::imageSize):
188         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
189         (WebCore::StyleCachedImage::image):
190         * rendering/style/StyleCachedImage.h:
191         * rendering/style/StyleCachedImageSet.cpp:
192         (WebCore::StyleCachedImageSet::imageSize):
193         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
194         (WebCore::StyleCachedImageSet::image):
195         * rendering/style/StyleCachedImageSet.h:
196         * rendering/style/StyleGeneratedImage.cpp:
197         (WebCore::StyleGeneratedImage::imageSize):
198         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
199         (WebCore::StyleGeneratedImage::image):
200         * rendering/style/StyleGeneratedImage.h:
201         * rendering/style/StyleImage.h:
202         * rendering/style/StylePendingImage.h:
203         * svg/graphics/SVGImageCache.cpp:
204         (WebCore::SVGImageCache::setContainerSizeForRenderer):
205         * svg/graphics/SVGImageCache.h:
206
207 2014-04-02  Gergo Balogh  <gbalogh.u-szeged@partner.samsung.com>
208
209         Warning fix for RenderLayer.
210         https://bugs.webkit.org/show_bug.cgi?id=131090
211
212         Reviewed by Csaba Osztrogonác.
213
214         * rendering/RenderLayer.cpp:
215         (WebCore::RenderLayer::updateDescendantDependentFlags):
216
217 2014-04-02  Frédéric Wang  <fred.wang@free.fr>
218
219         Operator stretching: read the Open Type MATH table
220         https://bugs.webkit.org/show_bug.cgi?id=130324
221
222         Reviewed by Chris Fleizach.
223
224         We parse and expose some data from the OpenType MATH table that will be
225         be relevant for at least the MathML operator stretching (bug 130322):
226         math constants, italic corrections and size variants / glyph assembly.
227         This will be tested when the MathML code uses the data.
228
229         * WebCore.xcodeproj/project.pbxproj: Add OpenTypeTypes.h to the Mac build.
230         * platform/graphics/opentype/OpenTypeMathData.cpp: We implement the low-level parsing of the MATH table.
231         (WebCore::OpenType::MathItalicsCorrectionInfo::getItalicCorrection):
232         (WebCore::OpenType::MathGlyphInfo::mathItalicsCorrectionInfo):
233         (WebCore::OpenType::GlyphAssembly::getAssemblyParts):
234         (WebCore::OpenType::MathGlyphConstruction::getSizeVariants):
235         (WebCore::OpenType::MathGlyphConstruction::getAssemblyParts):
236         (WebCore::OpenType::MathVariants::mathGlyphConstruction):
237         (WebCore::OpenType::MATHTable::mathConstants):
238         (WebCore::OpenType::MATHTable::mathGlyphInfo):
239         (WebCore::OpenType::MATHTable::mathVariants):
240         (WebCore::OpenTypeMathData::OpenTypeMathData): We load the MATH table.
241         (WebCore::OpenTypeMathData::getMathConstant): We add a function to get values from the MathConstant subtable.
242         (WebCore::OpenTypeMathData::getItalicCorrection): We add a function to get italic correction from the MathGlyphInfo subtable.
243         (WebCore::OpenTypeMathData::getMathVariants): We add a function to get size variants / glyph assembly from the MathVariants subtable.
244         * platform/graphics/opentype/OpenTypeMathData.h: We expose three new functions to get math data.
245         * platform/graphics/opentype/OpenTypeTypes.h: We share the coverage tables that are common to vertical and math data.
246         (WebCore::OpenType::TableWithCoverage::getCoverageIndex): We add a function to get the coverage index from a given glyph.
247         * platform/graphics/opentype/OpenTypeVerticalData.cpp: We move the coverage tables to OpenTypeTypes.h.
248
249 2014-04-02  Ion Rosca  <rosca@adobe.com>
250
251         [CSS Blending] Compositing requirements for blending are not computed correctly
252         https://bugs.webkit.org/show_bug.cgi?id=130664
253
254         Reviewed by Dean Jackson.
255
256         Tests: css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html
257                css3/compositing/blend-mode-with-accelerated-sibling.html
258
259         Compositing requirements for blending: if a layer having blend mode
260         other than normal is composited for any reason, its closest stacking
261         context ancestor should be composited as well.
262
263         * rendering/RenderLayer.cpp:
264         (WebCore::RenderLayer::RenderLayer):
265         * rendering/RenderLayer.h: added a new field,
266         m_hasUnisolatedCompositedBlendingDescendants, which is true if the layer
267         has composited blending descendants not isolated by any stacking context child;
268         added a new method: isolatesCompositedBlending(), which is true if we should
269         accelerate that layer in order to perform isolation correctly.
270
271         * rendering/RenderLayerCompositor.cpp:
272         (WebCore::CompositingState::CompositingState): m_subtreeHasBlending was renamed
273         m_hasUnisolatedCompositedBlendingDescendants in order to be more self-explanatory.
274         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
275         computes the isolation requirements for composited blending by
276         (re)setting RenderLayer::m_hasUnisolatedCompositedBlendingDescendants flag.
277
278         (WebCore::RenderLayerCompositor::reasonsForCompositing):
279         fixed the reason of compositing: isolation instead of blending.
280
281         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
282         * rendering/RenderLayerCompositor.h:
283
284 2014-04-02  Frédéric Wang  <fred.wang@free.fr>
285
286         Operator stretching: expose a math data API
287         https://bugs.webkit.org/show_bug.cgi?id=130572
288
289         Reviewed by Chris Fleizach.
290
291         We expose a new SimpleFontData API to give access to the data from the
292         OpenType MATH table. The class OpenTypeMathData will
293         be implemented in bug 130324. On Darwin platform, we also implement the
294         missing FontPlatformData::openTypeTable function which will be necessary
295         to load the OpenType MATH table. The changes are intended to be used
296         for MathML operator stretching (bug 130322) so tests are not added yet.
297
298         * CMakeLists.txt: add new OpenTypeMathData files.
299         * WebCore.vcxproj/WebCore.vcxproj: ditto.
300         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
301         * WebCore.xcodeproj/project.pbxproj: ditto.
302         * platform/graphics/FontPlatformData.cpp:
303         (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
304         * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
305         * platform/graphics/SimpleFontData.cpp:
306         (WebCore::SimpleFontData::SimpleFontData):
307         (WebCore::SimpleFontData::mathData): Initialize and return the math data.
308         * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
309         * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
310         (WebCore::OpenTypeMathData::OpenTypeMathData):
311         * platform/graphics/opentype/OpenTypeMathData.h: Added.
312         (WebCore::OpenTypeMathData::create):
313         (WebCore::OpenTypeMathData::hasMathData):
314
315 2014-04-01  Mihnea Ovidenie  <mihnea@adobe.com>
316
317         [CSSRegions] Displaying region's children in another region not supported
318         https://bugs.webkit.org/show_bug.cgi?id=130735
319
320         Reviewed by David Hyatt.
321
322         With http://trac.webkit.org/changeset/166353, we disabled the possibility
323         of collecting the region's children into another flow and displaying them
324         in another region.
325         I added a new test for this and also changed the plain ASSERT in Element dtor
326         to ASSERT_WITH_SECURITY_IMPLICATION to better reflect the meaning of the assertion.
327
328         Test: fast/regions/region-child-not-flowed.html
329
330         * dom/Element.cpp:
331         (WebCore::Element::~Element):
332
333 2014-04-01  Andrei Bucur  <abucur@adobe.com>
334
335         [CSS Regions] Simplify the RenderFlowThread state pusher
336         https://bugs.webkit.org/show_bug.cgi?id=131035
337
338         Reviewed by David Hyatt.
339
340         The RenderFlowThread state pusher is desynchronized from the RenderView layout state pusher
341         by one renderer. This patch fixes the anomaly by correctly ordering the push and pop operations
342         between the two systems.
343
344         Tests: no functional change, no new tests.
345
346         * rendering/RenderFlowThread.cpp:
347         (WebCore::RenderFlowThread::pushFlowThreadLayoutState):
348         (WebCore::RenderFlowThread::popFlowThreadLayoutState):
349         (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion):
350         * rendering/RenderView.cpp:
351         (WebCore::RenderView::pushLayoutState):
352         * rendering/RenderView.h:
353
354 2014-04-01  Beth Dakin  <bdakin@apple.com>
355
356         willReveal edge events should be hooked up for overflow:scroll
357         https://bugs.webkit.org/show_bug.cgi?id=131071
358         -and corresponding-
359         <rdar://problem/16190392>
360
361         Reviewed by Sam Weinig.
362
363         This patch moves the will reveal logic from FrameView to Document so that it can 
364         be shared for RenderLayers.
365
366         This is mostly just a moved function, but now the function takes an Element* that 
367         represents the target of the event if the target is not the window.
368         * dom/Document.cpp:
369         (WebCore::Document::sendWillRevealEdgeEventsIfNeeded):
370         * dom/Document.h:
371
372         No longer implement sendWillRevealEdgeEventsIfNeeded() on FrameView or 
373         ScrollableArea at all. Call into Document instead.
374         * page/FrameView.cpp:
375         (WebCore::FrameView::scrollPositionChanged):
376         (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded): Deleted.
377         * page/FrameView.h:
378         * platform/ScrollableArea.h:
379         (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded): Deleted.
380
381         Call sendWillRevealEdgeEventsIfNeeded() after sending scroll events. 
382         * rendering/RenderLayer.cpp:
383         (WebCore::RenderLayer::scrollTo):
384
385 2014-04-01  Jon Honeycutt  <jhoneycutt@apple.com>
386
387         Crash in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients
388
389         <https://bugs.webkit.org/show_bug.cgi?id=121887>
390         <rdar://problem/15073043>
391
392         Reviewed by Dean Jackson.
393
394         Test: svg/filters/first-letter-crash.html
395
396         * rendering/FilterEffectRenderer.cpp:
397         (WebCore::FilterEffectRenderer::buildReferenceFilter):
398         Added a null check to prevent crashes for anonymous RenderObjects.
399
400         * rendering/RenderLayer.cpp:
401         (WebCore::RenderLayer::filterNeedsRepaint):
402         Get the enclosing element, if there is one, and recalculate its style.
403         We use the enclosing element so that we recalculate style for the
404         ancestor of an anonymous RenderElement.
405         (WebCore::RenderLayer::enclosingElement):
406         Remove an assertion; we may now reach this condition if loading a
407         cached SVG document results in RenderLayer::filterNeedsRepaint() being
408         called before the object has been inserted into the render tree.
409
410         * rendering/RenderLayerFilterInfo.cpp:
411         (WebCore::RenderLayer::FilterInfo::notifyFinished):
412         Tell the RenderLayer that the filter needs repainting.
413         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
414         Get the Element from the renderer rather than asking the renderer's
415         Element, which will be null for anonymous RenderObjects.
416
417         * rendering/RenderLayerFilterInfo.h:
418         Removed declaration for the old workaround function, layerElement().
419
420 2014-04-01  Ryuan Choi  <ryuan.choi@samsung.com>
421
422         Build break when disabled VIDEO since r166261
423         https://bugs.webkit.org/show_bug.cgi?id=131087
424
425         Reviewed by Gyuyoung Kim.
426
427         * testing/Internals.cpp: Added ENABLE(VIDEO) guards
428         (WebCore::Internals::simulateSystemSleep):
429         (WebCore::Internals::simulateSystemWake):
430
431 2014-04-01  Timothy Hatcher  <timothy@apple.com>
432
433         Remove HeapProfiler from the Web Inspector protocol.
434
435         https://bugs.webkit.org/show_bug.cgi?id=131070
436
437         Reviewed by Joseph Pecoraro.
438
439         * CMakeLists.txt:
440         * DerivedSources.make:
441         * WebCore.vcxproj/WebCore.vcxproj:
442         * WebCore.vcxproj/WebCore.vcxproj.filters:
443         * WebCore.xcodeproj/project.pbxproj:
444         * bindings/js/ScriptHeapSnapshot.h: Removed.
445         * bindings/js/ScriptProfiler.h:
446         (WebCore::ScriptProfiler::takeHeapSnapshot): Deleted.
447         (WebCore::ScriptProfiler::isSampling): Deleted.
448         (WebCore::ScriptProfiler::hasHeapProfiler): Deleted.
449         * inspector/InspectorAllInOne.cpp:
450         * inspector/InspectorController.cpp:
451         (WebCore::InspectorController::InspectorController):
452         * inspector/InspectorHeapProfilerAgent.cpp: Removed.
453         * inspector/InspectorHeapProfilerAgent.h: Removed.
454         * inspector/InspectorInstrumentation.cpp:
455         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
456         * inspector/InspectorProfilerAgent.cpp:
457         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
458         (WebCore::InspectorProfilerAgent::getProfileHeaders):
459         (WebCore::InspectorProfilerAgent::removeProfile):
460         (WebCore::InspectorProfilerAgent::resetState): The CommandLineAPIHost call to
461         clear inspected objects should have not been here. It was only needed by the
462         HeapProfilerAgent.
463         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
464         (WebCore::InspectorProfilerAgent::collectGarbage): Deleted.
465         (WebCore::InspectorProfilerAgent::createSnapshotHeader): Deleted.
466         (WebCore::InspectorProfilerAgent::isSampling): Deleted.
467         (WebCore::InspectorProfilerAgent::hasHeapProfiler): Deleted.
468         (WebCore::InspectorProfilerAgent::getHeapSnapshot): Deleted.
469         (WebCore::InspectorProfilerAgent::takeHeapSnapshot): Deleted.
470         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId): Deleted.
471         (WebCore::InspectorProfilerAgent::getHeapObjectId): Deleted.
472         * inspector/InspectorProfilerAgent.h:
473         * inspector/InstrumentingAgents.h:
474         (WebCore::InstrumentingAgents::inspectorHeapProfilerAgent): Deleted.
475         (WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent): Deleted.
476         * inspector/WebConsoleAgent.cpp:
477         (WebCore::WebConsoleAgent::addInspectedHeapObject): Deleted.
478         * inspector/WebConsoleAgent.h:
479         * inspector/WorkerInspectorController.cpp:
480         (WebCore::WorkerInspectorController::WorkerInspectorController):
481         * inspector/protocol/HeapProfiler.json: Removed.
482         * inspector/protocol/Profiler.json:
483
484 2014-04-01  Zoltan Horvath  <zoltan@webkit.org>
485
486         [CSS Exclusions] Remove exclusions parsing support
487         https://bugs.webkit.org/show_bug.cgi?id=131046
488
489         Reviewed by David Hyatt.
490
491         CSS Exclusions specification [1] needs some evolution before the actual implementation happens.
492         We have only the parsing code in WebKit for -webkit-wrap-flow and -webkit-wrap-through.
493         This patch removes the code from the trunk for now, it doesn't make sense to keep it around.
494
495         [1] http://www.w3.org/TR/css3-exclusions/
496
497         Removed existing parsing tests.
498
499         * css/CSSComputedStyleDeclaration.cpp:
500         (WebCore::ComputedStyleExtractor::propertyValue):
501         * css/CSSParser.cpp:
502         (WebCore::isValidKeywordPropertyAndValue):
503         (WebCore::isKeywordPropertyID):
504         (WebCore::CSSParser::parseValue):
505         * css/CSSPrimitiveValueMappings.h:
506         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
507         (WebCore::CSSPrimitiveValue::operator WrapFlow): Deleted.
508         (WebCore::CSSPrimitiveValue::operator WrapThrough): Deleted.
509         * css/CSSPropertyNames.in:
510         * css/CSSValueKeywords.in:
511         * css/DeprecatedStyleBuilder.cpp:
512         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
513         * css/StyleResolver.cpp:
514         (WebCore::StyleResolver::applyProperty):
515         * rendering/style/RenderStyle.cpp:
516         (WebCore::RenderStyle::changeRequiresLayout):
517         * rendering/style/RenderStyle.h:
518         * rendering/style/RenderStyleConstants.h:
519         * rendering/style/StyleRareNonInheritedData.cpp:
520         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
521         (WebCore::StyleRareNonInheritedData::operator==):
522         * rendering/style/StyleRareNonInheritedData.h:
523
524 2014-04-01  Timothy Hatcher  <timothy@apple.com>
525
526         Remove the rest of the old Canvas inspection support.
527
528         https://bugs.webkit.org/show_bug.cgi?id=131066
529
530         Reviewed by Joseph Pecoraro.
531
532         * CMakeLists.txt: Removed Canvas.json.
533         * DerivedSources.make: Ditto.
534         * inspector/InjectedScriptCanvasModuleSource.js: Removed.
535         * inspector/protocol/Canvas.json: Removed.
536
537 2014-04-01  Alexey Proskuryakov  <ap@apple.com>
538
539         Eliminate HTMLFormElement::m_shouldSubmit
540         https://bugs.webkit.org/show_bug.cgi?id=131055
541
542         Reviewed by Tim Horton.
543
544         m_shouldSubmit was used for two purposes:
545         - as a return value in a function whose return value is ignored by all callers;
546         - to make a decision that's local to a function.
547
548         There is no need for it to be an instance variable.
549
550         * html/HTMLFormElement.cpp:
551         (WebCore::HTMLFormElement::HTMLFormElement):
552         (WebCore::HTMLFormElement::prepareForSubmission):
553         (WebCore::HTMLFormElement::submit):
554         * html/HTMLFormElement.h:
555
556 2014-04-01  Benjamin Poulain  <bpoulain@apple.com>
557
558         Remove a couple of useless static strings
559         https://bugs.webkit.org/show_bug.cgi?id=131003
560
561         Reviewed by David Kilzer.
562
563         There is zero value in keeping those strings alive.
564
565         * css/StyleProperties.cpp:
566         (WebCore::isInitialOrInherit):
567
568 2014-04-01  Myles C. Maxfield  <mmaxfield@apple.com>
569
570         svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html frequently assert in ComplexTextController::offsetForPosition
571         https://bugs.webkit.org/show_bug.cgi?id=119747
572
573         Reviewed by Simon Fraser.
574
575         Even though kerning and ligatures currently don't work with the
576         simple text path, messing those up is better than creating null
577         CTRun and CTLine objects.
578
579         Rather than calling the badly-named renderingContext() function on TextRun objects
580         to determine if they are drawn with an SVG font, this patch creates a wrapper function
581         with a better name and uses that instead.
582
583         Test: svg/text/svg-font-hittest.html
584
585         * platform/graphics/Font.cpp:
586         (WebCore::isDrawnWithSVGFont): Wrapper around renderingContext()
587         (WebCore::Font::drawText): Use wrapper function
588         (WebCore::Font::drawEmphasisMarks): Use wrapper function
589         (WebCore::Font::width): Use wrapper function
590         (WebCore::Font::selectionRectForText): Use wrapper function
591         (WebCore::Font::offsetForPosition): If we are using an SVG font, use the simple path
592         instead of the complex one
593         (WebCore::Font::codePath): Use wrapper function
594         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
595         (WebCore::FontPlatformData::ctFont):
596
597 2014-04-01  Daniel Bates  <dabates@apple.com>
598
599         RenderQuote must destroy remaining text renderer before first letter renderer
600         https://bugs.webkit.org/show_bug.cgi?id=78023
601         <rdar://problem/10830009>
602
603         Reviewed by Brent Fulgham.
604
605         Merged from Blink (patch by Abhishek Arya):
606         https://src.chromium.org/viewvc/blink?view=rev&revision=151270
607
608         Following the fix for <https://bugs.webkit.org/show_bug.cgi?id=114586>, a
609         RenderQuote may have child render objects for the first letter of its text
610         and everything following the first letter so as to support the CSS first-
611         letter property. The latter renderer is responsible for destroying the former
612         on destruction. It's sufficient to reverse the destruction of the children of
613         RenderQuote to ensure that we destroy the remaining text renderer before we
614         destroy the first letter renderer.
615
616         Test: fast/css-generated-content/quote-first-letter-crash.html
617
618         * rendering/RenderQuote.cpp:
619         (WebCore::RenderQuote::updateText):
620
621 2014-04-01  David Kilzer  <ddkilzer@apple.com>
622
623         Do not allow HTTP refresh headers to refresh to javascript: URLs
624         <http://webkit.org/b/119051>
625         <rdar://problem/14536453>
626
627         Reviewed by Alexey Proskuryakov.
628
629         Merged from Blink (patch by tsepez@chromium.org):
630         https://src.chromium.org/viewvc/blink?revision=153912&view=revision
631         http://crbug.com/258151
632
633             This behaviour has been standard in IE since IE7.  This makes us both
634             more compatible and less vulnerable to XSS.
635
636         Tests: http/tests/security/no-javascript-location-percent-escaped.html
637                http/tests/security/no-javascript-location.html
638                http/tests/security/no-javascript-refresh-percent-escaped.php
639                http/tests/security/no-javascript-refresh-spaces.php
640                http/tests/security/no-javascript-refresh-static-percent-escaped.html
641                http/tests/security/no-javascript-refresh-static-spaces.html
642                http/tests/security/no-javascript-refresh-static.html
643                http/tests/security/no-javascript-refresh.php
644
645         * dom/Document.cpp:
646         (WebCore::Document::processHttpEquiv):
647         * loader/FrameLoader.cpp:
648         (WebCore::FrameLoader::receivedFirstData):
649         - Do not fire meta http refresh for a javascript: URL protocol.
650
651 2014-04-01  Pratik Solanki  <psolanki@apple.com>
652
653         Unreviewed build fix. Remove duplicate file entries.
654
655         * WebCore.xcodeproj/project.pbxproj:
656
657 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
658
659         Enable WEB_TIMING on Mac and iOS
660         https://bugs.webkit.org/show_bug.cgi?id=128064
661
662         Reviewed by Sam Weinig, Brent Fulgham.
663
664         Enable WEB_TIMING. Add PerformanceTiming.cpp and JSPerformanceTiming.cpp
665         to the project.
666         
667         * Configurations/FeatureDefines.xcconfig:
668         * WebCore.xcodeproj/project.pbxproj:
669
670 2014-04-01  James Craig  <jcraig@apple.com>
671
672         AX: AccessibilityRenderObject::ariaLiveRegionAtomic() should default to true if
673         roleValue is ApplicationAlertRole || ApplicationStatusRole
674         https://bugs.webkit.org/show_bug.cgi?id=130907
675
676         Reviewed by Chris Fleizach.
677
678         Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
679                platform/mac/accessibility/aria-liveregions-attributes.html:
680
681         Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.
682
683         * accessibility/AccessibilityRenderObject.cpp:
684         (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
685
686 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
687
688         Unreviewed. Fixing debug builds after r166586.
689
690         * svg/SVGElement.cpp:
691         (WebCore::SVGElement::addEventListener): Fix the ASSERT.
692         (WebCore::SVGElement::removeEventListener): Ditto.
693
694 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
695
696         Prevent unnecessary copies in compareEqual template
697         https://bugs.webkit.org/show_bug.cgi?id=131014
698
699         Reviewed by Antti Koivisto.
700
701         * rendering/style/RenderStyle.h:
702         (compareEqual): Casting the second parameter to a non-const, non-reference type
703         causes an extra copy of that object. Casting to the const reference type of the
704         first parameter avoids that.
705
706 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
707
708         Avoid unnecessary HashSet copies when calling collectInstancesForSVGElement
709         https://bugs.webkit.org/show_bug.cgi?id=131020
710
711         Reviewed by Andreas Kling.
712
713         Remove collectInstancesForSVGElement() to avoid HashSet copies when assigning a const
714         HashSet reference to a non-const HashSet reference. Instead, range-based for-loops are
715         deployed to iterate directly over the const reference to HashSet that's returned by
716         SVGElement::instancesForElement(). SVGElement::containingShadowRoot() return value
717         is checked to see if the iteration should be performed in the first place, preserving
718         the behavior of collectInstancesForSVGElement().
719
720         * svg/SVGElement.cpp:
721         (WebCore::SVGElement::addEventListener):
722         (WebCore::SVGElement::removeEventListener):
723         (WebCore::collectInstancesForSVGElement): Deleted.
724
725 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
726
727         Move the attributes HashMap out of the parseAttributes function
728         https://bugs.webkit.org/show_bug.cgi?id=131019
729
730         Reviewed by Andreas Kling.
731
732         * xml/parser/XMLDocumentParserLibxml2.cpp:
733         (WebCore::parseAttributes): Avoid copying the HashMap object that's being returned by
734         converting it to an xvalue through using std::move() in the return statement.
735
736 2014-04-01  Zalan Bujtas  <zalan@apple.com>
737
738         Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
739         https://bugs.webkit.org/show_bug.cgi?id=130643
740
741         Reviewed by Simon Fraser.
742
743         This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
744         subpixel sizing on hidpi resolutions, both generated and hidpi images can.
745         This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
746
747         No change in behavior.
748
749         * WebCore.exp.in:
750         * css/CSSCrossfadeValue.cpp:
751         (WebCore::CSSCrossfadeValue::fixedSize):
752         * css/CSSFilterImageValue.cpp:
753         (WebCore::CSSFilterImageValue::fixedSize):
754         * html/canvas/WebGLRenderingContext.cpp:
755         (WebCore::WebGLRenderingContext::drawImageIntoBuffer):
756         * loader/cache/CachedImage.cpp:
757         (WebCore::CachedImage::imageSizeForRenderer):
758         * page/EventHandler.cpp:
759         (WebCore::EventHandler::selectCursor):
760         * platform/Cursor.cpp:
761         (WebCore::determineHotSpot):
762         * platform/graphics/BitmapImage.cpp:
763         (WebCore::BitmapImage::size):
764         (WebCore::BitmapImage::currentFrameSize):
765         * platform/graphics/BitmapImage.h:
766         * platform/graphics/CrossfadeGeneratedImage.cpp:
767         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
768         (WebCore::drawCrossfadeSubimage):
769         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
770         * platform/graphics/CrossfadeGeneratedImage.h:
771         * platform/graphics/GeneratedImage.h:
772         * platform/graphics/Gradient.cpp:
773         (WebCore::Gradient::adjustParametersForTiledDrawing):
774         * platform/graphics/Gradient.h:
775         * platform/graphics/GradientImage.cpp:
776         (WebCore::GradientImage::drawPattern):
777         * platform/graphics/GradientImage.h:
778         * platform/graphics/GraphicsContext.cpp:
779         (WebCore::GraphicsContext::createCompatibleBuffer):
780         * platform/graphics/GraphicsContext.h:
781         * platform/graphics/Image.cpp:
782         (WebCore::Image::adjustSourceRectForDownSampling):
783         * platform/graphics/Image.h:
784         (WebCore::Image::setContainerSize):
785         (WebCore::Image::rect):
786         (WebCore::Image::width):
787         (WebCore::Image::height):
788         * platform/graphics/ImageBuffer.cpp:
789         (WebCore::ImageBuffer::createCompatibleBuffer):
790         * platform/graphics/ImageBuffer.h:
791         (WebCore::ImageBuffer::create):
792         * platform/graphics/IntPoint.cpp:
793         (WebCore::IntPoint::IntPoint):
794         * platform/graphics/IntPoint.h:
795         * platform/graphics/IntSize.cpp:
796         (WebCore::IntSize::IntSize):
797         * platform/graphics/IntSize.h:
798         * platform/graphics/cairo/ImageBufferCairo.cpp:
799         (WebCore::ImageBuffer::ImageBuffer):
800         * platform/graphics/cairo/ImageCairo.cpp:
801         (WebCore::Image::drawPattern):
802         * platform/graphics/cg/ImageBufferCG.cpp:
803         (WebCore::ImageBuffer::ImageBuffer):
804         * platform/graphics/cg/ImageBufferDataCG.cpp:
805         * platform/graphics/cg/PDFDocumentImage.cpp:
806         (WebCore::PDFDocumentImage::size):
807         (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
808         (WebCore::applyRotationForPainting):
809         * platform/graphics/cg/PDFDocumentImage.h:
810         * platform/graphics/cg/PatternCG.cpp:
811         (WebCore::Pattern::createPlatformPattern):
812         * platform/graphics/mac/GraphicsContextMac.mm:
813         * platform/graphics/mac/IconMac.mm:
814         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
815         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
816         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
817         (WebCore::CoordinatedImageBacking::update):
818         * platform/graphics/win/ImageCGWin.cpp:
819         (WebCore::BitmapImage::getHBITMAPOfSize):
820         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
821         * platform/graphics/win/ImageCairoWin.cpp:
822         (WebCore::BitmapImage::getHBITMAPOfSize):
823         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
824         * platform/mac/DragImageMac.mm:
825         (WebCore::createDragImageFromImage):
826         * platform/win/DragImageCGWin.cpp:
827         (WebCore::createDragImageFromImage):
828         * platform/win/PasteboardWin.cpp:
829         (WebCore::Pasteboard::writeImage):
830         * rendering/RenderImage.cpp:
831         (WebCore::RenderImage::imageSizeForError):
832         (WebCore::RenderImage::paintReplaced):
833         * rendering/RenderLayer.cpp:
834         (WebCore::RenderLayer::drawPlatformResizerImage):
835         * svg/graphics/SVGImage.cpp:
836         (WebCore::SVGImage::setContainerSize):
837         * svg/graphics/SVGImage.h:
838         * svg/graphics/SVGImageCache.cpp:
839         (WebCore::SVGImageCache::imageSizeForRenderer):
840         * svg/graphics/SVGImageCache.h:
841         * svg/graphics/SVGImageForContainer.cpp:
842         (WebCore::SVGImageForContainer::size):
843         * svg/graphics/SVGImageForContainer.h:
844         * svg/graphics/filters/SVGFEImage.cpp:
845         (WebCore::FEImage::externalRepresentation):
846         * testing/Internals.cpp:
847         (WebCore::Internals::getCurrentCursorInfo):
848
849 2014-04-01  Ryuan Choi  <ryuan.choi@samsung.com>
850
851         Unreviewed build fix when disabled ACCESSIBILITY
852
853         * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
854         Separated macros not to check ATK version when disabled ACCESSIBILITY
855
856 2014-04-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
857
858         [CMake][EFL] Enable CSS JIT
859         https://bugs.webkit.org/show_bug.cgi?id=131010
860
861         Reviewed by Benjamin Poulain.
862
863         Add an inclusion path for enabling CSS JIT on EFL and GTK ports.
864         This patch only enables it for EFL port.
865
866         * CMakeLists.txt:
867
868 2014-04-01  Martin Robinson  <mrobinson@igalia.com>
869
870         [GTK] Readonly attributes installed as readwrite in GObject DOM bindings
871         https://bugs.webkit.org/show_bug.cgi?id=130978
872
873         Reviewed by Carlos Garcia Campos.
874
875         Unify how we decide if an attribute is readable or writeable and improve the code.
876         This results in some attributes now being marked as read-only which didn't have
877         corresponding case statements in the set_property switch statements and also correctly
878         installs set_property support for some more POD types.
879
880         * bindings/scripts/CodeGeneratorGObject.pm:
881         (IsPropertyReadable): Added this helper to simplify deciding if an attribute is readable.
882         (IsPropertyWriteable): Added this helper to simplify deciding if an attribute is writeable. Also
883         update the list of types to reflect the full list of types we can generate setters for.
884         (GenerateProperty): Use the IsPropertyWriteable helper instead of checking whether the attribute is read-only.
885         Also fix generation of the blurb by using $mutableString instead of $mutableStringconst which isn't used.
886         (GenerateProperties): Use grep and the new helpers to simplify the code.
887         (GetReadableProperties): Deleted.
888         (GetWriteableProperties): Deleted.
889         * bindings/scripts/test/GObject: Update results
890
891 2014-03-31  Ryuan Choi  <ryuan.choi@samsung.com>
892
893         [EFL][WK2] Extract the control of page background out of color_set
894         https://bugs.webkit.org/show_bug.cgi?id=127539
895
896         Reviewed by Gyuyoung Kim.
897
898         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
899         Added m_viewBackgroundColor to clear when m_setDrawsBackground is false.
900         (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
901         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
902         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
903         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
904         (WebCore::CoordinatedGraphicsScene::setViewBackgroundColor):
905         (WebCore::CoordinatedGraphicsScene::viewBackgroundColor):
906         * rendering/RenderLayerBacking.cpp:
907         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
908         Added EFL guard not to set opaque as a default for MainFrameRenderViewLayer.
909         * rendering/RenderLayerCompositor.cpp:
910         (WebCore::RenderLayerCompositor::ensureRootLayer):
911         Added EFL guard to apply page scale on RenderView like IOS.
912
913 2014-03-31  Byungseon Shin  <sun.shin@lge.com>
914
915         [WebGL][OpenGLES] Enable MSAA support for WebGL Canvas
916         https://bugs.webkit.org/show_bug.cgi?id=130955
917
918         Reviewed by Dean Jackson.
919
920         To avoid aliasing issues when we render content to WebGL canvas,
921          we need to implement MSAA support.
922         - Imagination OpenGLES GPU Driver already support MSAA, so we
923          need a separate code path to enable it.
924
925         * platform/graphics/Extensions3D.h:
926         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
927         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
928         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
929         (WebCore::Extensions3DOpenGLCommon::isImagination):
930         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
931         (WebCore::GraphicsContext3D::reshapeFBOs):
932
933 2014-03-31  Alexey Proskuryakov  <ap@apple.com>
934
935         Crashes in PageConsole::addMessage
936         https://bugs.webkit.org/show_bug.cgi?id=130991
937         <rdar://problem/14795232>
938
939         Reviewed by Geoffrey Garen.
940
941         Test: http/tests/misc/detached-frame-console.html
942
943         * page/DOMWindow.cpp: (WebCore::DOMWindow::printErrorMessage): Added a null check.
944         It's legitimate for this to be called for a window that is not currently displayed
945         in a frame.
946
947 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
948
949         [UI-side compositing] Proxy animations to the UI process
950         https://bugs.webkit.org/show_bug.cgi?id=130946
951
952         Reviewed by Tim Horton.
953         
954         To proxy CA animations, make PlatformCAAnimation a pure virtual base class
955         and subclass for Mac, Windows, and Remote (just like PlatformCALayer).
956         
957         Add coding support for TimingFunctions.
958         
959         Do some minor #include tidyup.
960         
961         Minor refactor in GraphicsLayerCA to share some animations code.
962
963         * WebCore.exp.in:
964         * WebCore.xcodeproj/project.pbxproj:
965         * platform/animation/TimingFunction.h: Add setters need for encode/decode.
966         (WebCore::CubicBezierTimingFunction::setValues):
967         (WebCore::CubicBezierTimingFunction::setTimingFunctionPreset):
968         (WebCore::StepsTimingFunction::create):
969         (WebCore::StepsTimingFunction::setNumberOfSteps):
970         (WebCore::StepsTimingFunction::setStepAtStart):
971         * platform/graphics/ca/GraphicsLayerCA.cpp:
972         (WebCore::GraphicsLayerCA::createPlatformCAAnimation):
973         (WebCore::GraphicsLayerCA::animationCanBeAccelerated): Minor refactor so we can share
974         code with GraphicsLayerCARemote.
975         (WebCore::GraphicsLayerCA::addAnimation):
976         (WebCore::GraphicsLayerCA::createBasicAnimation):
977         (WebCore::PassRefPtr<PlatformCAAnimation>GraphicsLayerCA::createKeyframeAnimation):
978         * platform/graphics/ca/GraphicsLayerCA.h:
979         * platform/graphics/ca/PlatformCAAnimation.h:
980         (WebCore::PlatformCAAnimation::~PlatformCAAnimation):
981         (WebCore::PlatformCAAnimation::isPlatformCAAnimationMac):
982         (WebCore::PlatformCAAnimation::isPlatformCAAnimationWin):
983         (WebCore::PlatformCAAnimation::isPlatformCAAnimationRemote):
984         (WebCore::PlatformCAAnimation::PlatformCAAnimation):
985         (WebCore::PlatformCAAnimation::setType):
986         * platform/graphics/ca/PlatformCALayer.h:
987         * platform/graphics/ca/mac/PlatformCAAnimationMac.h: Added.
988         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
989         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
990         (PlatformCALayerMac::addAnimationForKey):
991         (PlatformCALayerMac::animationForKey):
992         * platform/graphics/ca/mac/TileController.mm:
993         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
994         * platform/graphics/ca/win/PlatformCAAnimationWin.h: Added.
995
996 2014-03-31  Benjamin Poulain  <benjamin@webkit.org>
997
998         CSS JIT: compile the first-child pseudo class
999         https://bugs.webkit.org/show_bug.cgi?id=130954
1000
1001         Reviewed by Andreas Kling.
1002
1003         * css/ElementRuleCollector.cpp:
1004         (WebCore::ElementRuleCollector::collectMatchingRules):
1005         The compiler use the context's style directly when resolving style. An error introduced
1006         in the rule collector would cause a crash in the compiled code which would be hard to debug.
1007         Add an assertion early in the stack to catch errors where it is easier to debug them.
1008
1009         * css/StyleResolver.cpp:
1010         (WebCore::StyleResolver::State::initForStyleResolve):
1011         * cssjit/SelectorCompiler.cpp:
1012         (WebCore::SelectorCompiler::addPseudoType):
1013         (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
1014         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacentElement):
1015         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
1016         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
1017         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
1018         Refactor those to be able to reuse the code getting a sibling element preceding the current element.
1019
1020         (WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
1021         Extract the code checking the current mode from SelectorCodeGenerator::markParentElementIfResolvingStyle()
1022         in a separate function. This will be useful for all the pseudo class with marking.
1023
1024         (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
1025         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
1026         (WebCore::SelectorCompiler::setFirstChildState):
1027         This is the slow path for when the first-child pseudo class is on a fragment that is not
1028         the rightmost.
1029         The reason to use a slow path is accessing renderStyle() is not trivial and this case isn't not
1030         as common. We should improve this later.
1031
1032         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
1033         This is just implementing the test for first-child plus the tree marking. Nothing fancy,
1034         this is basically the same thing as SelectorChecker.
1035
1036         * dom/Element.cpp:
1037         (WebCore::Element::setChildrenAffectedByFirstChildRules):
1038         * dom/Element.h:
1039         C++ fallback to set the flag, to be improved later with the other flags.
1040
1041         * rendering/style/RenderStyle.h:
1042         I accidentaly put noninheritedFlagsMemoryOffset() as private in the RenderStyle refactoring.
1043
1044         Also update the flags accessor to make them easier to work with from the compiler. In particular,
1045         setFirstChildStateFlags() sets both isUnique and firstChild. Currently the JIT does not need to access
1046         the value so individual flags are made private.
1047
1048 2014-03-31  Dean Jackson  <dino@apple.com>
1049
1050         Remove WEB_ANIMATIONS
1051         https://bugs.webkit.org/show_bug.cgi?id=130989
1052
1053         Reviewed by Simon Fraser.
1054
1055         Remove this feature flag until we plan to implement.
1056
1057         * Configurations/FeatureDefines.xcconfig:
1058
1059 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1060
1061         Fix iOS build.
1062
1063         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
1064         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
1065
1066 2014-03-31  Pratik Solanki  <psolanki@apple.com>
1067
1068         Unreviewed. iOS build fix after r166532. Add missing comma.
1069
1070         * dom/DocumentMarker.h:
1071
1072 2014-03-31  Brady Eidson  <beidson@apple.com>
1073
1074         Add variant of phone number parsing that use DocumentMarker in the current selection
1075         <rdar://problem/16379566> and https://bugs.webkit.org/show_bug.cgi?id=130917
1076
1077         Reviewed by Darin Adler.
1078
1079         * dom/DocumentMarker.h:
1080         (WebCore::DocumentMarker::AllMarkers::AllMarkers): Add a new TelephoneNumber document marker type.
1081
1082         * editing/Editor.cpp:
1083         (WebCore::Editor::respondToChangedSelection):
1084         (WebCore::Editor::scanSelectionForTelephoneNumbers): TextIterate over the selected range looking for numbers.
1085         (WebCore::Editor::scanRangeForTelephoneNumbers): Scan the given range for a telephone number,
1086           adding the DocumentMarker to any that are found.
1087         (WebCore::Editor::clearDataDetectedTelephoneNumbers):
1088         * editing/Editor.h:
1089
1090         * html/parser/HTMLTreeBuilder.cpp:
1091         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Only linkify on iOS.
1092
1093         * rendering/InlineTextBox.cpp:
1094         (WebCore::InlineTextBox::paintTelephoneNumberMarker): Placeholder UI while the feature is developed.
1095         (WebCore::InlineTextBox::paintDocumentMarkers):
1096         * rendering/InlineTextBox.h:
1097
1098         * testing/Internals.cpp:
1099         (WebCore::markerTypesFrom):
1100
1101 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1102
1103         [iOS WK2] Hook up scroll events for accelerated overflow:scroll
1104         https://bugs.webkit.org/show_bug.cgi?id=130976
1105
1106         Reviewed by Tim Horton.
1107
1108         When an accelerated overflow:scroll is scrolled in the UI process,
1109         tell the WebProcess that the scroll happened to update RenderLayer
1110         state and fire events.
1111         
1112         In the WebProcess, RemoteScrollingCoordinator gets a message from the
1113         UI process and calls AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll().
1114         Fixed that function to handle scrolling nodes other than the root, which
1115         required storing a map of ScrollingNodeID->RenderLayer* on RenderLayerCompositor,
1116         accessible through FrameView::scrollableAreaForScrollLayerID().
1117
1118         * WebCore.exp.in:
1119         * page/FrameView.cpp:
1120         (WebCore::FrameView::scrollableAreaForScrollLayerID):
1121         * page/FrameView.h:
1122         * page/scrolling/AsyncScrollingCoordinator.cpp:
1123         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): Handle
1124         overflow as well as main frame scrolling nodes.
1125         * page/scrolling/ScrollingTree.cpp:
1126         (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling): Use isScrollingNode().
1127         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): When an overflow
1128         scroll node was scrolled externally, we have to update layers in decendant nodes,
1129         and then call scrollingTreeNodeDidScroll() which tells the ScrollingCoordinator that
1130         we scrolled.
1131         * page/scrolling/ScrollingTree.h: Try to reduce confusion between the roles played
1132         by these various functions, some of which happen in the UI process with UI-side
1133         compositing.
1134         * page/scrolling/ScrollingTreeScrollingNode.h:
1135         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Need some functions to be
1136         callable by subclasses.
1137         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
1138         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
1139         * rendering/RenderLayerCompositor.cpp:
1140         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): Add
1141         scrolling layers to the m_scrollingNodeToLayerMap
1142         (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Remove
1143         layer from the m_scrollingNodeToLayerMap.
1144         (WebCore::RenderLayerCompositor::scrollableAreaForScrollLayerID):
1145         * rendering/RenderLayerCompositor.h:
1146
1147 2014-03-31  Antti Koivisto  <antti@apple.com>
1148
1149         Rename TileCache to LegacyTileCache
1150         https://bugs.webkit.org/show_bug.cgi?id=130986
1151
1152         Reviewed by Simon Fraser.
1153
1154         Rename iOS WebKit1 tile cache classes to reflect its status.
1155         This also frees some good type names.
1156
1157         TileCache -> LegacyTileCache
1158         TileGrid -> LegacyTileGrid
1159         TileGridTile -> LegacyTileGridTile
1160         etc.
1161
1162 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1163
1164         Small adjustments to WebCore::IOSurface
1165         https://bugs.webkit.org/show_bug.cgi?id=130981
1166
1167         Reviewed by Simon Fraser.
1168
1169         * WebCore.exp.in:
1170         Export some more things.
1171
1172         * platform/graphics/cocoa/IOSurface.h:
1173         createImage() can't be const because it calls ensurePlatformContext().
1174
1175         * platform/graphics/cocoa/IOSurface.mm:
1176         (IOSurface::createImage):
1177         We should be able to create an image even if the CGContext has been cleared (or never created).
1178
1179         (IOSurface::isInUse):
1180         Rename inUse() to isInUse().
1181
1182         (IOSurface::clearGraphicsContext):
1183         Add clearGraphicsContext().
1184
1185 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1186
1187         Allocate IOSurfaces with the same cache mode that CoreAnimation uses
1188         https://bugs.webkit.org/show_bug.cgi?id=130982
1189
1190         Reviewed by Simon Fraser.
1191
1192         * platform/graphics/cocoa/IOSurface.mm:
1193         (IOSurface::IOSurface):
1194         CA uses kIOMapWriteCombineCache for IOSurfaces allocated on iOS.
1195
1196 2014-03-31  Ion Rosca  <rosca@adobe.com>
1197
1198         [CSS Blending] Blend mode property is propagated to multiple GraphicLayers
1199         https://bugs.webkit.org/show_bug.cgi?id=130337
1200
1201         Reviewed by Dean Jackson.
1202
1203         Resets the blend mode for graphicsLayer when it has an ancestorClippingLayer.
1204
1205         Test: css3/compositing/blend-mode-ancestor-clipping-layer.html
1206
1207         * rendering/RenderLayer.cpp:
1208         (WebCore::RenderLayer::updateBlendMode):
1209         (WebCore::RenderLayer::calculateClipRects):
1210         * rendering/RenderLayerBacking.cpp:
1211         (WebCore::RenderLayerBacking::updateBlendMode):
1212         * rendering/RenderLayerBacking.h:
1213
1214 2014-03-31  Ion Rosca  <rosca@adobe.com>
1215
1216         [CSS Blending] showLayerTree should dump layer's blend mode and isolation properties
1217         https://bugs.webkit.org/show_bug.cgi?id=130922
1218
1219         Reviewed by Simon Fraser.
1220
1221         This change only updates existing tests involving blending. No new test required,
1222         as there is no new or changed functionality.
1223
1224         * rendering/RenderLayer.h: adding blendMode() getter.
1225         * rendering/RenderTreeAsText.cpp:
1226         (WebCore::write):
1227         adding blendMode property and layer's isolation status (does layer isolate blending descendants or not?).
1228
1229 2014-03-31  Benjamin Poulain  <benjamin@webkit.org>
1230
1231         CSS JIT: clean up the functions ending when generating a checker with context
1232         https://bugs.webkit.org/show_bug.cgi?id=130959
1233
1234         Reviewed by Andreas Kling.
1235
1236         This code got refactored over time and now both branches do the exact same action
1237         on the stack.
1238         This patch removes the stack split and move the stack cleanup in the common ending
1239         just before restoring the callee saved registers.
1240
1241         * cssjit/SelectorCompiler.cpp:
1242         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
1243
1244 2014-03-31  Beth Dakin  <bdakin@apple.com>
1245
1246         ThemeMac should use std::array instead of IntSize* for control sizes
1247         https://bugs.webkit.org/show_bug.cgi?id=130985
1248
1249         Reviewed by Darin Adler.
1250
1251         Replace uses of const IntSize* with const std::array<IntSize, 3>
1252         * platform/mac/ThemeMac.mm:
1253         (WebCore::sizeFromNSControlSize):
1254         (WebCore::sizeFromFont):
1255         (WebCore::controlSizeFromPixelSize):
1256         (WebCore::setControlSize):
1257         (WebCore::checkboxSizes):
1258         (WebCore::radioSizes):
1259         (WebCore::buttonSizes):
1260         (WebCore::setUpButtonCell):
1261         (WebCore::stepperSizes):
1262
1263 2014-03-31  Hans Muller  <hmuller@adobe.com>
1264
1265         [CSS Shapes] Simplify RasterShape implementation
1266         https://bugs.webkit.org/show_bug.cgi?id=130916
1267
1268         Reviewed by Dean Jackson.
1269
1270         Since only floats can specify shape-outside, the RasterShapeIntervals
1271         class only needs to track the first and last above threshold pixel column
1272         (x1 and x2 in the implementation) for each row. Removed code for dealing with
1273         multiple "runs" per row as well as shape-inside internals.
1274
1275         No new tests, since functionality was only removed.
1276
1277         * rendering/shapes/RasterShape.cpp:
1278         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
1279         (WebCore::RasterShapeIntervals::initializeBounds):
1280         (WebCore::RasterShapeIntervals::buildBoundsPath):
1281         (WebCore::RasterShape::getExcludedIntervals):
1282         * rendering/shapes/RasterShape.h:
1283         (WebCore::RasterShapeIntervals::RasterShapeIntervals):
1284         (WebCore::RasterShapeIntervals::intervalAt):
1285         (WebCore::RasterShape::RasterShape):
1286         * rendering/shapes/Shape.cpp:
1287         (WebCore::Shape::createRasterShape):
1288         * rendering/shapes/ShapeInterval.h:
1289         (WebCore::ShapeInterval::unite):
1290
1291 2014-03-31  Andreas Kling  <akling@apple.com>
1292
1293         Always inline toJS() for NodeList.
1294         <https://webkit.org/b/130974>
1295
1296         This is a pretty cheesy optimization, but it's a 3% progression on
1297         Dromaeo/dom-query.html on my MBP.
1298
1299         Reviewed by Benjamin Poulain.
1300
1301         * WebCore.exp.in:
1302         * WebCore.xcodeproj/project.pbxproj:
1303         * bindings/js/JSNodeListCustom.h: Added.
1304         (WebCore::toJS):
1305         * dom/NodeList.idl:
1306
1307 2014-03-31  Benjamin Poulain  <bpoulain@apple.com>
1308
1309         Attempt to fix the 32bits debug builds
1310
1311         The additional debug flags in RefCounted cause the structure to have different alignment
1312         with the 64bits flags.
1313
1314         * rendering/style/RenderStyle.cpp:
1315
1316 2014-03-29  Simon Fraser  <simon.fraser@apple.com>
1317
1318         Clarify some scrolling tree terminology
1319         https://bugs.webkit.org/show_bug.cgi?id=130929
1320
1321         Reviewed by Tim Horton.
1322
1323         Attempt to reduce some ambiguity in scrolling tree terminology.
1324         When async scrolling occurs, there are two tasks we have to perform:
1325         1. Layers need to be updated to reflect the scroll
1326         2. WebCore state has to be updated.
1327         The "updateForViewport" name didn't clearly reflect which of these
1328         tasks was being performed, so rename it to updateLayersAfterViewportChange()
1329         to reflect the fact that it only does the first.
1330         
1331         Remove the Mac implementation of updateLayersAfterViewportChange(), since
1332         it was confsued about this, and was never called anyway.
1333
1334         * WebCore.exp.in:
1335         * page/scrolling/ScrollingTree.cpp:
1336         (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
1337         * page/scrolling/ScrollingTreeScrollingNode.h:
1338         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
1339         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
1340         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):
1341         (WebCore::ScrollingTreeScrollingNodeIOS::updateForViewport): Deleted.
1342         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1343         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1344         (WebCore::ScrollingTreeScrollingNodeMac::updateLayersAfterViewportChange):
1345         (WebCore::ScrollingTreeScrollingNodeMac::updateForViewport): Deleted.
1346
1347 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1348
1349         [iOS WebKit2] Disable tile cohort retention for now
1350         https://bugs.webkit.org/show_bug.cgi?id=130926
1351         <rdar://problem/16465413>
1352
1353         Reviewed by Simon Fraser.
1354
1355         * WebCore.exp.in:
1356         * page/Settings.cpp:
1357         (WebCore::Settings::Settings):
1358         (WebCore::Settings::setScrollingPerformanceLoggingEnabled):
1359         (WebCore::Settings::setAggressiveTileRetentionEnabled): Deleted.
1360         * page/Settings.h:
1361         (WebCore::Settings::aggressiveTileRetentionEnabled): Deleted.
1362         * page/Settings.in:
1363         Use Settings.in for these simple settings.
1364
1365         * platform/graphics/GraphicsLayerClient.h:
1366         (WebCore::GraphicsLayerClient::shouldAggressivelyRetainTiles):
1367         (WebCore::GraphicsLayerClient::shouldTemporarilyRetainTileCohorts):
1368         * platform/graphics/TiledBacking.h:
1369         * platform/graphics/ca/GraphicsLayerCA.cpp:
1370         (WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
1371         (WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):
1372         * platform/graphics/ca/GraphicsLayerCA.h:
1373         * platform/graphics/ca/PlatformCALayerClient.h:
1374         (WebCore::PlatformCALayerClient::platformCALayerShouldAggressivelyRetainTiles):
1375         (WebCore::PlatformCALayerClient::platformCALayerShouldTemporarilyRetainTileCohorts):
1376         * rendering/RenderLayerBacking.cpp:
1377         (WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
1378         (WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
1379         * rendering/RenderLayerBacking.h:
1380         Plumb the two tile-retention settings through to TileController in a pull manner
1381         instead of a push manner, as there were some cases (especially on iOS) where
1382         the settings weren't always getting pushed down.
1383
1384         * platform/graphics/ca/mac/TileController.h:
1385         * platform/graphics/ca/mac/TileController.mm:
1386         (WebCore::TileController::TileController):
1387         (WebCore::TileController::tileRevalidationTimerFired):
1388         (WebCore::TileController::revalidateTiles):
1389         (WebCore::TileController::drawTileMapContents):
1390         Aggressive tile retention wins over temporary retention. If we aren't
1391         using temporary (cohort) retention, throw away the cohort as soon as it
1392         is created.
1393
1394 2014-03-31  Beth Dakin  <bdakin@apple.com>
1395
1396         Radio buttons and checkboxes should share code
1397         https://bugs.webkit.org/show_bug.cgi?id=130915
1398
1399         Reviewed by Sam Weinig.
1400
1401         Radio buttons and checkboxes now share a lot of code. The common term for both is 
1402         toggle buttons.
1403
1404         Move these radio-sizing functions up in the file to be next to the checkbox sizing 
1405         functions.
1406         * platform/mac/ThemeMac.mm:
1407         (WebCore::radioSizes):
1408         (WebCore::radioMargins):
1409         (WebCore::radioSize):
1410
1411         Configures a radio button or a checkbox.
1412         (WebCore::configureToggleButton):
1413
1414         Creates a radio button or a checkbox.
1415         (WebCore::createToggleButtonCell):
1416
1417         Still have a shared cell for each.
1418         (WebCore::sharedRadioCell):
1419         (WebCore::sharedCheckboxCell):
1420
1421         Does the work of the old paintRadio() and paintCheckbox().
1422         (WebCore::paintToggleButton):
1423
1424         Use sharedRadioCell() here.
1425         (WebCore::ThemeMac::inflateControlPaintRect):
1426
1427         Call paintToggleButton() for radio buttons and checkboxes.
1428         (WebCore::ThemeMac::paint):
1429
1430         All gone.
1431         (WebCore::configureCheckbox): Deleted.
1432         (WebCore::createCheckboxCell): Deleted.
1433         (WebCore::paintCheckbox): Deleted.
1434         (WebCore::radio): Deleted.
1435         (WebCore::paintRadio): Deleted.
1436
1437 2014-03-31  Samuel White  <samuel_white@apple.com>
1438
1439         AX: Need ability to get line range for text marker.
1440         https://bugs.webkit.org/show_bug.cgi?id=130906
1441
1442         Reviewed by Chris Fleizach.
1443
1444         Added ability to get line range from any marker on that line. This matches the functionality of existing
1445         attributes such as AXParagraphTextMarkerRangeForTextMarker and AXSentenceTextMarkerRangeForTextMarker.
1446
1447         Test: platform/mac/accessibility/line-range-for-text-marker.html
1448
1449         * accessibility/AccessibilityObject.cpp:
1450         (WebCore::AccessibilityObject::visiblePositionRangeForRange):
1451         (WebCore::AccessibilityObject::lineRangeForPosition):
1452         * accessibility/AccessibilityObject.h:
1453         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1454         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1455         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1456
1457 2014-03-31  Anders Carlsson  <andersca@apple.com>
1458
1459         Fix iOS build.
1460
1461         * page/ChromeClient.h:
1462         (WebCore::ChromeClient::updateViewportConstrainedLayers):
1463
1464 2014-03-31  Jer Noble  <jer.noble@apple.com>
1465
1466         [MSE][Mac] Support lease-renewal.
1467         https://bugs.webkit.org/show_bug.cgi?id=130919
1468
1469         Reviewed by Eric Carlson.
1470
1471         Trigger a new key request when receiving an update message containting "renew".
1472
1473         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1474         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Drive-by fix; generate a UTF-8
1475             based array.
1476         (WebCore::CDMSessionMediaSourceAVFObjC::update):
1477
1478 2014-03-31  Alexey Proskuryakov  <ap@apple.com>
1479
1480         Remove special handling of soft hyphens in search code
1481         https://bugs.webkit.org/show_bug.cgi?id=130940
1482
1483         Reviewed by Anders Carlsson.
1484
1485         ICU knows to ignore soft hyphens, so we don't need to replace them before searching.
1486
1487         Covered by existing tests.
1488
1489         * editing/TextIterator.cpp:
1490         (WebCore::foldQuoteMark):
1491         (WebCore::foldQuoteMarks):
1492         (WebCore::SearchBuffer::SearchBuffer):
1493         (WebCore::SearchBuffer::append):
1494         (WebCore::foldQuoteMarkOrSoftHyphen): Deleted.
1495         (WebCore::foldQuoteMarksAndSoftHyphens): Deleted.
1496
1497 2014-03-31  Alex Christensen  <achristensen@webkit.org>
1498
1499         Preparation for using Soup on Windows.
1500         https://bugs.webkit.org/show_bug.cgi?id=130615
1501
1502         Reviewed by Carlos Garcia Campos.
1503
1504         * WebCore.vcxproj/WebCore.vcxproj:
1505         * WebCore.vcxproj/WebCore.vcxproj.filters:
1506         Added Soup source files in WinCairo build.
1507         * loader/soup/CachedRawResourceSoup.cpp:
1508         * loader/soup/SubresourceLoaderSoup.cpp:
1509         * platform/soup/SharedBufferSoup.cpp:
1510         * platform/soup/URLSoup.cpp:
1511         * platform/network/NetworkStorageSessionStub.cpp:
1512         Only build if USE(SOUP) to prevent building when USE(CURL) is true.
1513         * platform/network/soup/ResourceHandleSoup.cpp:
1514         Only include unistd.h in non-Visual Studio builds.
1515         This would normally be done with a HAVE_UNISTD_H macro when compiling glib and Soup,
1516         but that would need to be left undefined for Visual Studio.
1517
1518 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
1519
1520         Unreviewed. Addressing reviewing comments for r166491 that I forgot
1521         to address before landing.
1522
1523         * html/FormController.cpp:
1524         (WebCore::SavedFormState::deserialize): No need to move the std::unique_ptr
1525         object on the way out.
1526         (WebCore::FormController::createSavedFormStateMap): FormKeyGenerator can be
1527         allocated on the stack.
1528         (WebCore::FormController::formStatesFromStateVector): Use auto.
1529
1530 2014-03-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1531
1532         [GTK] Use GMainLoopSource for idle and timeout sources in WebCore
1533         https://bugs.webkit.org/show_bug.cgi?id=130078
1534
1535         Reviewed by Philippe Normand.
1536
1537         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1538         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1539         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
1540         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1541         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1542         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1543         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1544         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1545         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
1546         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1547         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
1548         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1549         * platform/gtk/GtkDragAndDropHelper.cpp:
1550         * platform/gtk/SharedTimerGtk.cpp:
1551
1552 2014-03-31  Andrei Bucur  <abucur@adobe.com>
1553
1554         Wrong layout while animating content in regions
1555         https://bugs.webkit.org/show_bug.cgi?id=125086
1556
1557         Reviewed by David Hyatt.
1558
1559         The region to layer and regions to layer mappings should be cleared when the region chain changes.
1560
1561         Test: fast/regions/layers/region-removed-during-animation.html
1562
1563         * rendering/RenderFlowThread.cpp:
1564         (WebCore::RenderFlowThread::invalidateRegions): Clear the two maps and flag them for recomputation.
1565         (WebCore::RenderFlowThread::cachedRegionForCompositedLayer): Assert that the returned region exists.
1566
1567 2014-03-31  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
1568
1569         Remove hostThisRegister() and hostThisValue()
1570         https://bugs.webkit.org/show_bug.cgi?id=130895
1571
1572         Reviewed by Geoffrey Garen.
1573
1574         Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
1575
1576         No new tests, no behavior changes.
1577
1578         * bindings/js/JSNavigatorCustom.cpp:
1579         (WebCore::JSNavigator::webkitGetUserMedia):
1580         * bindings/js/JSPluginElementFunctions.cpp:
1581         (WebCore::callPlugin):
1582         * bindings/scripts/CodeGeneratorJS.pm:
1583         (GenerateImplementation):
1584         * bindings/scripts/test/JS/JSFloat64Array.cpp:
1585         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
1586         (WebCore::jsFloat64ArrayPrototypeFunctionSet):
1587         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1588         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
1589         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
1590         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1591         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
1592         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1593         (WebCore::jsTestEventTargetPrototypeFunctionItem):
1594         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
1595         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
1596         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
1597         * bindings/scripts/test/JS/JSTestInterface.cpp:
1598         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
1599         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
1600         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
1601         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
1602         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
1603         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
1604         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1605         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1606         * bindings/scripts/test/JS/JSTestObj.cpp:
1607         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
1608         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1609         (WebCore::jsTestObjPrototypeFunctionByteMethod):
1610         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
1611         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
1612         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
1613         (WebCore::jsTestObjPrototypeFunctionLongMethod):
1614         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
1615         (WebCore::jsTestObjPrototypeFunctionObjMethod):
1616         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1617         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1618         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
1619         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
1620         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1621         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1622         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
1623         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
1624         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
1625         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
1626         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1627         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1628         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
1629         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
1630         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
1631         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
1632         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
1633         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
1634         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
1635         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
1636         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
1637         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
1638         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1639         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1640         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
1641         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
1642         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
1643         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
1644         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1645         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
1646         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
1647         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
1648         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
1649         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1650         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1651         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1652         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1653         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
1654         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
1655         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1656         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
1657         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1658         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
1659         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
1660         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
1661         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
1662         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
1663         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
1664         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
1665         (WebCore::jsTestObjPrototypeFunctionConvert1):
1666         (WebCore::jsTestObjPrototypeFunctionConvert2):
1667         (WebCore::jsTestObjPrototypeFunctionConvert4):
1668         (WebCore::jsTestObjPrototypeFunctionConvert5):
1669         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
1670         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
1671         (WebCore::jsTestObjPrototypeFunctionOrange):
1672         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
1673         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
1674         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
1675         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
1676         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
1677         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
1678         (WebCore::jsTestObjPrototypeFunctionAny):
1679         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1680         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
1681         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
1682         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
1683         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
1684         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
1685         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
1686         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
1687         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
1688         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
1689         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
1690         * bridge/objc/objc_runtime.mm:
1691         (JSC::Bindings::callObjCFallbackObject):
1692         * bridge/runtime_method.cpp:
1693         (JSC::callRuntimeMethod):
1694
1695 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
1696
1697         Move the rest of Source/WebCore/html/ code to std::unique_ptr
1698         https://bugs.webkit.org/show_bug.cgi?id=129669
1699
1700         Reviewed by Anders Carlsson.
1701
1702         Replace the remaining uses of OwnPtr, PassOwnPtr under Source/WebCore/html/ with std::unique_ptr.
1703
1704         * html/FormController.cpp:
1705         (WebCore::SavedFormState::SavedFormState):
1706         (WebCore::SavedFormState::deserialize):
1707         (WebCore::FormController::createSavedFormStateMap):
1708         (WebCore::FormController::formElementsState):
1709         (WebCore::FormController::takeStateForFormElement):
1710         (WebCore::FormController::formStatesFromStateVector):
1711         * html/FormController.h:
1712         * html/HTMLAreaElement.cpp:
1713         (WebCore::HTMLAreaElement::mapMouseEvent):
1714         * html/HTMLAreaElement.h:
1715         * html/HTMLCanvasElement.cpp:
1716         (WebCore::HTMLCanvasElement::setSurfaceSize):
1717         (WebCore::HTMLCanvasElement::createImageBuffer):
1718         * html/HTMLCanvasElement.h:
1719         * html/HTMLCollection.h:
1720         * html/HTMLEmbedElement.cpp:
1721         (WebCore::HTMLEmbedElement::parseAttribute):
1722         * html/HTMLFormControlElement.cpp:
1723         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
1724         * html/HTMLFormControlElement.h:
1725         * html/HTMLFormElement.cpp:
1726         (WebCore::HTMLFormElement::addToPastNamesMap):
1727         * html/HTMLFormElement.h:
1728         * html/HTMLInputElement.cpp:
1729         (WebCore::HTMLInputElement::imageLoader):
1730         (WebCore::HTMLInputElement::resetListAttributeTargetObserver):
1731         * html/HTMLInputElement.h:
1732         (WebCore::HTMLInputElement::hasImageLoader):
1733         * html/HTMLObjectElement.cpp:
1734         (WebCore::HTMLObjectElement::parseAttribute):
1735         * html/HTMLPlugInImageElement.cpp:
1736         (WebCore::HTMLPlugInImageElement::startLoadingImage):
1737         * html/HTMLPlugInImageElement.h:
1738         * html/HTMLVideoElement.cpp:
1739         (WebCore::HTMLVideoElement::didAttachRenderers):
1740         (WebCore::HTMLVideoElement::parseAttribute):
1741         * html/HTMLVideoElement.h:
1742         * html/ValidationMessage.cpp:
1743         (WebCore::ValidationMessage::ValidationMessage):
1744         (WebCore::ValidationMessage::setMessage):
1745         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
1746         (WebCore::ValidationMessage::requestToHideMessage):
1747         * html/ValidationMessage.h:
1748
1749 2014-03-31  Maurice van der Pot  <griffon26@kfk4ever.com>
1750
1751         Fix mixed use of booleans in JPEGImageDecoder.cpp
1752         https://bugs.webkit.org/show_bug.cgi?id=122412
1753
1754         Reviewed by Darin Adler.
1755
1756         Trivial fix for compilation error; no new tests.
1757
1758         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1759         (WebCore::JPEGImageReader::decode):
1760         (WebCore::fill_input_buffer):
1761         Use TRUE/FALSE defined by libjpeg for libjpeg booleans
1762
1763 2014-03-23  Zan Dobersek  <zdobersek@igalia.com>
1764
1765         Move Source/WebCore/rendering/ code to std::unique_ptr
1766         https://bugs.webkit.org/show_bug.cgi?id=129664
1767
1768         Reviewed by Anders Carlsson.
1769
1770         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/rendering/ with std::unique_ptr.
1771
1772         * platform/graphics/FloatPolygon.cpp:
1773         (WebCore::FloatPolygon::FloatPolygon):
1774         * platform/graphics/FloatPolygon.h:
1775         * rendering/ClipPathOperation.h:
1776         * rendering/FlowThreadController.cpp:
1777         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
1778         * rendering/FlowThreadController.h:
1779         * rendering/HitTestLocation.h:
1780         * rendering/HitTestResult.cpp:
1781         (WebCore::HitTestResult::HitTestResult):
1782         (WebCore::HitTestResult::operator=):
1783         (WebCore::HitTestResult::rectBasedTestResult):
1784         (WebCore::HitTestResult::mutableRectBasedTestResult):
1785         * rendering/HitTestResult.h:
1786         * rendering/HitTestingTransformState.cpp:
1787         * rendering/ImageQualityController.h:
1788         * rendering/RenderBlock.cpp:
1789         (WebCore::removeBlockFromDescendantAndContainerMaps):
1790         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
1791         (WebCore::RenderBlock::addContinuationWithOutline):
1792         (WebCore::RenderBlock::paintContinuationOutlines):
1793         (WebCore::RenderBlock::insertIntoTrackedRendererMaps):
1794         (WebCore::RenderBlock::removeFromTrackedRendererMaps):
1795         (WebCore::RenderBlock::setComputedColumnCountAndWidth):
1796         * rendering/RenderBlock.h:
1797         * rendering/RenderBlockFlow.cpp:
1798         (WebCore::RenderBlockFlow::createFloatingObjects):
1799         * rendering/RenderBlockFlow.h:
1800         * rendering/RenderBoxRegionInfo.h:
1801         * rendering/RenderButton.cpp:
1802         (WebCore::RenderButton::styleDidChange):
1803         * rendering/RenderButton.h:
1804         * rendering/RenderCounter.cpp:
1805         (WebCore::makeCounterNode):
1806         * rendering/RenderFlowThread.cpp:
1807         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
1808         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
1809         * rendering/RenderFlowThread.h:
1810         * rendering/RenderGeometryMap.cpp:
1811         (WebCore::RenderGeometryMap::push):
1812         (WebCore::RenderGeometryMap::pushView):
1813         * rendering/RenderGeometryMap.h:
1814         * rendering/RenderGrid.cpp:
1815         (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
1816         (WebCore::RenderGrid::placeItemsOnGrid):
1817         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
1818         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
1819         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
1820         (WebCore::RenderGrid::resolveGridPositionsFromStyle):
1821         (WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition):
1822         (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
1823         (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
1824         (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
1825         * rendering/RenderGrid.h:
1826         * rendering/RenderImageResource.h:
1827         * rendering/RenderLayer.cpp:
1828         (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
1829         (WebCore::RenderLayer::updateTransform):
1830         (WebCore::RenderLayer::setupFilters):
1831         (WebCore::RenderLayer::paintLayerContents):
1832         (WebCore::RenderLayer::paintChildLayerIntoColumns):
1833         (WebCore::RenderLayer::hitTestChildLayerColumns):
1834         (WebCore::RenderLayer::updateClipRects):
1835         (WebCore::RenderLayer::calculateClipRects):
1836         * rendering/RenderLayer.h:
1837         (WebCore::RenderLayer::clearZOrderLists):
1838         * rendering/RenderLayerCompositor.cpp:
1839         (WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh):
1840         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
1841         * rendering/RenderLayerCompositor.h:
1842         * rendering/RenderLayerFilterInfo.cpp:
1843         (WebCore::RenderLayer::FilterInfo::map):
1844         (WebCore::RenderLayer::FilterInfo::get):
1845         * rendering/RenderLayerFilterInfo.h:
1846         * rendering/RenderRegion.cpp:
1847         (WebCore::RenderRegion::setRenderBoxRegionInfo):
1848         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
1849         * rendering/RenderRegion.h:
1850         * rendering/RenderTable.cpp:
1851         (WebCore::RenderTable::styleDidChange):
1852         * rendering/RenderTable.h:
1853         * rendering/RenderView.cpp:
1854         (WebCore::RenderView::selectionBounds):
1855         (WebCore::RenderView::setSelection):
1856         (WebCore::RenderView::compositor):
1857         (WebCore::RenderView::flowThreadController):
1858         (WebCore::RenderView::imageQualityController):
1859         * rendering/RenderView.h:
1860         * rendering/RootInlineBox.h:
1861         (WebCore::RootInlineBox::appendFloat):
1862         * rendering/TextAutosizer.h:
1863         * rendering/shapes/PolygonShape.cpp:
1864         (WebCore::computeShapePaddingBounds):
1865         (WebCore::computeShapeMarginBounds):
1866         * rendering/shapes/PolygonShape.h:
1867         (WebCore::PolygonShape::PolygonShape):
1868         * rendering/shapes/RasterShape.cpp:
1869         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
1870         * rendering/shapes/RasterShape.h:
1871         (WebCore::RasterShape::RasterShape):
1872         * rendering/shapes/Shape.cpp:
1873         (WebCore::createInsetShape):
1874         (WebCore::createRectangleShape):
1875         (WebCore::createCircleShape):
1876         (WebCore::createEllipseShape):
1877         (WebCore::createPolygonShape):
1878         (WebCore::Shape::createShape):
1879         (WebCore::Shape::createRasterShape):
1880         (WebCore::Shape::createLayoutBoxShape):
1881         * rendering/shapes/Shape.h:
1882         * rendering/shapes/ShapeInfo.h:
1883         (WebCore::ShapeInfo::markShapeAsDirty):
1884         (WebCore::ShapeInfo::isShapeDirty):
1885         * rendering/shapes/ShapeInsideInfo.h:
1886         * rendering/style/ContentData.h:
1887         * rendering/style/CounterDirectives.cpp:
1888         (WebCore::clone):
1889         * rendering/style/CounterDirectives.h:
1890         * rendering/style/GridCoordinate.h:
1891         * rendering/style/RenderStyle.cpp:
1892         (WebCore::RenderStyle::addCachedPseudoStyle):
1893         (WebCore::RenderStyle::accessCounterDirectives):
1894         (WebCore::RenderStyle::accessAnimations):
1895         (WebCore::RenderStyle::accessTransitions):
1896         * rendering/style/RenderStyle.h:
1897         * rendering/style/StyleRareNonInheritedData.cpp:
1898         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1899         * rendering/style/StyleRareNonInheritedData.h:
1900         * rendering/svg/RenderSVGResourceGradient.cpp:
1901         (WebCore::RenderSVGResourceGradient::applyResource):
1902         * rendering/svg/RenderSVGResourceGradient.h:
1903         * rendering/svg/RenderSVGResourcePattern.cpp:
1904         (WebCore::RenderSVGResourcePattern::buildPattern):
1905         * rendering/svg/RenderSVGResourcePattern.h:
1906         * rendering/svg/RenderSVGShape.cpp:
1907         (WebCore::RenderSVGShape::updateShapeFromElement):
1908         * rendering/svg/RenderSVGShape.h:
1909         * rendering/svg/SVGResources.cpp:
1910         (WebCore::SVGResources::setClipper):
1911         (WebCore::SVGResources::setFilter):
1912         (WebCore::SVGResources::setMarkerStart):
1913         (WebCore::SVGResources::setMarkerMid):
1914         (WebCore::SVGResources::setMarkerEnd):
1915         (WebCore::SVGResources::setMasker):
1916         (WebCore::SVGResources::setFill):
1917         (WebCore::SVGResources::setStroke):
1918         * rendering/svg/SVGResources.h:
1919         * rendering/svg/SVGResourcesCache.cpp:
1920         (WebCore::SVGResourcesCache::addResourcesFromRenderer):
1921         (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
1922         * rendering/svg/SVGResourcesCache.h:
1923         * rendering/svg/SVGTextMetricsBuilder.cpp:
1924         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
1925         * rendering/svg/SVGTextMetricsBuilder.h:
1926
1927 2014-03-28  Sergio Villar Senin  <svillar@igalia.com>
1928
1929         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in loader
1930         https://bugs.webkit.org/show_bug.cgi?id=130893
1931
1932         Reviewed by Darin Adler.
1933
1934         * loader/ImageLoader.cpp:
1935         (WebCore::beforeLoadEventSender):
1936         (WebCore::loadEventSender):
1937         (WebCore::errorEventSender):
1938         * loader/appcache/ApplicationCacheStorage.cpp:
1939         (WebCore::cacheStorage):
1940         * loader/appcache/ApplicationCacheStorage.h:
1941         * loader/archive/ArchiveFactory.cpp:
1942         (WebCore::archiveMIMETypes):
1943         * loader/cache/CachedImage.cpp:
1944         (WebCore::CachedImage::brokenImage):
1945         * loader/cache/CachedRawResource.cpp:
1946         (WebCore::shouldIgnoreHeaderForCacheReuse):
1947         * loader/cache/MemoryCache.cpp:
1948         (WebCore::dummyCachedImageClient):
1949
1950 2014-03-28  Sergio Villar Senin  <svillar@igalia.com>
1951
1952         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in css
1953         https://bugs.webkit.org/show_bug.cgi?id=130409
1954
1955         Reviewed by Darin Adler.
1956
1957         * css/CSSComputedStyleDeclaration.cpp:
1958         (WebCore::logUnimplementedPropertyID):
1959         * css/CSSDefaultStyleSheets.cpp:
1960         (WebCore::screenEval):
1961         (WebCore::printEval):
1962         * css/CSSParser.cpp:
1963         (WebCore::strictCSSParserContext):
1964         * css/CSSPrimitiveValue.cpp:
1965         (WebCore::cssTextCache):
1966         * css/CSSProperty.cpp:
1967         (WebCore::borderDirections):
1968         * css/CSSStyleRule.cpp:
1969         (WebCore::selectorTextCache):
1970         * css/CSSValuePool.cpp:
1971         (WebCore::cssValuePool):
1972         * css/CSSValuePool.h:
1973         * css/DeprecatedStyleBuilder.cpp:
1974         (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
1975         (WebCore::DeprecatedStyleBuilder::sharedStyleBuilder):
1976         * css/DeprecatedStyleBuilder.h:
1977
1978 2014-03-30  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1979
1980         [GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
1981         https://bugs.webkit.org/show_bug.cgi?id=130665
1982
1983         Reviewed by Martin Robinson.
1984
1985         When we uploaded a video texture to the mapper we were not
1986         considering that some videos could be decoded into a format
1987         without alpha component. Now we check if the video has alpha and
1988         if it does not, we remove the alpha flag when retrieving the
1989         texture from the pool. For this, the method to get the texture
1990         from the pool was modified to receive the flags, that is mapped to
1991         have alpha by default in order not to break any other existing
1992         code.
1993
1994         Though we have a problem with AC in WTR and that makes it
1995         currently not testable, no new tests are needed because once this
1996         is fixed the current test set suffices to detect a possible
1997         regression in this.
1998
1999         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2000         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Check
2001         the video format and decide if the texture shall be pulled with
2002         alpha support or not.
2003         * platform/graphics/texmap/TextureMapper.cpp:
2004         (WebCore::TextureMapper::acquireTextureFromPool): Use the flags
2005         when resetting the texture.
2006         * platform/graphics/texmap/TextureMapper.h:
2007         (WebCore::BitmapTexture::Flag::None): Added with 0x00.
2008         (WebCore::TextureMapper::acquireTextureFromPool): Added flag
2009         parameter to set up the texture with the default for including
2010         alpha channel.
2011
2012 2014-03-30  Jinwoo Song  <jinwoo7.song@samsung.com>
2013
2014         Adopt range-based for loops to TextCheckerEnchant
2015         https://bugs.webkit.org/show_bug.cgi?id=130714
2016
2017         Reviewed by Darin Adler.
2018
2019         * platform/text/enchant/TextCheckerEnchant.cpp:
2020         (WebCore::TextCheckerEnchant::ignoreWord):
2021         (WebCore::TextCheckerEnchant::learnWord):
2022         (WebCore::TextCheckerEnchant::checkSpellingOfWord):
2023         (WebCore::TextCheckerEnchant::getGuessesForWord):
2024         (WebCore::TextCheckerEnchant::updateSpellCheckingLanguages):
2025         (WebCore::TextCheckerEnchant::loadedSpellCheckingLanguages):
2026         (WebCore::TextCheckerEnchant::availableSpellCheckingLanguages):
2027         (WebCore::TextCheckerEnchant::freeEnchantBrokerDictionaries):
2028
2029 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
2030
2031         Second attempt to fix 32bits build after r166465
2032
2033         * rendering/style/RenderStyle.h:
2034         The compiler probably complain about the return value, that makes more sense.
2035
2036 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
2037
2038         Attempt to fix 32bits build after r166465
2039
2040         * rendering/style/RenderStyle.h:
2041
2042 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
2043
2044         Make RenderStyle's non inherited flags more JSC friendly
2045         https://bugs.webkit.org/show_bug.cgi?id=130939
2046
2047         Reviewed by Andreas Kling.
2048
2049         Make RenderStyle::NonInheritedFlags accessible to the JIT:
2050         -Make the struct public to give access to the offset.
2051         -Move away from a bit field to static offsets we can use
2052          with the MacroAssembler.
2053         -Reorder the field to simplify bit access of the flags we need.
2054
2055         * css/DeprecatedStyleBuilder.cpp:
2056         (WebCore::ApplyPropertyVerticalAlign::createHandler):
2057         (WebCore::ApplyPropertyDisplay::applyInitialValue):
2058         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2059         * css/StyleResolver.cpp:
2060         (WebCore::StyleResolver::adjustRenderStyle):
2061         * rendering/style/RenderStyle.cpp:
2062         (WebCore::RenderStyle::RenderStyle):
2063         (WebCore::RenderStyle::copyNonInheritedFrom):
2064         (WebCore::RenderStyle::hashForTextAutosizing):
2065         (WebCore::RenderStyle::equalForTextAutosizing):
2066         (WebCore::RenderStyle::changeRequiresLayout):
2067         * rendering/style/RenderStyle.h:
2068         (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
2069         (WebCore::RenderStyle::hasPseudoStyle):
2070         (WebCore::RenderStyle::setHasPseudoStyle):
2071         * rendering/style/StyleMultiColData.cpp:
2072         (WebCore::StyleMultiColData::StyleMultiColData):
2073         * rendering/style/StyleRareNonInheritedData.cpp:
2074         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2075
2076 2014-03-30  David Kilzer  <ddkilzer@apple.com>
2077
2078         [iOS] Fix build of HTMLConverter.mm after r166454
2079
2080         Fixes the following build failures:
2081
2082             WebCore/editing/cocoa/HTMLConverter.mm:1507:13: error: value of type 'WebCore::Element' is not contextually convertible to 'bool'
2083                     if (element)
2084                         ^~~~~~~
2085             WebCore/editing/cocoa/HTMLConverter.mm:1508:49: error: no matching function for call to 'core'
2086                         _caches->floatPropertyValueForNode(*core(element), CSSPropertyVerticalAlign, verticalAlign);
2087                                                             ^~~~
2088             In file included from WebCore/editing/cocoa/HTMLConverter.mm:41:
2089             In file included from WebCore/page/Frame.h:42:
2090             In file included from WebCore/editing/VisibleSelection.h:30:
2091             In file included from WebCore/editing/VisiblePosition.h:30:
2092             In file included from WebCore/dom/Position.h:31:
2093             WebCore/editing/TextAffinity.h:54:27: note: candidate function not viable: no known conversion from 'WebCore::Element' to 'NSSelectionAffinity' (aka '_NSSelectionAffinity') for 1st argument
2094             inline WebCore::EAffinity core(NSSelectionAffinity affinity)
2095                                       ^
2096             WebCore/editing/cocoa/HTMLConverter.mm:1509:81: error: reference to non-static member function must be called; did you mean to call it with no arguments?
2097                     attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
2098                                                                                     ~~~~~~~~^~~~~~~~~~~~
2099                                                                                                         ()
2100             WebCore/editing/cocoa/HTMLConverter.mm:1509:103: error: reference to non-static member function must be called; did you mean to call it with no arguments?
2101                     attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
2102                                                                                                           ~~~~~~~~^~~~~~~~~~~
2103                                                                                                                              ()
2104             WebCore/editing/cocoa/HTMLConverter.mm:1509:124: error: reference to non-static member function must be called; did you mean to call it with no arguments?
2105                     attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
2106                                                                                                                                ~~~~~~~~^~~~~~~~~~~~
2107                                                                                                                                                    ()
2108             5 errors generated.
2109
2110         * editing/cocoa/HTMLConverter.mm:
2111         (HTMLConverter::_addAttachmentForElement):
2112
2113 2014-03-30  Andreas Kling  <akling@apple.com>
2114
2115         Make NodeList and HTMLCollection caching helpers use PassRef.
2116         <https://webkit.org/b/130943>
2117
2118         Tweak the helpers in NodeListsNodeData to return PassRef instead of
2119         PassRefPtr. This knocks 2 branches off of some pretty hot code on
2120         Dromaeo/dom-query.
2121
2122         Reviewed by Antti Koivisto.
2123
2124         * dom/ChildNodeList.h:
2125         * dom/ClassNodeList.h:
2126         * dom/NameNodeList.h:
2127         * dom/NodeRareData.h:
2128         (WebCore::NodeListsNodeData::ensureChildNodeList):
2129         (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
2130         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
2131         (WebCore::NodeListsNodeData::addCacheWithName):
2132         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
2133         (WebCore::NodeListsNodeData::addCachedCollection):
2134         * dom/TagNodeList.h:
2135         * html/HTMLCollection.cpp:
2136         (WebCore::HTMLCollection::create):
2137         * html/HTMLCollection.h:
2138         * html/HTMLFormControlsCollection.cpp:
2139         (WebCore::HTMLFormControlsCollection::create):
2140         * html/HTMLFormControlsCollection.h:
2141         * html/RadioNodeList.h:
2142
2143 2014-03-29  Antti Koivisto  <antti@apple.com>
2144
2145         LiveNodeLists should use ElementDescendantIterator
2146         https://bugs.webkit.org/show_bug.cgi?id=130931
2147
2148         Reviewed by Andreas Kling.
2149         
2150         Make LiveNodeList traversal use the common DOM tree iterator.
2151
2152         * dom/ChildNodeList.cpp:
2153         (WebCore::ChildNodeList::ChildNodeList):
2154         (WebCore::ChildNodeList::collectionBegin):
2155         (WebCore::ChildNodeList::collectionTraverseForward):
2156         (WebCore::ChildNodeList::collectionTraverseBackward):
2157         (WebCore::ChildNodeList::invalidateCache):
2158         (WebCore::ChildNodeList::collectionFirst): Deleted.
2159         
2160             Iterator for ChildNodeList is still just Node*.
2161
2162         * dom/ChildNodeList.h:
2163         * dom/CollectionIndexCache.h:
2164         (WebCore::CollectionIndexCache::hasValidCache):
2165         (WebCore::Iterator>::CollectionIndexCache):
2166         (WebCore::Iterator>::nodeCount):
2167         (WebCore::Iterator>::computeNodeCountUpdatingListCache):
2168         (WebCore::Iterator>::traverseBackwardTo):
2169         (WebCore::Iterator>::traverseForwardTo):
2170         (WebCore::Iterator>::nodeAt):
2171         (WebCore::Iterator>::invalidate):
2172         
2173             Make CollectionIndexCache iterator based instead of using NodeType*. The iterator type may
2174             still be a Node* though.
2175
2176         (WebCore::NodeType>::CollectionIndexCache): Deleted.
2177         (WebCore::NodeType>::nodeCount): Deleted.
2178         (WebCore::NodeType>::computeNodeCountUpdatingListCache): Deleted.
2179         (WebCore::NodeType>::nodeBeforeCached): Deleted.
2180         (WebCore::NodeType>::nodeAfterCached): Deleted.
2181         (WebCore::NodeType>::nodeAt): Deleted.
2182         (WebCore::NodeType>::invalidate): Deleted.
2183         * dom/ElementDescendantIterator.h:
2184         (WebCore::ElementDescendantIterator::operator--):
2185         
2186             Add backward iteration support.
2187
2188         (WebCore::ElementDescendantIteratorAdapter::last):
2189         (WebCore::ElementDescendantConstIteratorAdapter::last):
2190         
2191             Add a way to get the last item.
2192             Provide std::iterator_traits so we can extract the type.
2193
2194         * dom/LiveNodeList.h:
2195         (WebCore::CachedLiveNodeList::collectionEnd):
2196         (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
2197         (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
2198         (WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
2199         (WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
2200         (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
2201         (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
2202         (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
2203         (WebCore::CachedLiveNodeList<NodeListType>::collectionFirst): Deleted.
2204         
2205             Make LiveNodeList traversal use ElementDescendantIterator.
2206
2207         (WebCore::nextMatchingElement): Deleted.
2208         (WebCore::previousMatchingElement): Deleted.
2209         * html/HTMLCollection.cpp:
2210         (WebCore::HTMLCollection::HTMLCollection):
2211         (WebCore::HTMLCollection::~HTMLCollection):
2212         (WebCore::HTMLCollection::collectionBegin):
2213         (WebCore::HTMLCollection::collectionTraverseForward):
2214         (WebCore::HTMLCollection::collectionTraverseBackward):
2215         (WebCore::HTMLCollection::invalidateCache):
2216         (WebCore::HTMLCollection::collectionFirst): Deleted.
2217         * html/HTMLCollection.h:
2218         (WebCore::HTMLCollection::collectionEnd):
2219         
2220             HTMLCollection still uses Element* as iterator for now.
2221
2222 2014-03-29  Commit Queue  <commit-queue@webkit.org>
2223
2224         Unreviewed, rolling out r166434.
2225         https://bugs.webkit.org/show_bug.cgi?id=130938
2226
2227         Caused crashes and other failures on cache tests (Requested by
2228         ap on #webkit).
2229
2230         Reverted changeset:
2231
2232         "Web Replay: add page-level setting to bypass the MemoryCache"
2233         https://bugs.webkit.org/show_bug.cgi?id=130728
2234         http://trac.webkit.org/changeset/166434
2235
2236 2014-03-29  David Kilzer  <ddkilzer@apple.com>
2237
2238         Preserve selection end positions in directionOfSelection
2239         <http://webkit.org/b/104813>
2240         <rdar://problem/13666417>
2241
2242         Reviewed by Brent Fulgham.
2243
2244         Merged from Blink (patch by kenrb@chromium.org):
2245         https://src.chromium.org/viewvc/blink?revision=150621&view=revision
2246         http://crbug.com/164263
2247
2248             VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
2249             can both cause layouts, which has the potential to invalidate any
2250             rendertree-based objects. This was causing a problem in
2251             FrameSelection::directionOfSelection(), where a reference to a
2252             lineBox was being held across a call to visibleEnd().
2253
2254             This patch ensures that the any layout is completed before linebox
2255             references are retrieved.
2256
2257         Test: editing/selection/layout-during-move-selection-crash.html
2258
2259         * editing/FrameSelection.cpp:
2260         (WebCore::FrameSelection::directionOfSelection):
2261
2262 2014-03-29  Zalan Bujtas  <zalan@apple.com>
2263
2264         Subpixel rendering: Simple line layout should not round to integral position while painting.
2265         https://bugs.webkit.org/show_bug.cgi?id=130934
2266
2267         Reviewed by Simon Fraser.
2268
2269         Remove rounding to integral position. When RenderLayer is injected and hides subpixel positions,
2270         integral rounding produces different paint position.
2271
2272         Test: fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html
2273
2274         * rendering/SimpleLineLayoutFunctions.cpp:
2275         (WebCore::SimpleLineLayout::paintFlow):
2276
2277 2014-03-29  Zalan Bujtas  <zalan@apple.com>
2278
2279         Subpixel rendering: Make GraphicsContext::drawImageBuffer* functions float based.
2280         https://bugs.webkit.org/show_bug.cgi?id=130932
2281
2282         Reviewed by Simon Fraser.
2283         
2284         This is in preparation to support device pixel based filter painting.
2285         Filter calculation is still integral based.
2286
2287         No change in behavior.
2288
2289         * platform/graphics/GraphicsContext.cpp:
2290         (WebCore::GraphicsContext::drawImageBuffer):
2291         * platform/graphics/GraphicsContext.h:
2292         * platform/graphics/filters/FilterEffect.cpp: This will eventually be fully float based.
2293         Right now, this IntRect->FloatRect change is only to ensure that we can call 
2294         the float based drawImageBuffer(). 
2295         (WebCore::FilterEffect::drawingRegionOfInputImage):
2296         * platform/graphics/filters/FilterEffect.h:
2297
2298 2014-03-27  Sam Weinig  <sam@webkit.org>
2299
2300         Convert yet more of HTMLConverter to C++
2301         https://bugs.webkit.org/show_bug.cgi?id=130850
2302
2303         Reviewed by Anders Carlsson.
2304
2305         * editing/cocoa/HTMLConverter.mm:
2306         (HTMLConverterCaches::isAncestorsOfStartToBeConverted):
2307         (HTMLConverter::HTMLConverter):
2308         (HTMLConverter::~HTMLConverter):
2309         (HTMLConverter::convert):
2310         (HTMLConverter::computedAttributesForElement):
2311         (HTMLConverter::attributesForElement):
2312         (HTMLConverter::_newParagraphForElement):
2313         (HTMLConverter::_newLineForElement):
2314         (HTMLConverter::_newTabForElement):
2315         (HTMLConverter::_addAttachmentForElement):
2316         (HTMLConverter::_addQuoteForElement):
2317         (HTMLConverter::_addValue):
2318         (HTMLConverter::_processHeadElement):
2319         (HTMLConverter::_enterElement):
2320         (HTMLConverter::_addTableCellForElement):
2321         (HTMLConverter::_processElement):
2322         (HTMLConverter::_addMarkersToList):
2323         (HTMLConverter::_exitElement):
2324         (HTMLConverter::_processText):
2325         (HTMLConverter::_traverseNode):
2326         (HTMLConverter::_traverseFooterNode):
2327         (WebCore::attributedStringFromRange):
2328         (_childrenForNode): Deleted.
2329         (HTMLConverter::_computedAttributesForElement): Deleted.
2330         (HTMLConverter::_attributesForElement): Deleted.
2331         (HTMLConverter::_loadFromDOMRange): Deleted.
2332
2333 2014-03-28  Csaba Osztrogonác  <ossy@webkit.org>
2334
2335         Unreviewed buildfix after r166441 and r166443.
2336
2337         * CMakeLists.txt: Add platform/audio/AudioHardwareListener.cpp.
2338
2339 2014-03-28  Javier Fernandez  <jfernandez@igalia.com>
2340
2341         [CSS Grid Layout] The 'auto' height must be adapted to the item's margin.
2342         https://bugs.webkit.org/show_bug.cgi?id=130920
2343
2344         Reviewed by Darin Adler.
2345
2346         Adding the grid-item's marginLogicalHeight to the used breadth when computing
2347         content based grid-track sizes.
2348
2349         Test: fast/css-grid-layout/grid-item-margin-auto-columns-rows.html
2350
2351         * rendering/RenderGrid.cpp:
2352         (WebCore::RenderGrid::logicalContentHeightForChild):
2353
2354 2014-03-28  James Craig  <jcraig@apple.com>
2355
2356         Web Inspector: AXI: support for live regions
2357         https://bugs.webkit.org/show_bug.cgi?id=130725
2358
2359         Reviewed by Timothy Hatcher.
2360
2361         Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
2362                inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html
2363
2364         Initial support for @aria-live, @aria-atomic, and @aria-busy.
2365
2366         * inspector/InspectorDOMAgent.cpp:
2367         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
2368         * inspector/protocol/DOM.json:
2369
2370 2014-03-28  Darin Adler  <darin@apple.com>
2371
2372         Fix recently-introduced off-by-one error in centerTruncateToBuffer
2373         https://bugs.webkit.org/show_bug.cgi?id=130889
2374         <rdar://problem/16408694>
2375
2376         Reviewed by Alexey Proskuryakov.
2377
2378         * platform/graphics/StringTruncator.cpp:
2379         (WebCore::centerTruncateToBuffer): Simplified expression that computes truncatedLength.
2380         Removed incorrect "+ 1" from computation of where to write characters.
2381
2382 2014-03-28  Benjamin Poulain  <bpoulain@apple.com>
2383
2384         Update the code related to SelectorPseudoTypeMap to reflect its new purpose
2385         https://bugs.webkit.org/show_bug.cgi?id=130620
2386
2387         Reviewed by Andreas Kling.
2388
2389         Since r166094, SelectorPseudoTypeMap only contains PseudoClass instances and the 4 compatibility PseudoElement.
2390
2391         This patch rename SelectorPseudoTypeMap to SelectorPseudoClassAndCompatibilityElementMap and update the parsing
2392         to split PseudoClass and PseudoElement.
2393
2394         * CMakeLists.txt:
2395         * DerivedSources.make:
2396         * WebCore.xcodeproj/project.pbxproj:
2397         * css/CSSGrammar.y.in:
2398         * css/CSSParserValues.cpp:
2399         (WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
2400         (WebCore::CSSParserSelector::setPseudoClassValue):
2401         * css/CSSParserValues.h:
2402         * css/CSSSelector.cpp:
2403         (WebCore::appendPseudoClassFunctionTail):
2404         (WebCore::CSSSelector::selectorText):
2405         * css/SelectorPseudoClassAndCompatibilityElementMap.in: Renamed from Source/WebCore/css/SelectorPseudoTypeMap.in.
2406         * css/SelectorPseudoTypeMap.h:
2407         * css/makeSelectorPseudoClassAndCompatibilityElementMap.py: Renamed from Source/WebCore/css/makeSelectorPseudoTypeMap.py.
2408         (enumerablePseudoType):
2409         (expand_ifdef_condition):
2410
2411 2014-03-28  Stephanie Lewis  <slewis@apple.com>
2412
2413         Unreviewed build fix.
2414
2415         * platform/audio/AudioHardwareListener.cpp:
2416         (WebCore::AudioHardwareListener::create):
2417         (WebCore::AudioHardwareListener::audioHardwareListenerIsSupported): Deleted.
2418         * platform/audio/AudioHardwareListener.h:
2419
2420 2014-03-28  Lukasz Bialek  <l.bialek@samsung.com>
2421
2422         Refactor cut and copy functions as suggested in FIXME line
2423         https://bugs.webkit.org/show_bug.cgi?id=129867
2424
2425         Reviewed by Darin Adler.
2426
2427         Cut and Copy functions in Editor.cpp use lots of common code.
2428         Those functions are merged into one to share code, several
2429         additional conditions are added to preserve Cut and Copy
2430         functionality.
2431
2432         * editing/Editor.cpp:
2433         (WebCore::Editor::cut):
2434         (WebCore::Editor::copy):
2435         (WebCore::Editor::performCutOrCopy):
2436         * editing/Editor.h:
2437
2438 2014-03-28  Stephanie Lewis  <slewis@apple.com>
2439
2440         Rename pluginDidEvaluate to better represent when it’s called.
2441         Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
2442
2443         Reviewed by Anders Carlsson.
2444
2445         No new test because it’s just a name change.
2446
2447         * page/PageThrottler.h:
2448         (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
2449
2450 2014-03-28  Stephanie Lewis  <slewis@apple.com>
2451
2452         Notification handler for telling if audio hardware is active.
2453         https://bugs.webkit.org/show_bug.cgi?id=130743
2454
2455         Reviewed by Jer Noble.
2456
2457         Not web-exposed so no easy way to test.
2458
2459         Listen to CoreAudio to see if audio hardware is active in the current process.
2460
2461         * WebCore.exp.in:
2462         * WebCore.xcodeproj/project.pbxproj:
2463         * platform/audio/AudioHardwareListener.cpp: Added.
2464         (WebCore::AudioHardwareListener::create):
2465         (WebCore::AudioHardwareListener::AudioHardwareListener):
2466         * platform/audio/AudioHardwareListener.h: Added.
2467         (WebCore::AudioHardwareListener::Client::~Client):
2468         (WebCore::AudioHardwareListener::~AudioHardwareListener):
2469         (WebCore::AudioHardwareListener::isHardwareActive):
2470         * platform/audio/mac/AudioHardwareListenerMac.cpp: Added.
2471         (WebCore::isAudioHardwareProcessRunning):
2472         (WebCore::AudioHardwareListener::create):
2473         (WebCore::AudioHardwareListenerMac::create):
2474         (WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
2475         (WebCore::AudioHardwareListenerMac::~AudioHardwareListenerMac):
2476         (WebCore::AudioHardwareListenerMac::setHardwareActive):
2477         * platform/audio/mac/AudioHardwareListenerMac.h: Added.
2478
2479 2014-03-28  James Craig  <jcraig@apple.com>
2480
2481         Web Inspector: AXI: expose what elements get generic "clickable" status
2482         https://bugs.webkit.org/show_bug.cgi?id=130721
2483
2484         Reviewed by Timothy Hatcher.
2485
2486         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
2487         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html
2488
2489         Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.
2490
2491         Update AccessibilityNodeObject::mouseButtonListener() to optionally return body element if 
2492             requested so that Web Inspector can display body event delegate handlers.
2493
2494         * accessibility/AccessibilityNodeObject.cpp:
2495         (WebCore::AccessibilityNodeObject::mouseButtonListener):
2496         * accessibility/AccessibilityNodeObject.h:
2497         * inspector/InspectorDOMAgent.cpp:
2498         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
2499         * inspector/protocol/DOM.json:
2500
2501 2014-03-28  Joseph Pecoraro  <pecoraro@apple.com>
2502
2503         Web Inspector: Really drop all locks in nested run loop on iOS if WebThread is enabled
2504         https://bugs.webkit.org/show_bug.cgi?id=130912
2505
2506         Reviewed by Geoffrey Garen.
2507
2508         Previously we were calling DropAllLocks inside of a single line if statement,
2509         so the JSLock was getting reaquired very quickly. We really want to DropAllLocks
2510         for the duration of running the nested run loop on iOS if there is a WebThread.
2511
2512         * bindings/js/PageScriptDebugServer.h:
2513         * bindings/js/PageScriptDebugServer.cpp:
2514         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
2515         (WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):
2516
2517 2014-03-28  Brent Fulgham  <bfulgham@apple.com>
2518
2519         [Win] Enable Media Track testing features on Windows
2520         https://bugs.webkit.org/show_bug.cgi?id=130851
2521
2522         Reviewed by Eric Carlson.
2523
2524         * testing/Internals.cpp:
2525         (WebCore::Internals::resetToConsistentState): Execute code on Windows as well.
2526         (WebCore::Internals::Internals): Ditto.
2527         (WebCore::Internals::captionsStyleSheetOverride): Ditto.
2528         (WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
2529         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
2530         (WebCore::Internals::setCaptionDisplayMode): Ditto.
2531
2532 2014-03-28  Brian Burg  <bburg@apple.com>
2533
2534         Web Replay: add page-level setting to bypass the MemoryCache
2535         https://bugs.webkit.org/show_bug.cgi?id=130728
2536
2537         Reviewed by Timothy Hatcher.
2538
2539         When replaying a specific Page we don't want to store its cached resources in the
2540         MemoryCache. This patch adds a page setting to prevent the page's resources from
2541         being saved in the MemoryCache.
2542
2543         If Settings::usesMemoryCache() is false, page resources are given the special
2544         SessionID bypassCacheSessionID(). The cached resource loader and memory cache
2545         act as if the memory cache is disabled if the resource has this special session id.
2546
2547         Hook up ReplayController to override the memory cache setting during capture/replay.
2548
2549         Test: http/tests/cache/bypass-memory-cache-after-reload.html
2550
2551         * loader/cache/CachedResourceLoader.cpp:
2552         (WebCore::CachedResourceLoader::requestResource):
2553         (WebCore::CachedResourceLoader::revalidateResource):
2554         * loader/cache/MemoryCache.cpp:
2555         (WebCore::MemoryCache::add):
2556         * page/Page.cpp:
2557         (WebCore::Page::sessionID):
2558         * page/SessionID.h:
2559         (WebCore::SessionID::bypassCacheSessionID):
2560         * page/Settings.cpp:
2561         (WebCore::Settings::Settings):
2562         * page/Settings.h:
2563         (WebCore::Settings::setUsesMemoryCache):
2564         (WebCore::Settings::usesMemoryCache):
2565         * replay/ReplayController.cpp:
2566         (WebCore::ReplayController::setForceDeterministicSettings):
2567         * replay/ReplayController.h:
2568         * testing/InternalSettings.cpp:
2569         (WebCore::InternalSettings::Backup::Backup):
2570         (WebCore::InternalSettings::Backup::restoreTo):
2571         (WebCore::InternalSettings::setUsesMemoryCache):
2572         * testing/InternalSettings.h:
2573         * testing/InternalSettings.idl:
2574
2575 2014-03-28  Radu Stavila  <stavila@adobe.com>
2576
2577         In some situations, partial layouts of floating elements produce incorrect results.
2578         https://bugs.webkit.org/show_bug.cgi?id=122668
2579
2580         Reviewed by David Hyatt.
2581
2582         When performing partial layout of float elements and checking if other float
2583         elements are encountered, incorrect results were obtained by not checking
2584         the size of the existing floats vector.
2585
2586         Test: fast/block/float/floats-in-clean-line-crash.html
2587
2588         * rendering/RenderBlockLineLayout.cpp:
2589         (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
2590
2591 2014-03-28  Beth Dakin  <bdakin@apple.com>
2592
2593         Build fix.
2594
2595         * rendering/RenderTheme.cpp:
2596         (WebCore::RenderTheme::paint):
2597
2598 2014-03-28  Jer Noble  <jer.noble@apple.com>
2599
2600         [MSE] Implement support for SourceBuffer.remove()
2601         https://bugs.webkit.org/show_bug.cgi?id=121562
2602
2603         Reviewed by Eric Carlson.
2604
2605         Test: media/media-source/media-source-remove.html
2606
2607         Add support for SourceBuffer.remove().
2608
2609         * Modules/mediasource/SourceBuffer.cpp:
2610         (WebCore::SourceBuffer::SourceBuffer): Initialize new member variables.
2611         (WebCore::SourceBuffer::setTimestampOffset): Update comments to match spec.
2612         (WebCore::SourceBuffer::remove): Added; start removeTimer.
2613         (WebCore::SourceBuffer::abortIfUpdating): Cancel removeTimer.
2614         (WebCore::SourceBuffer::removedFromMediaSource): Call abortIfUpdating().
2615         (WebCore::SourceBuffer::stop): Cancel removeTimer.
2616         (WebCore::SourceBuffer::removeCodedFrames): Added.
2617         (WebCore::SourceBuffer::removeTimerFired): Added.
2618         * Modules/mediasource/SourceBuffer.h:
2619         * Modules/mediasource/SourceBuffer.idl:
2620
2621 2014-03-27  Dean Jackson  <dino@apple.com>
2622
2623         Support form controls that may need incremental redraw
2624         https://bugs.webkit.org/show_bug.cgi?id=130736
2625
2626         Reviewed by Beth Dakin.
2627
2628         There are some form controls that change appearance
2629         over time. Expand the ControlStates so that it can
2630         hold a little more information, including a reference
2631         to the native form control. This way the Theme implementation
2632         can repaint the existing native control if necessary. At
2633         least ThemeMac was reusing a single control for painting
2634         all instances before this change.
2635
2636         Since ControlStates is now a class, pass it around by
2637         reference.
2638
2639         The other major change is keeping a timer to trigger a
2640         repaint in RenderBox, which happens if Theme/RenderTheme
2641         update the ControlState to request one.
2642
2643         * WebCore.xcodeproj/project.pbxproj: Add ControlStates.h.
2644         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2645         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2646         * dom/Element.cpp:
2647         (WebCore::Element::setActive): States now within ControlStates.
2648         (WebCore::Element::setHovered): Ditto.
2649         * editing/FrameSelection.cpp:
2650         (WebCore::FrameSelection::focusedOrActiveStateChanged): Ditto.
2651         * html/HTMLFormControlElement.cpp:
2652         (WebCore::HTMLFormControlElement::disabledStateChanged): Ditto.
2653         (WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.
2654         * html/HTMLInputElement.cpp:
2655         (WebCore::HTMLInputElement::setChecked): Ditto.
2656         (WebCore::HTMLInputElement::setIndeterminate): Ditto.
2657         * html/HTMLOptionElement.cpp:
2658         (WebCore::HTMLOptionElement::parseAttribute): Ditto.
2659         * platform/ControlStates.h: New file. Copied the old ControlStates enum,
2660         and added accessors to hold whether or not the state is dirty, and
2661         a reference to a platform control if necessary.
2662         * platform/Theme.h:
2663         (WebCore::Theme::selectionColor): Pass ControlStates pointer.
2664         (WebCore::Theme::paint): Ditto.
2665         (WebCore::Theme::inflateControlPaintRect): Ditto.
2666         * platform/ThemeTypes.h: Remove ControlStates enum.
2667         * platform/efl/RenderThemeEfl.cpp:
2668         (WebCore::RenderThemeEfl::applyEdjeStateFromForm): Pass ControlStates pointer.
2669         (WebCore::RenderThemeEfl::paintThemePart): Ditto.
2670         * platform/efl/RenderThemeEfl.h: Ditto.
2671         * platform/mac/ThemeMac.h: Ditto.
2672         * platform/mac/ThemeMac.mm:
2673         (-[WebCoreThemeView addSubview:]): New method to make sure we don't add CALayer backed
2674         views to the NSView we're using for rendering.
2675         (WebCore::updateStates): Use the private animated setters if necessary.
2676         (WebCore::convertControlStatesToThemeDrawState): Namespacing.
2677         (WebCore::configureCheckbox): Pass ControlStates pointer.
2678         (WebCore::createCheckboxCell): New helper since we're creating non-static cells.
2679         (WebCore::sharedCheckboxCell): The old static provider, renamed.
2680         (WebCore::paintCheckbox): Check if this paint was triggered by a state change
2681         or an animation. Update the ControlStates if we need to be repainted.
2682         (WebCore::radio): Parameter is now ControlStates*.
2683         (WebCore::paintRadio): Ditto.
2684         (WebCore::setUpButtonCell): Ditto.
2685         (WebCore::button): Ditto.
2686         (WebCore::paintButton): Ditto.
2687         (WebCore::paintStepper): Ditto.
2688         (WebCore::ThemeMac::ensuredView): Ditto.
2689         (WebCore::ThemeMac::inflateControlPaintRect): Ditto.
2690         (WebCore::ThemeMac::paint): Ditto.
2691         (WebCore::checkbox): Deleted.
2692         * rendering/RenderBox.cpp:
2693         (WebCore::RenderBox::RenderBox): Initialize timer.
2694         (WebCore::RenderBox::~RenderBox): Stop any pending timers and delete the ControlState if necessary.
2695         (WebCore::RenderBox::paintBoxDecorations): Create a ControlStates if needed. Paint, and start the repaint
2696         timer if the ControlStates say we should.
2697         (WebCore::RenderBox::repaintTimerFired): Call repaint when the timer fires.
2698         * rendering/RenderBox.h: Add a timer for repainting.
2699         * rendering/RenderElement.cpp:
2700         (WebCore::controlStatesRendererMap): A static HashMap that associates renderers with ControlStates.
2701         (WebCore::RenderElement::hasControlStatesForRenderer):
2702         (WebCore::RenderElement::controlStatesForRenderer):
2703         (WebCore::RenderElement::removeControlStatesForRenderer):
2704         (WebCore::RenderElement::addControlStatesForRenderer):
2705         * rendering/RenderElement.h:
2706         * rendering/RenderTheme.cpp:
2707         (WebCore::RenderTheme::paint): Use a pointer to ControlStates.
2708         (WebCore::RenderTheme::adjustRepaintRect): Ditto.
2709         (WebCore::RenderTheme::stateChanged): Ditto.
2710         (WebCore::RenderTheme::updateControlStatesForRenderer): New method that just updates the states part of ControlStates.
2711         (WebCore::RenderTheme::extractControlStatesForRenderer): New method that calculates the state.
2712         (WebCore::RenderTheme::controlStatesForRenderer): Deleted.
2713         * rendering/RenderTheme.h:
2714         * rendering/RenderThemeMac.mm:
2715         (WebCore::RenderThemeMac::documentViewFor): Use a ControlStates pointer.
2716
2717 2014-03-28  Myles C. Maxfield  <mmaxfield@apple.com>
2718
2719         Clear SVGInlineTextBox fragments when the text changes.
2720         https://bugs.webkit.org/show_bug.cgi?id=130879
2721
2722         Reviewed by Darin Adler.
2723
2724         Ported from Blink: https://src.chromium.org/viewvc/blink?revision=150456&view=revision
2725
2726         This patch modifies SVGInlineTextBox::dirtyLineBoxes to clear all
2727         following text boxes when invoked. Typically this method is called
2728         when the underlying text string changes, and that change needs to
2729         be propagated to all the boxes that use the text beyond the point
2730         where the text is first modified.
2731         
2732         Also cleans up final function keywords for SVGRootInlineBox.
2733
2734         Test: svg/custom/unicode-in-tspan-multi-svg-crash.html
2735
2736         * rendering/InlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function
2737         (WebCore::InlineTextBox::dirtyOwnLineBoxes): Calls dirtyLineBoxes()
2738         * rendering/svg/SVGInlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function
2739         (WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):
2740         * rendering/svg/SVGInlineTextBox.cpp:
2741         (WebCore::SVGInlineTextBox::dirtyOwnLineBoxes): Non-recursive part of dirtyLineBoxes()
2742         (WebCore::SVGInlineTextBox::dirtyLineBoxes): Calls dirtyOwnLineBoxes() in a loop
2743         * rendering/svg/SVGRootInlineBox.h:
2744
2745 2014-03-28  Andreas Kling  <akling@apple.com>
2746
2747         Rebaseline bindings tests.
2748
2749 2014-03-28  Michael Saboff  <msaboff@apple.com>
2750
2751         Unreviewed, rolling r166248 back in.
2752
2753         Turns out r166070 didn't cause a 2% performance loss in page load times
2754
2755         Reverted changeset:
2756
2757         Unreviewed, rolling out r166126.
2758         Rollout r166126 in prepartion to roll out prerequisite r166070
2759
2760 2014-03-26  Antonio Gomes  <a1.gomes@sisa.samsung.com>
2761
2762         [Bindings] constants are always typed to 'int'
2763         https://bugs.webkit.org/show_bug.cgi?id=130775
2764
2765         Reviewed by Darin Adler.
2766
2767         Patch fixes a bug where all constant getter generated
2768         methods were returning 'integer' values due to static_cast.
2769
2770         Compilers should be smarth enough to properly infer which
2771         jsNumber class construtor to call given a literal value.
2772
2773         Patch also fixes a bug where values whose representation
2774         is bigger an integer maximum were overflowing. For instance,
2775         NodeFilter.SHOW_ALL (0xFFFFFFFF).
2776
2777         Tests:
2778         Binding tests updated.
2779         Rebaselined fast/dom/constants.html
2780
2781         * bindings/scripts/CodeGeneratorJS.pm:
2782         (GenerateImplementation):
2783         * bindings/scripts/test/JS/JSTestInterface.cpp:
2784         (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT1):
2785         (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT2):
2786         (WebCore::jsTestInterfaceSUPPLEMENTALCONSTANT1):
2787         (WebCore::jsTestInterfaceSUPPLEMENTALCONSTANT2):
2788         * bindings/scripts/test/JS/JSTestObj.cpp:
2789         (WebCore::jsTestObjCONDITIONAL_CONST):
2790         (WebCore::jsTestObjCONST_VALUE_0):
2791         (WebCore::jsTestObjCONST_VALUE_1):
2792         (WebCore::jsTestObjCONST_VALUE_2):
2793         (WebCore::jsTestObjCONST_VALUE_4):
2794         (WebCore::jsTestObjCONST_VALUE_8):
2795         (WebCore::jsTestObjCONST_VALUE_9):
2796         (WebCore::jsTestObjCONST_VALUE_11):
2797         (WebCore::jsTestObjCONST_VALUE_12):
2798         (WebCore::jsTestObjCONST_VALUE_13):
2799         (WebCore::jsTestObjCONST_VALUE_14):
2800         (WebCore::jsTestObjCONST_JAVASCRIPT):
2801         (WebCore::jsTestObjReadonly):
2802
2803 2014-03-28  Myles C. Maxfield  <mmaxfield@apple.com>
2804
2805         A TrailingObject's endpoint might get decremented twice
2806         https://bugs.webkit.org/show_bug.cgi?id=130874
2807
2808         Reviewed by Darin Adler.
2809
2810         There are two places where we might shave off a trailing space from the end
2811         of a line. We don't want to hit both codepaths for a single line.
2812
2813         Fixes fast/block/update-midpoints-for-trailing-boxes-crash.html after r166245.
2814
2815         * rendering/line/BreakingContextInlineHeaders.h:
2816         (WebCore::checkMidpoints):
2817         (WebCore::BreakingContext::handleEndOfLine):
2818
2819 2014-03-28  Andreas Kling  <akling@apple.com>
2820
2821         Inline JSDOMWrapper subclasses' finishCreation().
2822         <https://webkit.org/b/130890>
2823
2824         finishCreation() is really a no-op for JSDOMWrapper subclasses in
2825         release builds. None of the ancestor classes do anything but assert
2826         in their implementations.
2827
2828         Generate the function inline, reducing binary size, and removing
2829         an unnecessary call from the JSFoo::create() helpers.
2830
2831         Reviewed by Sam Weinig.
2832
2833         * bindings/scripts/CodeGeneratorJS.pm:
2834         (GenerateHeader):
2835         (GenerateImplementation):
2836
2837 2014-03-28  Jer Noble  <jer.noble@apple.com>
2838
2839         [Mac] HLS streams will report an incorrect natural size.
2840         https://bugs.webkit.org/show_bug.cgi?id=130859
2841
2842         Reviewed by Eric Carlson.
2843
2844         Some HLS streams will report incorrect naturalSizes due to the asset's preferredTransform
2845         property not being  available at the same time as the track's natural size. Given that
2846         AVFoundation only allows one video track to be selected at a time, simply use the asset's
2847         presentation size, cached in m_cachedPresentation size in all cases.
2848
2849         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2850         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
2851
2852 2014-03-28  Antti Koivisto  <antti@apple.com>
2853
2854         Remove NodeListRootType flag
2855         https://bugs.webkit.org/show_bug.cgi?id=130896
2856
2857         Reviewed by Anders Carlsson.
2858
2859         This can be handled statically (except for the RadioNodeList case) removing
2860         a branch from NodeList traversal.
2861
2862         * dom/ClassNodeList.h:
2863         * dom/Document.cpp:
2864         (WebCore::Document::registerNodeListForInvalidation):
2865         (WebCore::Document::unregisterNodeListForInvalidation):
2866         (WebCore::Document::registerNodeList): Deleted.
2867         (WebCore::Document::unregisterNodeList): Deleted.
2868         
2869             Mark document invalidation registered lists with a bit.
2870             Renamed for clarity.
2871
2872         * dom/Document.h:
2873         * dom/LiveNodeList.cpp:
2874         (WebCore::LiveNodeList::LiveNodeList):
2875         (WebCore::LiveNodeList::rootNode):
2876         
2877             Base class version that invokes virtual isRootedAtDocument. It is needed to support 
2878             LiveNodeList::namedItem.
2879
2880         * dom/LiveNodeList.h:
2881         (WebCore::LiveNodeList::isRegisteredForInvalidationAtDocument):
2882         (WebCore::LiveNodeList::setRegisteredForInvalidationAtDocument):
2883         (WebCore::LiveNodeList::document):
2884         (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
2885         (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
2886         (WebCore::CachedLiveNodeList<NodeListType>::rootNode):
2887         
2888             Call isRootedAtDocument on the final leaf type. Except for RadioNodeList this
2889             resolves statically.
2890
2891         (WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
2892         (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
2893         (WebCore::LiveNodeList::isRootedAtDocument): Deleted.
2894         (WebCore::LiveNodeList::rootType): Deleted.
2895         (WebCore::LiveNodeList::rootNode): Deleted.
2896         * dom/NameNodeList.h:
2897         * dom/NodeRareData.h:
2898         (WebCore::NodeListsNodeData::adoptDocument):
2899         * dom/TagNodeList.h:
2900         * html/HTMLCollection.cpp:
2901         (WebCore::rootTypeFromCollectionType):
2902         * html/HTMLCollection.h:
2903         (WebCore::HTMLCollection::isRootedAtDocument):
2904         (WebCore::HTMLCollection::rootType):
2905         
2906             HTMLCollections still needs the flag.
2907
2908         * html/LabelsNodeList.cpp:
2909         (WebCore::LabelsNodeList::LabelsNodeList):
2910         * html/LabelsNodeList.h:
2911         * html/RadioNodeList.cpp:
2912         (WebCore::RadioNodeList::RadioNodeList):
2913         * html/RadioNodeList.h:
2914
2915 2014-03-28  Mario Sanchez Prada  <mario.prada@samsung.com>
2916
2917         [GTK] Geoclue2 providers won't work after reloading
2918         https://bugs.webkit.org/show_bug.cgi?id=130898
2919
2920         Reviewed by Martin Robinson.
2921
2922         Don't reuse the Geoclue2 client proxy between different calls to
2923         startPosition(), and create a new client proxy each time instead.
2924
2925         * platform/geoclue/GeolocationProviderGeoclue2.cpp:
2926         (GeolocationProviderGeoclue::startUpdating): Don't reuse the
2927         client proxy, by always calling geoclue_manager_call_get_client().
2928         (GeolocationProviderGeoclue::stopUpdating): Disconnect from the
2929         'location-updated' signal and dispose the client proxy.
2930
2931 2014-03-28  Diego Pino Garcia  <dpino@igalia.com>
2932
2933         [GTK] Too many redirects visiting www.globalforestwatch.org
2934         https://bugs.webkit.org/show_bug.cgi?id=129681
2935
2936         Reviewed by Martin Robinson.
2937
2938         * platform/gtk/UserAgentGtk.cpp:
2939         (WebCore::standardUserAgent): Append Safari version to UserAgent
2940         string.
2941
2942 2014-03-28  Michael Saboff  <msaboff@apple.com>
2943
2944         Unreviewed, rolling r166249 back in.
2945
2946         Turns out r166070 didn't cause a 2% performance loss in page load times
2947
2948         Reverted changeset:
2949
2950         Unreviewed, rolling out r166070.
2951         Rollout r166070 due to 2% performance loss in page load times
2952
2953 2014-03-28  James Craig  <jcraig@apple.com>
2954
2955         Web Inspector: Copy/paste error. EventListener block in DOM.json uses description from Node.
2956         https://bugs.webkit.org/show_bug.cgi?id=130158
2957
2958         Reviewed by Timothy Hatcher.
2959
2960         * inspector/protocol/DOM.json: Fixed a copy/paste annoyance.
2961
2962 2014-03-27  James Craig  <jcraig@apple.com>
2963
2964         Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
2965         https://bugs.webkit.org/show_bug.cgi?id=130827
2966
2967         Reviewed by Timothy Hatcher.
2968
2969         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
2970
2971         Support for selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.
2972
2973         * inspector/InspectorDOMAgent.cpp:
2974         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
2975         * inspector/protocol/DOM.json:
2976
2977 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
2978
2979         Specify Shadow DOM Pseudo IDs in Media Element Constructors
2980         https://bugs.webkit.org/show_bug.cgi?id=130882
2981
2982         Reviewed by Eric Carlson.
2983
2984         * html/shadow/MediaControlElements.cpp:
2985         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Call setPseudoId in constructor.
2986         (WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement): Ditto.
2987         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
2988         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Ditto.
2989         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
2990         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Ditto.
2991         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Ditto.
2992         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Ditto.
2993         (WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement): Ditto.
2994         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Ditto.
2995         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Ditto.
2996         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
2997         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
2998         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
2999         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement): Ditto.
3000         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Ditto.
3001         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
3002         (WebCore::MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement): Ditto.
3003         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Ditto.
3004         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
3005         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Ditto.
3006         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Ditto.
3007         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Ditto.
3008         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Ditto.
3009         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Ditto.
3010
3011 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
3012
3013         [iOS][WK2] Adjust the tile coverage on the scrollview's edges
3014         https://bugs.webkit.org/show_bug.cgi?id=130884
3015
3016         Reviewed by Dan Bernstein.
3017
3018         * platform/ios/ScrollViewIOS.mm:
3019         (WebCore::ScrollView::computeCoverageRect):
3020         Pull back the future rect inside the contentRect if it goes outside.
3021         There is no point in retiling for rubberbanding and the extra tiles should be always be
3022         on the opposite side to the edges.
3023
3024 2014-03-27  Joseph Pecoraro  <pecoraro@apple.com>
3025
3026         Remove unused LocaleMac::create method
3027         https://bugs.webkit.org/show_bug.cgi?id=130870
3028
3029         Reviewed by Andreas Kling.
3030
3031         * platform/text/mac/LocaleMac.h:
3032         * platform/text/mac/LocaleMac.mm:
3033         (WebCore::LocaleMac::create): Deleted.
3034         (WebCore::LocaleMac::shortDateFormatter): Deleted.
3035
3036 2014-03-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3037
3038         Clean up unneeded "mutable" keyword
3039         https://bugs.webkit.org/show_bug.cgi?id=130832
3040
3041         Reviewed by Andreas Kling.
3042
3043         As r166350, this patch cleans up unneeded "mutable" keywords.
3044         Additionally, m_validatedSelectionCache is removed because it is not used anywhere else.
3045
3046         * css/CSSFontFaceRule.h:
3047         * css/CSSStyleRule.h:
3048         * editing/FrameSelection.h:
3049
3050 2014-03-27  Enrica Casucci  <enrica@apple.com>
3051
3052         Add support for AirPlay picker in WK2 for iOS.
3053         https://bugs.webkit.org/show_bug.cgi?id=130855
3054         <rdar://problem/15349859>
3055
3056         Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.
3057
3058         Adds support in HTMLMediaSession to display the airplay picker
3059         and to monitor presence of available wireless targets.
3060
3061         * html/HTMLMediaSession.cpp:
3062         (WebCore::HTMLMediaSession::showPlaybackTargetPicker):
3063         (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
3064         (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
3065         * loader/EmptyClients.h:
3066         * page/ChromeClient.h:
3067         * platform/audio/MediaSessionManager.cpp:
3068         (WebCore::MediaSessionManager::wirelessRoutesAvailableChanged):
3069         * platform/audio/MediaSessionManager.h:
3070         (WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
3071         (WebCore::MediaSessionManager::startMonitoringAirPlayRoutes):
3072         (WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes):
3073         * platform/audio/ios/MediaSessionManagerIOS.h:
3074         * platform/audio/ios/MediaSessionManagerIOS.mm:
3075         (WebCore::MediaSessionManageriOS::hasWirelessTargetsAvailable):
3076         (WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes):
3077         (WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes):
3078         (-[WebMediaSessionHelper initWithCallback:]):
3079         (-[WebMediaSessionHelper hasWirelessTargetsAvailable]):
3080         (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
3081         (-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]):
3082         (-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]):
3083         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3084         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled):
3085         (WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):
3086
3087 2014-03-27  Bem Jones-Bey  <bjonesbe@adobe.com>
3088
3089         [CSS Shapes][css clip-path] rounded corner calculation for box shapes is wrong
3090         https://bugs.webkit.org/show_bug.cgi?id=127982
3091
3092         Reviewed by Simon Fraser.
3093
3094         Calculate rounded corners for box shapes as defined in the CSS Shapes
3095         spec.
3096
3097         Tests: css3/masking/clip-path-border-radius-border-box-000.html
3098                css3/masking/clip-path-border-radius-content-box-000.html
3099                css3/masking/clip-path-border-radius-content-box-001.html
3100                css3/masking/clip-path-border-radius-padding-box-000.html
3101                css3/masking/clip-path-border-radius-padding-box-001.html
3102                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000.html
3103                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001.html
3104                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002.html
3105                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000.html
3106                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001.html
3107                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002.html
3108                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003.html
3109                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000.html
3110                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001.html
3111                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002.html
3112                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003.html
3113                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004.html
3114                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000.html
3115                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001.html
3116                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002.html
3117                fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003.html
3118
3119         * platform/graphics/RoundedRect.h:
3120         (WebCore::RoundedRect::Radii::transposedRadii): Transpose radii for
3121             vertical writing modes.
3122         (WebCore::RoundedRect::moveBy): Add method for use with clip path.
3123         (WebCore::RoundedRect::transposedRect): Transpose rect for vertical
3124             writing modes.
3125         * rendering/RenderBox.h:
3126         (WebCore::RenderBox::marginBoxRect): Return the margin box rect for
3127             the RenderBox.
3128         * rendering/RenderLayer.cpp:
3129         (WebCore::RenderLayer::setupClipPath): Call the new function for the
3130             rounded corner calculation.
3131         * rendering/shapes/ShapeInfo.cpp:
3132         (WebCore::ShapeInfo<RenderType>::computedShape): Call the new function
3133             for the rounded corner calculation.
3134         * rendering/shapes/BoxShape.cpp:
3135         (WebCore::adjustRadiusForMarginBoxShape): Helper function for
3136             computeRoundedRectForLayoutBoxShape.
3137         (WebCore::computeMarginBoxShapeRadius): Ditto.
3138         (WebCore::computeMarginBoxShapeRadii): Ditto.
3139         (WebCore::computeRoundedRectForBoxShape): Utility function to do the
3140             rounded corner calculation.
3141         * rendering/shapes/BoxShape.h: Add new function.
3142         * rendering/style/RenderStyle.h:
3143         (WebCore::RenderStyle::getRoundedInnerBorderFor): Add default argument
3144             values.
3145
3146 2014-03-27  Commit Queue  <commit-queue@webkit.org>
3147
3148         Unreviewed, rolling out r166364.
3149         https://bugs.webkit.org/show_bug.cgi?id=130872
3150
3151         Caused a test assertion (Requested by smfr on #webkit).
3152
3153         Reverted changeset:
3154
3155         "Operator stretching: expose a math data API"
3156         https://bugs.webkit.org/show_bug.cgi?id=130572
3157         http://trac.webkit.org/changeset/166364
3158
3159 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
3160
3161         [iOS][WK2] Compute a good exposed rect when scaling WKContentView
3162         https://bugs.webkit.org/show_bug.cgi?id=130761
3163
3164         Reviewed by Simon Fraser.
3165
3166         * WebCore.exp.in:
3167         * platform/ScrollView.h:
3168         * platform/ios/ScrollViewIOS.mm:
3169         (WebCore::ScrollView::setScrollVelocity):
3170         (WebCore::ScrollView::computeCoverageRect):
3171         While scaling in, do not add margins tiles. When scaling out, add 1 margin tile size
3172         all around.
3173
3174 2014-03-27  Commit Queue  <commit-queue@webkit.org>
3175
3176         Unreviewed, rolling out r166360.
3177         https://bugs.webkit.org/show_bug.cgi?id=130869
3178
3179         Seems to have broken PLT (Requested by ap on #webkit).
3180
3181         Reverted changeset:
3182
3183         "Connection::dispatchOneMessage() can be re-entered while
3184         handling Cmd-key menu"
3185         https://bugs.webkit.org/show_bug.cgi?id=130767
3186         http://trac.webkit.org/changeset/166360
3187
3188 2014-03-27  Antti Koivisto  <antti@apple.com>
3189
3190         Remove LiveNodeList::Type
3191         https://bugs.webkit.org/show_bug.cgi?id=130866
3192
3193         Reviewed by Andreas Kling.
3194
3195         We don't need dynamic type information anymore.
3196
3197         * dom/ClassNodeList.cpp:
3198         (WebCore::ClassNodeList::ClassNodeList):
3199         * dom/ContainerNode.cpp:
3200         (WebCore::ContainerNode::getElementsByTagName):
3201         (WebCore::ContainerNode::getElementsByName):
3202         (WebCore::ContainerNode::getElementsByClassName):
3203         (WebCore::ContainerNode::radioNodeList):
3204         * dom/LiveNodeList.cpp:
3205         (WebCore::LiveNodeList::LiveNodeList):
3206         * dom/LiveNodeList.h:
3207         (WebCore::LiveNodeList::invalidationType):
3208         (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
3209         (WebCore::LiveNodeList::type): Deleted.
3210         * dom/NameNodeList.cpp:
3211         (WebCore::NameNodeList::NameNodeList):
3212         (WebCore::NameNodeList::nodeMatches): Deleted.
3213         * dom/NameNodeList.h:
3214         (WebCore::NameNodeList::nodeMatches):
3215         * dom/NodeRareData.h:
3216         (WebCore::NodeListTypeIdentifier<ClassNodeList>::value):
3217         (WebCore::NodeListTypeIdentifier<NameNodeList>::value):
3218         (WebCore::NodeListTypeIdentifier<TagNodeList>::value):
3219         (WebCore::NodeListTypeIdentifier<HTMLTagNodeList>::value):
3220         (WebCore::NodeListTypeIdentifier<RadioNodeList>::value):
3221         (WebCore::NodeListTypeIdentifier<LabelsNodeList>::value):
3222         
3223             Get unique id from type for key generation purposes only.
3224
3225         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
3226         (WebCore::NodeListsNodeData::addCacheWithName):
3227         (WebCore::NodeListsNodeData::removeCacheWithAtomicName):
3228         (WebCore::NodeListsNodeData::removeCacheWithName):
3229         (WebCore::NodeListsNodeData::namedNodeListKey):
3230         * dom/TagNodeList.cpp:
3231         (WebCore::TagNodeList::TagNodeList):
3232         (WebCore::HTMLTagNodeList::HTMLTagNodeList):
3233         * dom/TagNodeList.h:
3234         * html/LabelableElement.cpp:
3235         (WebCore::LabelableElement::labels):
3236         * html/LabelsNodeList.cpp:
3237         (WebCore::LabelsNodeList::LabelsNodeList):
3238         * html/LabelsNodeList.h:
3239         * html/RadioNodeList.cpp:
3240         (WebCore::RadioNodeList::RadioNodeList):
3241         * html/RadioNodeList.h:
3242
3243 2014-03-27  Simon Fraser  <simon.fraser@apple.com>
3244
3245         Fix crash when RenderView is cleared inside of frame flattening layout
3246         https://bugs.webkit.org/show_bug.cgi?id=130864
3247
3248         Reviewed by Dan Bernstein.
3249         
3250         Navigating on http://wallstcheatsheet.com pages on iOS in WebKit1 would
3251         sometimes crash when, inside the inChildFrameLayoutWithFrameFlattening clause,
3252         our frame's RenderView would be null after doing a layout from the root frame,
3253         possibly also when WebCore was being re-entered from another thread.
3254         
3255         Add a null check to fix this.
3256         
3257         Crash was timing-dependent and hard to test.
3258
3259         * page/FrameView.cpp:
3260         (WebCore::FrameView::layout):
3261
3262 2014-03-27  Antti Koivisto  <antti@apple.com>
3263
3264         Remove some unnecessary branches from LiveNodeList traversal
3265         https://bugs.webkit.org/show_bug.cgi?id=130854
3266
3267         Reviewed by Andreas Kling.
3268
3269         Compile different traversal code paths for all NodeList subclasses.
3270
3271         * dom/ClassNodeList.cpp:
3272         (WebCore::ClassNodeList::ClassNodeList):
3273         (WebCore::ClassNodeList::~ClassNodeList):
3274         (WebCore::ClassNodeList::nodeMatches): Deleted.
3275         * dom/ClassNodeList.h:
3276         (WebCore::ClassNodeList::nodeMatches):
3277         (WebCore::ClassNodeList::nodeMatchesInlined): Deleted.
3278         
3279             Remove separate nodeMatchesInlined functions. 
3280             We now rely on exact types and marking classes final.
3281
3282         * dom/LiveNodeList.cpp:
3283         (WebCore::LiveNodeList::LiveNodeList):
3284         (WebCore::LiveNodeList::~LiveNodeList):
3285         (WebCore::LiveNodeList::namedItem):
3286         (WebCore::LiveNodeList::rootNode): Deleted.
3287         (WebCore::isMatchingElement): Deleted.
3288         (WebCore::firstMatchingElement): Deleted.
3289         (WebCore::lastMatchingElement): Deleted.
3290         (WebCore::nextMatchingElement): Deleted.
3291         (WebCore::previousMatchingElement): Deleted.
3292         (WebCore::traverseMatchingElementsForward): Deleted.
3293         (WebCore::traverseMatchingElementsBackward): Deleted.
3294         (WebCore::LiveNodeList::collectionFirst): Deleted.
3295         (WebCore::LiveNodeList::collectionLast): Deleted.
3296         (WebCore::LiveNodeList::collectionTraverseForward): Deleted.
3297         (WebCore::LiveNodeList::collectionTraverseBackward): Deleted.
3298         (WebCore::LiveNodeList::length): Deleted.
3299         (WebCore::LiveNodeList::item): Deleted.
3300         (WebCore::LiveNodeList::memoryCost): Deleted.
3301         (WebCore::LiveNodeList::invalidateCache): Deleted.
3302         * dom/LiveNodeList.h:
3303         (WebCore::LiveNodeList::invalidateCacheForAttribute):
3304         (WebCore::CachedLiveNodeList::collectionCanTraverseBackward):
3305         (WebCore::LiveNodeList::rootNode):
3306         (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
3307         
3308             Add CachedLiveNodeList<NodeListType> utility type that interfaces with CollectionIndexCache.
3309             It is the base class for all concrete LiveNodeLists.
3310
3311         (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
3312         (WebCore::CachedLiveNodeList<NodeListType>::collectionFirst):
3313         (WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
3314         (WebCore::nextMatchingElement):
3315         (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
3316         (WebCore::previousMatchingElement):
3317         (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
3318         (WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
3319         (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
3320         (WebCore::CachedLiveNodeList<NodeListType>::length):
3321         (WebCore::CachedLiveNodeList<NodeListType>::item):
3322         (WebCore::CachedLiveNodeList<NodeListType>::memoryCost):
3323         
3324             Templated code moves to header.
3325
3326         (WebCore::LiveNodeList::LiveNodeList): Deleted.
3327         (WebCore::LiveNodeList::~LiveNodeList): Deleted.
3328         (WebCore::LiveNodeList::invalidateCache): Deleted.
3329         (WebCore::LiveNodeList::collectionCanTraverseBackward): Deleted.
3330         (WebCore::LiveNodeList::willValidateIndexCache): Deleted.
3331         * dom/NameNodeList.cpp:
3332         (WebCore::NameNodeList::NameNodeList):
3333         * dom/NameNodeList.h:
3334         * dom/Node.cpp:
3335         (WebCore::Document::invalidateNodeListAndCollectionCaches):
3336         (WebCore::NodeListsNodeData::invalidateCaches):
3337         * dom/TagNodeList.cpp:
3338         (WebCore::TagNodeList::TagNodeList):
3339         (WebCore::HTMLTagNodeList::HTMLTagNodeList):
3340         (WebCore::HTMLTagNodeList::~HTMLTagNodeList):
3341         (WebCore::TagNodeList::nodeMatches): Deleted.
3342         (WebCore::HTMLTagNodeList::nodeMatches): Deleted.
3343         * dom/TagNodeList.h:
3344         (WebCore::TagNodeList::nodeMatches):
3345         (WebCore::HTMLTagNodeList::nodeMatches):
3346         (WebCore::TagNodeList::create): Deleted.
3347         (WebCore::HTMLTagNodeList::nodeMatchesInlined): Deleted.
3348         * html/LabelsNodeList.cpp:
3349         (WebCore::LabelsNodeList::LabelsNodeList):
3350         * html/LabelsNodeList.h:
3351         * html/RadioNodeList.cpp:
3352         (WebCore::RadioNodeList::RadioNodeList):
3353         * html/RadioNodeList.h:
3354
3355 2014-03-27  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3356
3357         Remove comment from Filter.h
3358         https://bugs.webkit.org/show_bug.cgi?id=130848
3359
3360         Reviewed by Simon Fraser.
3361
3362         Exploring the use of consts on applyScale() methods didn't yield
3363         good results.
3364
3365         No new tests, no change on behavior.
3366
3367         * platform/graphics/filters/Filter.h:
3368
3369 2014-03-27  Frédéric Wang  <fred.wang@free.fr>
3370
3371         Operator stretching: expose a math data API
3372         https://bugs.webkit.org/show_bug.cgi?id=130572
3373
3374         Reviewed by Chris Fleizach.
3375
3376         We expose a new SimpleFontData API to give access to the data from the
3377         OpenType MATH table using a font cache. The class OpenTypeMathData will
3378         be implemented in bug 130324. On Darwin platform, we also implement the
3379         missing FontPlatformData::openTypeTable function which will be necessary
3380         to load the OpenType MATH table. The changes are intended to be used
3381         for MathML operator stretching (bug 130322) so tests are not added yet.
3382
3383         * CMakeLists.txt: add new OpenTypeMathData files.
3384         * WebCore.vcxproj/WebCore.vcxproj: ditto.
3385         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
3386         * WebCore.xcodeproj/project.pbxproj: ditto.
3387         * platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.
3388         We make the math and vertical data share the same key for the cache.
3389         (WebCore::fontMathDataCacheInstance):
3390         (WebCore::FontCache::getMathData):
3391         (WebCore::fontVerticalDataCacheInstance):
3392         * platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
3393         * platform/graphics/FontPlatformData.cpp:
3394         (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
3395         * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
3396         * platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.
3397         (WebCore::SimpleFontData::SimpleFontData):
3398         * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
3399         * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
3400         (WebCore::OpenTypeMathData::OpenTypeMathData):
3401         * platform/graphics/opentype/OpenTypeMathData.h: Added.
3402         (WebCore::OpenTypeMathData::create):
3403         (WebCore::OpenTypeMathData::hasMathData):
3404
3405 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
3406
3407         Fix a crash caused by track insertion after load()
3408         https://bugs.webkit.org/show_bug.cgi?id=130777
3409
3410         Reviewed by Eric Carlson.
3411
3412         Test: media/track/track-insert-after-load-crash.html
3413
3414         Based on the Blink change (patch by acolwell@chromium.org):
3415         https://codereview.chromium.org/211373009/
3416
3417         * html/HTMLMediaElement.cpp:
3418         (WebCore::HTMLMediaElement::parseAttribute): Remove stale LoadMediaResource flag after explicit load.
3419
3420 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
3421
3422         Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
3423         equivalents, ASSERT(!_data->_keyDownEventBeingResent)
3424         https://bugs.webkit.org/show_bug.cgi?id=130767
3425         <rdar://problem/16307487>
3426
3427         Added a wrapper for RunLoop::initializeMainThread that also adds modal run loop
3428         mode to it on Mac.
3429
3430         * CMakeLists.txt:
3431         * WebCore.exp.in:
3432         * WebCore.vcxproj/WebCore.vc