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