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