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