Narrow underlines are too tall
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
2
3         Narrow underlines are too tall
4         https://bugs.webkit.org/show_bug.cgi?id=126708
5
6         Reviewed by Simon Fraser.
7
8         I made a typo in r158392 and used was settings the line rect's
9         height equal to its width. No one noticed because of the subsequent
10         if statement.
11
12         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines.html
13
14         * platform/graphics/cg/GraphicsContextCG.cpp:
15         (WebCore::computeLineBoundsAndAntialiasingModeForText):
16
17 2014-01-09  Antti Koivisto  <antti@apple.com>
18
19         DocumentOrderedMap should use iterator
20         https://bugs.webkit.org/show_bug.cgi?id=126696
21
22         Reviewed by Andreas Kling.
23
24         * dom/DocumentOrderedMap.cpp:
25         (WebCore::keyMatchesId):
26         (WebCore::keyMatchesName):
27         (WebCore::keyMatchesMapName):
28         (WebCore::keyMatchesLowercasedMapName):
29         (WebCore::keyMatchesLowercasedUsemap):
30         (WebCore::keyMatchesLabelForAttribute):
31         (WebCore::keyMatchesWindowNamedItem):
32         (WebCore::keyMatchesDocumentNamedItem):
33         
34             Switch to Element references.
35
36         (WebCore::DocumentOrderedMap::add):
37         (WebCore::DocumentOrderedMap::remove):
38         (WebCore::DocumentOrderedMap::get):
39         (WebCore::DocumentOrderedMap::getAllElementsById):
40         
41              Use element iterator instead of ElementTraversal.
42
43         * dom/DocumentOrderedMap.h:
44
45 2014-01-09  Beth Dakin  <bdakin@apple.com>
46
47         Margin tiles are not repainted when background color changes
48         https://bugs.webkit.org/show_bug.cgi?id=126541
49         -and corresponding-
50         <rdar://problem/15578131>
51
52         Reviewed by Simon Fraser.
53
54         This patch adds an optional parameter to GraphicsLayer::setNeedsDisplayInRect, 
55         RenderLayerBacking::setContentsNeedDisplay(), and 
56         RenderLayer::setBackingNeedsRepaint() that is used to determine whether or not to 
57         clip the invalidation rect to the size of the layer. Then whenever the margin 
58         needs to be repainted, we can call setNeedsDisplayInRect() with a rect that 
59         includes the margin, and also indicate that it should not be clipped.
60
61         GraphicsLayer now takes an optional parameter which is an enum called 
62         ShouldClipToLayer.
63         * WebCore.exp.in:
64         * platform/graphics/GraphicsLayer.h:
65         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
66         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
67         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
68         * platform/graphics/ca/GraphicsLayerCA.cpp:
69         (WebCore::GraphicsLayerCA::setNeedsDisplayInRect):
70         * platform/graphics/ca/GraphicsLayerCA.h:
71         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
72         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
73         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
74         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
75         (WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
76         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
77
78         Make TileController::bounds() a virtual function, and declare it on TiledBacking 
79         so that we can call it from RenderLayerBacking.
80         * platform/graphics/TiledBacking.h:
81         * platform/graphics/ca/mac/TileController.h:
82
83         RenderLayer also now takes an optional parameter which is an enum called 
84         ShouldClipToLayer.
85         * rendering/RenderLayer.cpp:
86         (WebCore::RenderLayer::calculateClipRects):
87         * rendering/RenderLayer.h:
88
89         If the margin needs to be repainted, call GraphicsLayer::setNeedsDisplayInRect 
90         with a big enough rect and a ShouldClipToLayer value of DoNotClipToLayer.
91         * rendering/RenderLayerBacking.cpp:
92         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
93         * rendering/RenderLayerBacking.h:
94
95         Whenever all of the root contents need to be repainted the margin will also need 
96         to be repainted, so call setBackingNeedsRepaint() with the new parameter 
97         indicating the the invalidation should NOT be clipped to the layer size.
98         * rendering/RenderView.cpp:
99         (WebCore::RenderView::repaintRootContents):
100
101 2014-01-09  Bear Travis  <betravis@adobe.com>
102
103         [CSS Shapes] Factor the ReferenceBox type out of BasicShapes
104         https://bugs.webkit.org/show_bug.cgi?id=126648
105
106         Reviewed by Dirk Schulze.
107
108         Moving ReferenceBox out of BasicShapes and into RenderStyleConstants
109         as the LayoutBox enum. Most of the changes are removing the BasicShape
110         namespace.
111
112         Refactoring, no new tests.
113
114         * css/BasicShapeFunctions.cpp:
115         (WebCore::valueForBox):
116         (WebCore::boxForValue):
117         (WebCore::valueForBasicShape):
118         (WebCore::basicShapeForValue):
119         * css/BasicShapeFunctions.h:
120         * css/CSSBasicShapes.cpp:
121         (WebCore::CSSBasicShapeRectangle::cssText):
122         (WebCore::CSSBasicShapeRectangle::equals):
123         (WebCore::CSSBasicShapeCircle::cssText):
124         (WebCore::CSSBasicShapeCircle::equals):
125         (WebCore::CSSDeprecatedBasicShapeCircle::cssText):
126         (WebCore::CSSDeprecatedBasicShapeCircle::equals):
127         (WebCore::CSSBasicShapeEllipse::cssText):
128         (WebCore::CSSBasicShapeEllipse::equals):
129         (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
130         (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
131         (WebCore::CSSBasicShapePolygon::cssText):
132         (WebCore::CSSBasicShapePolygon::equals):
133         (WebCore::CSSBasicShapeInsetRectangle::cssText):
134         (WebCore::CSSBasicShapeInsetRectangle::equals):
135         (WebCore::CSSBasicShapeInset::cssText):
136         * css/CSSBasicShapes.h:
137         (WebCore::CSSBasicShape::layoutBox):
138         (WebCore::CSSBasicShape::setLayoutBox):
139         * css/CSSComputedStyleDeclaration.cpp:
140         (WebCore::ComputedStyleExtractor::propertyValue):
141         * css/CSSParser.cpp:
142         (WebCore::CSSParser::parseShapeProperty):
143         * css/DeprecatedStyleBuilder.cpp:
144         (WebCore::ApplyPropertyClipPath::applyValue):
145         (WebCore::ApplyPropertyShape::applyValue):
146         * rendering/ClipPathOperation.h:
147         (WebCore::ShapeClipPathOperation::setReferenceBox):
148         (WebCore::ShapeClipPathOperation::referenceBox):
149         (WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
150         (WebCore::BoxClipPathOperation::create):
151         (WebCore::BoxClipPathOperation::referenceBox):
152         (WebCore::BoxClipPathOperation::BoxClipPathOperation):
153         * rendering/shapes/Shape.cpp:
154         (WebCore::Shape::createLayoutBoxShape):
155         * rendering/shapes/Shape.h:
156         * rendering/shapes/ShapeInfo.cpp:
157         (WebCore::ShapeInfo<RenderType>::computedShape):
158         * rendering/shapes/ShapeInfo.h:
159         (WebCore::ShapeInfo::setShapeSize):
160         (WebCore::ShapeInfo::logicalTopOffset):
161         (WebCore::ShapeInfo::logicalLeftOffset):
162         * rendering/shapes/ShapeInsideInfo.h:
163         * rendering/shapes/ShapeOutsideInfo.h:
164         * rendering/style/BasicShapes.cpp:
165         (WebCore::BasicShape::canBlend):
166         (WebCore::BasicShape::referenceBoxSize):
167         * rendering/style/BasicShapes.h:
168         (WebCore::BasicShape::layoutBox):
169         (WebCore::BasicShape::setLayoutBox):
170         (WebCore::BasicShape::BasicShape):
171         * rendering/style/RenderStyleConstants.h:
172         * rendering/style/ShapeValue.h:
173         (WebCore::ShapeValue::createLayoutBoxValue):
174         (WebCore::ShapeValue::layoutBox):
175         (WebCore::ShapeValue::ShapeValue):
176
177 2014-01-09  Tim Horton  <timothy_horton@apple.com>
178
179         PDFDocumentImage can be very slow to do the initial paint
180         https://bugs.webkit.org/show_bug.cgi?id=126633
181         <rdar://problem/15770980>
182
183         Reviewed by Simon Fraser.
184
185         * platform/graphics/cg/PDFDocumentImage.cpp:
186         (WebCore::PDFDocumentImage::PDFDocumentImage):
187         (WebCore::PDFDocumentImage::size):
188         (WebCore::transformContextForPainting):
189         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
190         (WebCore::applyRotationForPainting):
191         (WebCore::PDFDocumentImage::drawPDFPage):
192         * platform/graphics/cg/PDFDocumentImage.h:
193         * platform/graphics/mac/PDFDocumentImageMac.mm:
194         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
195         Store rotation from the PDF in degrees, since it can
196         only be 0, 90, 180, or 270, and don't do any trig to
197         perform the rotation, to avoid introducing minor rounding
198         issues in the size.
199
200         Once we're going to paint, if the difference between the
201         computed scale for each axis is due only to integer rounding
202         of the image size, use the same scale for both axes, to avoid
203         a CG slow-path which occurs whenever the scale is nonuniform.
204
205 2014-01-09  Antti Koivisto  <antti@apple.com>
206
207         Disconnect child frames iteratively
208         https://bugs.webkit.org/show_bug.cgi?id=126700
209
210         Reviewed by Andreas Kling.
211
212         Use descendant iterator instead of recursion for traversal.
213
214         * dom/ContainerNode.cpp:
215         (WebCore::willRemoveChild):
216         (WebCore::willRemoveChildren):
217         (WebCore::ContainerNode::disconnectDescendantFrames):
218         * dom/ContainerNodeAlgorithms.cpp:
219         (WebCore::assertConnectedSubrameCountIsConsistent):
220         (WebCore::collectFrameOwners):
221         (WebCore::disconnectSubframes):
222         
223             Get rid of the strange ChildFrameDisconnector class in favor of a function.
224
225         * dom/ContainerNodeAlgorithms.h:
226         (WebCore::disconnectSubframesIfNeeded):
227
228 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
229
230         Unreviewed Windows build fix for r161563.
231
232         Remove reference to removed file.
233
234         * bindings/js/JSBindingsAllInOne.cpp:
235
236 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
237
238         Web Inspector: Move InjectedScript classes into JavaScriptCore
239         https://bugs.webkit.org/show_bug.cgi?id=126598
240
241         Part 6: Put it all together. Make WebCore use the JavaScriptCore InjectedScript files.
242
243         Reviewed by Timothy Hatcher.
244
245         * CMakeLists.txt:
246         * DerivedSources.cpp:
247         * DerivedSources.make:
248         * GNUmakefile.list.am:
249         * UseJSC.cmake:
250         * WebCore.vcxproj/WebCore.vcxproj:
251         * WebCore.vcxproj/WebCore.vcxproj.filters:
252         * WebCore.xcodeproj/project.pbxproj:
253         Remove old InjectedScript files.
254
255         * ForwardingHeaders/inspector/InjectedScript.h: Added.
256         * ForwardingHeaders/inspector/InjectedScriptBase.h: Added.
257         * ForwardingHeaders/inspector/InjectedScriptHost.h: Added.
258         * ForwardingHeaders/inspector/InjectedScriptManager.h: Added.
259         * ForwardingHeaders/inspector/InjectedScriptModule.h: Added.
260         * ForwardingHeaders/inspector/InspectorEnvironment.h: Added.
261         Expose headers to WebCore.
262
263         * inspector/InspectorController.h:
264         * inspector/InspectorController.cpp:
265         (WebCore::InspectorController::InspectorController):
266         (WebCore::InspectorController::developerExtrasEnabled):
267         (WebCore::InspectorController::canAccessInspectedScriptState):
268         (WebCore::InspectorController::functionCallHandler):
269         (WebCore::InspectorController::evaluateHandler):
270         (WebCore::InspectorController::willCallInjectedScriptFunction):
271         (WebCore::InspectorController::didCallInjectedScriptFunction):
272         * inspector/WorkerInspectorController.h:
273         * inspector/WorkerInspectorController.cpp:
274         (WebCore::WorkerInspectorController::WorkerInspectorController):
275         (WebCore::WorkerInspectorController::functionCallHandler):
276         (WebCore::WorkerInspectorController::evaluateHandler):
277         (WebCore::WorkerInspectorController::willCallInjectedScriptFunction):
278         (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
279         Make both InspectorControllers in WebCore be InspectorEnvironments.
280
281         * bindings/js/JSMainThreadExecState.h:
282         * bindings/js/JSMainThreadExecState.cpp:
283         (WebCore::evaluateHandlerFromAnyThread):
284         Make JSC::evaluate wrapper like the existing JSC::call wrapper.
285         These will be the ScriptFunctionCall implementations when debugging
286         a WebCore::Page or worker, instead of the pure JSC versions.
287
288         * inspector/PageInjectedScriptHost.h: Copied from Source/WebCore/inspector/CommandLineAPIModule.h.
289         * inspector/PageInjectedScriptHost.cpp: Copied from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
290         (WebCore::PageInjectedScriptHost::type):
291         (WebCore::PageInjectedScriptHost::isHTMLAllCollection):
292         WebCore InjectedScriptHost implementation for DOM type handling.
293
294         * inspector/PageInjectedScriptManager.h:
295         * inspector/PageInjectedScriptManager.cpp:
296         (WebCore::PageInjectedScriptManager::PageInjectedScriptManager):
297         (WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
298         WebCore InjectedScriptManager implementation for CommandLineAPI and
299         specialized DOMWindow injected script management.
300
301         * bindings/js/JSBindingsAllInOne.cpp:
302         * inspector/CommandLineAPIHost.cpp:
303         * inspector/CommandLineAPIHost.h:
304         * inspector/CommandLineAPIModule.cpp:
305         (WebCore::CommandLineAPIModule::host):
306         * inspector/CommandLineAPIModule.h:
307         * inspector/ConsoleMessage.cpp:
308         (WebCore::ConsoleMessage::addToFrontend):
309         * inspector/ConsoleMessage.h:
310         * inspector/InjectedScriptCanvasModule.cpp:
311         (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
312         * inspector/InjectedScriptCanvasModule.h:
313         * inspector/InspectorAllInOne.cpp:
314         * inspector/InspectorCanvasAgent.cpp:
315         * inspector/InspectorCanvasAgent.h:
316         (WebCore::InspectorCanvasAgent::create):
317         * inspector/InspectorConsoleAgent.cpp:
318         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
319         * inspector/InspectorConsoleAgent.h:
320         * inspector/InspectorDOMAgent.cpp:
321         * inspector/InspectorDOMAgent.h:
322         (WebCore::InspectorDOMAgent::create):
323         * inspector/InspectorDebuggerAgent.cpp:
324         * inspector/InspectorDebuggerAgent.h:
325         (WebCore::InspectorDebuggerAgent::injectedScriptManager):
326         * inspector/InspectorHeapProfilerAgent.cpp:
327         (WebCore::InspectorHeapProfilerAgent::create):
328         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
329         * inspector/InspectorHeapProfilerAgent.h:
330         * inspector/InspectorIndexedDBAgent.cpp:
331         * inspector/InspectorIndexedDBAgent.h:
332         (WebCore::InspectorIndexedDBAgent::create):
333         * inspector/InspectorPageAgent.cpp:
334         * inspector/InspectorPageAgent.h:
335         * inspector/InspectorProfilerAgent.cpp:
336         (WebCore::PageProfilerAgent::PageProfilerAgent):
337         (WebCore::InspectorProfilerAgent::create):
338         (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
339         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
340         * inspector/InspectorProfilerAgent.h:
341         * inspector/InspectorRuntimeAgent.cpp:
342         * inspector/InspectorRuntimeAgent.h:
343         (WebCore::InspectorRuntimeAgent::injectedScriptManager):
344         * inspector/PageConsoleAgent.cpp:
345         (WebCore::PageConsoleAgent::PageConsoleAgent):
346         * inspector/PageConsoleAgent.h:
347         (WebCore::PageConsoleAgent::create):
348         * inspector/PageDebuggerAgent.cpp:
349         * inspector/PageDebuggerAgent.h:
350         * inspector/PageRuntimeAgent.cpp:
351         * inspector/PageRuntimeAgent.h:
352         (WebCore::PageRuntimeAgent::create):
353         * inspector/WorkerConsoleAgent.cpp:
354         (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
355         * inspector/WorkerConsoleAgent.h:
356         (WebCore::WorkerConsoleAgent::create):
357         * inspector/WorkerDebuggerAgent.cpp:
358         * inspector/WorkerDebuggerAgent.h:
359         * inspector/WorkerRuntimeAgent.cpp:
360         * inspector/WorkerRuntimeAgent.h:
361         (WebCore::WorkerRuntimeAgent::create):
362         Switch to using the Inspector namespace and JSC InjectedScript files.
363
364         * bindings/js/JSInjectedScriptManager.cpp: Removed.
365         * inspector/InjectedScript.h: Removed.
366         * inspector/InjectedScriptHost.cpp: Removed.
367         * inspector/InjectedScriptHost.h: Removed.
368         * inspector/InjectedScriptHost.idl: Removed.
369
370
371         Part 4: Move all inspector scripts into JavaScriptCore and update generators.
372
373         With the updated location switch to using the appropriate INSPECTOR_SCRIPTS_DIR
374         variable which defines where the scripts are.
375
376         * CMakeLists.txt:
377         * DerivedSources.make:
378         * GNUmakefile.am:
379         * GNUmakefile.list.am:
380         * WebCore.vcxproj/WebCore.vcxproj:
381         * WebCore.vcxproj/WebCore.vcxproj.filters:
382         * WebCore.xcodeproj/project.pbxproj:
383
384
385         Part 1: Extract InspectorInstrumentationCookie class from InspectorInstrumentation.
386
387         Currently InjectedScriptBase uses InspectorInstrumentation directly
388         to track calling into JavaScript for timeline purposes. We will remove
389         the direct call from InjectedScriptBase and extracting the Cookie class
390         will make that easier.
391
392         * CMakeLists.txt:
393         * GNUmakefile.list.am:
394         * WebCore.vcxproj/WebCore.vcxproj:
395         * WebCore.vcxproj/WebCore.vcxproj.filters:
396         * WebCore.xcodeproj/project.pbxproj:
397         * inspector/InspectorAllInOne.cpp:
398         * inspector/InspectorInstrumentation.cpp:
399         * inspector/InspectorInstrumentation.h:
400         * inspector/InspectorInstrumentationCookie.cpp: Added.
401         (WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):
402         (WebCore::InspectorInstrumentationCookie::operator=):
403         (WebCore::InspectorInstrumentationCookie::~InspectorInstrumentationCookie):
404         * inspector/InspectorInstrumentationCookie.h: Added.
405         (WebCore::InspectorInstrumentationCookie::isValid):
406         (WebCore::InspectorInstrumentationCookie::instrumentingAgents):
407         (WebCore::InspectorInstrumentationCookie::hasMatchingTimelineAgentId):
408
409 2014-01-09  Pascal Jacquemart  <p.jacquemart@samsung.com>
410
411         Cannot select multiple non-adjacent items in a multiple select control with the keyboard only
412         https://bugs.webkit.org/show_bug.cgi?id=15816
413
414         Reviewed by Chris Fleizach.
415
416         Test: fast/forms/listbox-non-contiguous-keyboard-selection.html
417
418         * html/HTMLSelectElement.cpp:
419         (WebCore::HTMLSelectElement::HTMLSelectElement):
420         New member m_allowsNonContiguousSelection defaults to false
421         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
422         Tracking CTRL modifier to start multiple non contiguous selection
423         * html/HTMLSelectElement.h: New member m_allowsNonContiguousSelection
424         (WebCore::HTMLSelectElement::allowsNonContiguousSelection): New getter
425         * rendering/RenderListBox.cpp:
426         (WebCore::RenderListBox::addFocusRingRects):
427         Following implementation made for spatial navigation
428
429 2014-01-09  Seokju Kwon  <seokju@webkit.org>
430
431         Web Inspector: Remove unused overriding protocols.
432         https://bugs.webkit.org/show_bug.cgi?id=126630
433
434         Reviewed by Timothy Hatcher.
435
436         No new tests, No change in behavior.
437
438         Remove unused overriding protocols as these are not used anymore in Frontned.
439         -Page.setGeolocationOverride
440         -Page.clearGeolocationOverride
441         -Page.canOverrideGeolocation
442         -Page.setDeviceOrientationOverride
443         -Page.clearDeviceOrientationOverride
444         -Page.canOverrideGeolocation
445         -Network.setUserAgentOverride
446
447         * Modules/geolocation/GeolocationController.cpp:
448         (WebCore::GeolocationController::GeolocationController):
449         (WebCore::GeolocationController::create):
450         (WebCore::GeolocationController::positionChanged):
451         (WebCore::provideGeolocationTo):
452         * Modules/geolocation/GeolocationController.h:
453         * dom/DeviceOrientationController.cpp:
454         (WebCore::DeviceOrientationController::DeviceOrientationController):
455         (WebCore::DeviceOrientationController::create):
456         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
457         (WebCore::provideDeviceOrientationTo):
458         * dom/DeviceOrientationController.h:
459         * inspector/InspectorInstrumentation.cpp:
460         * inspector/InspectorInstrumentation.h:
461         * inspector/InspectorPageAgent.cpp:
462         (WebCore::InspectorPageAgent::InspectorPageAgent):
463         * inspector/InspectorPageAgent.h:
464         * inspector/InspectorResourceAgent.cpp:
465         (WebCore::InspectorResourceAgent::disable):
466         * inspector/InspectorResourceAgent.h:
467         * inspector/protocol/Network.json:
468         * inspector/protocol/Page.json:
469         * loader/FrameLoader.cpp:
470         (WebCore::FrameLoader::userAgent):
471
472 2014-01-09  Andrei Bucur  <abucur@adobe.com>
473
474         [CSSRegions] Move regions auto-size code into RenderNamedFlowFragment
475         https://bugs.webkit.org/show_bug.cgi?id=122959
476
477         Reviewed by Mihnea Ovidenie.
478
479         Move the auto-height logic from RenderRegion to RenderNamedFlowFragment because it's
480         used only by the CSS Regions implementation.
481
482         Bug 126642 covers the auto-height logic move from RenderFlowThread to RenderNamedFlowThread.
483
484         Tests: No new tests, just refactorings.
485
486         * rendering/RenderFlowThread.cpp:
487         (WebCore::RenderFlowThread::styleDidChange):
488         (WebCore::RenderFlowThread::validateRegions):
489         (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
490         (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
491         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
492         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
493         (WebCore::RenderFlowThread::addForcedRegionBreak):
494         * rendering/RenderMultiColumnSet.h:
495         * rendering/RenderNamedFlowFragment.cpp:
496         (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
497         (WebCore::RenderNamedFlowFragment::styleDidChange):
498         (WebCore::RenderNamedFlowFragment::incrementAutoLogicalHeightCount):
499         (WebCore::RenderNamedFlowFragment::decrementAutoLogicalHeightCount):
500         (WebCore::RenderNamedFlowFragment::updateRegionHasAutoLogicalHeightFlag):
501         (WebCore::RenderNamedFlowFragment::updateLogicalHeight):
502         (WebCore::RenderNamedFlowFragment::pageLogicalHeight):
503         (WebCore::RenderNamedFlowFragment::layoutBlock):
504         (WebCore::RenderNamedFlowFragment::attachRegion):
505         (WebCore::RenderNamedFlowFragment::detachRegion):
506         * rendering/RenderNamedFlowFragment.h:
507         * rendering/RenderRegion.cpp:
508         (WebCore::RenderRegion::RenderRegion):
509         (WebCore::RenderRegion::pageLogicalHeight):
510         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
511         (WebCore::RenderRegion::isLastRegion):
512         (WebCore::RenderRegion::styleDidChange):
513         (WebCore::RenderRegion::attachRegion):
514         (WebCore::RenderRegion::detachRegion):
515         * rendering/RenderRegion.h:
516         * rendering/RenderRegionSet.h:
517         * rendering/RenderTreeAsText.cpp:
518         (WebCore::writeRenderRegionList):
519
520 2014-01-09  Antti Koivisto  <antti@apple.com>
521
522         Switch HTMLTableRowsCollection from Traversal<> to iterators
523         https://bugs.webkit.org/show_bug.cgi?id=126684
524
525         Reviewed by Andreas Kling.
526
527         This is the last remaining client of Traversal<> outside the iterator implementation.
528
529         * dom/ElementChildIterator.h:
530         (WebCore::ElementChildIteratorAdapter<ElementType>::find):
531         (WebCore::ElementChildConstIteratorAdapter<ElementType>::find):
532         
533             Add find with the same semantics as ElementDescendantIterator::find.
534
535         * html/HTMLTableRowsCollection.cpp:
536         (WebCore::HTMLTableRowsCollection::rowAfter):
537         (WebCore::HTMLTableRowsCollection::lastRow):
538
539 2014-01-08  Carlos Garcia Campos  <cgarcia@igalia.com>
540
541         REGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html is failing on GTK
542         https://bugs.webkit.org/show_bug.cgi?id=126518
543
544         Reviewed by Martin Robinson.
545
546         Clear the credentials before calling willSendRequest on the client
547         to avoid sending the credentials to the API layer, but apply them
548         again to the request right before creating the new SoupRequest.
549
550         * platform/network/soup/ResourceHandleSoup.cpp:
551         (WebCore::continueAfterWillSendRequest):
552         (WebCore::doRedirect):
553
554 2014-01-08  Commit Queue  <commit-queue@webkit.org>
555
556         Unreviewed, rolling out r161532.
557         http://trac.webkit.org/changeset/161532
558         https://bugs.webkit.org/show_bug.cgi?id=126677
559
560         Caused lots of assertion failures (Requested by ap on
561         #webkit).
562
563         * xml/XMLHttpRequest.cpp:
564         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
565         (WebCore::XMLHttpRequest::createRequest):
566         (WebCore::XMLHttpRequest::abort):
567         (WebCore::XMLHttpRequest::networkError):
568         (WebCore::XMLHttpRequest::abortError):
569         (WebCore::XMLHttpRequest::didSendData):
570         (WebCore::XMLHttpRequest::didReceiveData):
571         (WebCore::XMLHttpRequest::didTimeout):
572         * xml/XMLHttpRequest.h:
573         * xml/XMLHttpRequestProgressEventThrottle.cpp:
574         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
575         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
576         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
577         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
578         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
579         (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
580         (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
581         * xml/XMLHttpRequestProgressEventThrottle.h:
582         * xml/XMLHttpRequestUpload.cpp:
583         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
584         (WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
585         * xml/XMLHttpRequestUpload.h:
586
587 2014-01-08  Brian Burg  <bburg@apple.com>
588
589         Clean up confusing names and calculations in image-dragging functions
590         https://bugs.webkit.org/show_bug.cgi?id=126661
591
592         Reviewed by Timothy Hatcher.
593
594         No new tests.
595
596         * page/DragController.cpp:
597         (WebCore::DragController::doImageDrag): rename variables and
598         simplify the calculation of the image's scaled origin.
599
600         * platform/DragImage.cpp:
601         (WebCore::fitDragImageToMaxSize): rename variables.
602
603 2014-01-08  Seokju Kwon  <seokju@webkit.org>
604
605         Web Inspector: Remove InspectorClient::captureScreenshot()
606         https://bugs.webkit.org/show_bug.cgi?id=126616
607
608         Reviewed by Joseph Pecoraro.
609
610         No new tests, No change in behavior.
611
612         Remove leftover mothod as Page.captureScreenshot API was removed in r160202.
613
614         * inspector/InspectorClient.h:
615
616 2014-01-08  Youenn Fablet  <youennf@gmail.com>
617
618         Correctly set XHR loadend attributes (loaded and total).
619         https://bugs.webkit.org/show_bug.cgi?id=120828
620
621         Reviewed by Alexey Proskuryakov.
622         
623         Added correct initialization of lengthComputable, loaded and total attributes 
624         to XHR ProgressEvent events (load, loadstart, loadend, abort, error and timeout).
625
626         XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload now keep persistent knowledge 
627         of m_loaded and m_total values with this patch.
628         
629         Code refactoring to handle event dispatching in case of error in a single manner.
630         XMLHttpRequestProgressEventThrottle::dispatchProgressEvent is renamed as dispatchThrottledProgressEvent
631         XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadend is replaced by dispatchProgressEvent(const AtomicString&)
632
633         Tests: http/tests/xmlhttprequest/loadstart-event-init.html
634                http/tests/xmlhttprequest/onabort-progressevent-attributes.html
635                http/tests/xmlhttprequest/onload-progressevent-attributes.html
636                http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html
637                http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html
638
639         * xml/XMLHttpRequest.cpp:
640         (WebCore::XMLHttpRequest::callReadyStateChangeListener): changed readystatechange event from ProgressEvent to Event (not cancellable, not bubblable) to better match the spec 
641         (WebCore::XMLHttpRequest::createRequest):
642         (WebCore::XMLHttpRequest::abort): code refactoring to handle error event dispatching in a single way
643         (WebCore::XMLHttpRequest::networkError): code refactoring to handle error event dispatching in a single way
644         (WebCore::XMLHttpRequest::abortError): code refactoring to handle error event dispatching in a single way
645         (WebCore::XMLHttpRequest::didSendData):
646         (WebCore::XMLHttpRequest::didReceiveData):
647         (WebCore::XMLHttpRequest::dispatchErrorEvents): dispatch progress events in case of error
648         (WebCore::XMLHttpRequest::didTimeout): code refactoring to handle error event dispatching in a single way
649         * xml/XMLHttpRequest.h:
650         * xml/XMLHttpRequestProgressEventThrottle.cpp: before the patch, the fact that a progress event is being throttled is stored indirectly (m_loaded or m_total not equal to zero). With the patch, this information is stored in m_hasThrottledProgressEvent. The m_loaded and m_total values are no longer set back to zero after a progress event is dispatched. This allows using these values to correctly initialize other ProgressEvent events (in particular loadend, abort, timeout...) 
651         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
652         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent): always update the new m_loaded and m_total values. If progress event is not sent as part of the function call, store the fact that a progress event is being throttled through m_hasThrottledProgressEvent. 
653         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): used to send any ProgressEvent event that is not be throttled
654         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): after the call, no progress event is throttled anymore
655         (WebCore::XMLHttpRequestProgressEventThrottle::fired): after the call, no progress event is throttled anymore
656         (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
657         (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
658         * xml/XMLHttpRequestProgressEventThrottle.h: introduced m_hasThrottledProgressEvent which stores whether a progress event is being throttled and m_computableLength which is used to initialize ProgressEvent computableLength
659         * xml/XMLHttpRequestUpload.cpp:
660         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
661         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
662         * xml/XMLHttpRequestUpload.h: introduced m_loaded, m_total and m_lengthComputable, similarly to XMLHttpRequestProgressEventThrottle
663
664 2014-01-08  Tim Horton  <timothy_horton@apple.com>
665
666         TileController can fail to receive exposedRect from the drawing area if set at the wrong time
667         https://bugs.webkit.org/show_bug.cgi?id=126536
668
669         Reviewed by Simon Fraser.
670
671         * WebCore.exp.in:
672         Export some things.
673
674         * page/FrameView.cpp:
675         (WebCore::FrameView::FrameView):
676         (WebCore::FrameView::setExposedRect):
677         Store the exposed rect on FrameView. When it changes, if the main frame
678         has a TiledBacking, inform it of the change.
679
680         * page/FrameView.h:
681         * platform/graphics/TiledBacking.h:
682         * platform/graphics/ca/mac/TileController.h:
683         * platform/graphics/ca/mac/TileController.mm:
684         (WebCore::TileController::TileController):
685         (WebCore::TileController::tilesWouldChangeForVisibleRect):
686         (WebCore::TileController::computeTileCoverageRect):
687         (WebCore::TileController::revalidateTiles):
688         (WebCore::TileController::updateTileCoverageMap):
689         Make use of the fact that we can test if a rect is infinite
690         instead of having a separate boolean property for that.
691
692         * rendering/RenderLayerBacking.cpp:
693         (WebCore::RenderLayerBacking::RenderLayerBacking):
694         (WebCore::computeTileCoverage):
695         Push the FrameView's cached exposed rect down into the TiledBacking when it is created.
696         We only support clipping for the main frame TileController for now.
697
698 2014-01-07  Myles C. Maxfield  <mmaxfield@apple.com>
699
700         a fractional value of the css letter-spacing property is not rendered as expected
701         https://bugs.webkit.org/show_bug.cgi?id=20606
702
703         Reviewed by Simon Fraser.
704
705         This turns on fractional letter-spacing and word-spacing CSS values.
706         It is taken mostly from Blink r153727 and iOS. Updating the relevant
707         types is all that is necessary
708
709         Existing tests have been updated.
710
711         * css/DeprecatedStyleBuilder.cpp:
712         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
713         * page/animation/CSSPropertyAnimation.cpp:
714         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
715         * platform/graphics/Font.cpp:
716         (WebCore::Font::Font):
717         (WebCore::Font::width):
718         * platform/graphics/Font.h:
719         (WebCore::Font::wordSpacing):
720         (WebCore::Font::letterSpacing):
721         (WebCore::Font::setWordSpacing):
722         (WebCore::Font::setLetterSpacing):
723         * rendering/style/RenderStyle.cpp:
724         (WebCore::RenderStyle::wordSpacing):
725         (WebCore::RenderStyle::letterSpacing):
726         (WebCore::RenderStyle::setWordSpacing):
727         (WebCore::RenderStyle::setLetterSpacing):
728         * rendering/style/RenderStyle.h:
729
730 2014-01-08  Anders Carlsson  <andersca@apple.com>
731
732         Add WTF::StringView and use it for grammar checking
733         https://bugs.webkit.org/show_bug.cgi?id=126644
734
735         Reviewed by Antti Koivisto.
736
737         Use a StringView in TextCheckerClient::checkTextOfParagraph to avoid upconverting strings unnecessarily.
738
739         * editing/TextCheckingHelper.cpp:
740         (WebCore::checkTextOfParagraph):
741         Pass a StringView to TextCheckerClient::checkTextOfParagraph.
742         
743         * loader/EmptyClients.h:
744         Update for TextCheckerClient changes.
745
746         * platform/text/TextCheckerClient.h:
747         Change TextCheckerClient::checkTextOfParagraph to take a StringView.
748         
749 2014-01-08  Eric Carlson  <eric.carlson@apple.com>
750
751         Unreviewed Windows build fix attempt after r161481.
752
753         * WebCore.vcxproj/copyForwardingHeaders.cmd:
754
755 2014-01-08  Andreas Kling  <akling@apple.com>
756
757         Deploy RenderPtr in RenderMathMLOperator::updateFromElement().
758         <https://webkit.org/b/126628>
759
760         Reviewed by Antti Koivisto.
761
762         * rendering/mathml/RenderMathMLOperator.cpp:
763         (WebCore::RenderMathMLOperator::updateFromElement):
764
765             Use RenderPtr/createRenderer for renderer creation.
766             Removed an unnecessary null check (text is always created.)
767             Also use RenderStyle::createAnonymousStyleWithDisplay()
768             helper to shorten down the code a bit.
769
770 2014-01-08  Alberto Garcia  <berto@igalia.com>
771
772         Fix some compilation warnings
773         https://bugs.webkit.org/show_bug.cgi?id=126635
774
775         Reviewed by Csaba Osztrogonác.
776
777         Remove code that is no longer being used.
778
779         * platform/graphics/cairo/GraphicsContextCairo.cpp:
780         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
781         * platform/gtk/PopupMenuGtk.cpp:
782         * platform/gtk/RedirectedXCompositeWindow.h:
783
784 2014-01-08  Zan Dobersek  <zdobersek@igalia.com>
785
786         [Automake] Scripts for generated build targets do not necessarily produce their output
787         https://bugs.webkit.org/show_bug.cgi?id=126378
788
789         Reviewed by Carlos Garcia Campos.
790
791         * GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
792         assure the output is generated every time the script is invoked, most commonly due to unchanged
793         * bindings/gobject/GNUmakefile.am: Simply move the gdom-gen-symbols file into the output file
794         instead of copying it if the contents differ and removing it. This again ensures that the output
795         file is always newer than its dependencies, even if the input hasn't changed.
796
797 2014-01-08  Frédéric Wang  <fred.wang@free.fr>
798
799         Remove invalid comments from mathtags.ing
800         https://bugs.webkit.org/show_bug.cgi?id=126629
801
802         Reviewed by Chris Fleizach.
803
804         * mathml/mathtags.in:
805
806 2014-01-08  Andreas Kling  <akling@apple.com>
807
808         RenderMathMLRow::createAnonymousWithParentRenderer() should return RenderPtr.
809         <https://webkit.org/b/126631>
810
811         Reviewed by Antti Koivisto.
812
813         * rendering/mathml/RenderMathMLRow.h:
814         * rendering/mathml/RenderMathMLRow.cpp:
815         (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
816
817             Tweak to return RenderPtr<RenderMathMLRow> and removed comment(!)
818             about how this should return a smart pointer. Also take the
819             parent renderer as a RenderMathMLRoot& instead of a RenderObject*
820             since that's all we ever pass.
821
822         * rendering/mathml/RenderMathMLRoot.cpp:
823         (WebCore::RenderMathMLRoot::addChild):
824
825             Updated for new createAnonymousWithParentRenderer() signature.
826
827 2014-01-08  Mario Sanchez Prada  <mario.prada@samsung.com>
828
829         AX: Make roleValue() return DescriptionListRole for <dl> elements
830         https://bugs.webkit.org/show_bug.cgi?id=126579
831
832         Reviewed by Chris Fleizach.
833
834         Implement AccessibilityList::roleValue() so it will return
835         ListRole or DescriptionListRole depending on the type of list.
836
837         No new tests needed, as no new functionality was added and ports
838         should still be exposing the right role for <dl> elements
839
840         * accessibility/AccessibilityList.cpp:
841         (WebCore::AccessibilityList::roleValue): Implemented.
842         * accessibility/AccessibilityList.h:
843
844         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
845         (atkRole): Removed extra checks for objects with ListRole role.
846
847 2014-01-08  Andreas Kling  <akling@apple.com>
848
849         createMathMLOperator() should return RenderPtr.
850         <https://webkit.org/b/126622>
851
852         Reviewed by Antti Koivisto.
853
854         * rendering/mathml/RenderMathMLFenced.h:
855         * rendering/mathml/RenderMathMLFenced.cpp:
856         (WebCore::RenderMathMLFenced::createMathMLOperator):
857
858             Make this return a RenderPtr<RenderMathMLOperator>.
859
860         (WebCore::RenderMathMLFenced::makeFences):
861         (WebCore::RenderMathMLFenced::addChild):
862
863             Updated for the new createMathMLOperator() signature.
864
865 2014-01-07  Antti Koivisto  <antti@apple.com>
866
867         REGRESSION (r161195): Acid2 regression tests frequently fail
868         https://bugs.webkit.org/show_bug.cgi?id=126432
869
870         Reviewed by Anders Carlsson.
871         
872         We would occasionally dump the render tree before the actual last resource on the page was loaded.
873         The problematic resource is an image loaded by an <object> tag nested as fallback of another <object>.
874
875         * html/HTMLObjectElement.cpp:
876         (WebCore::HTMLObjectElement::renderFallbackContent):
877         
878             Force style recalc when rendering fallback content. The current mechanism for triggering the fallback content load
879             requires a style recalc.
880
881 2014-01-07  Andreas Kling  <akling@apple.com>
882
883         createAnonymousMathMLBlock() should return RenderPtr.
884         <https://webkit.org/b/126583>
885
886         Reviewed by Antti Koivisto.
887
888         * rendering/mathml/RenderMathMLBlock.h:
889         * rendering/mathml/RenderMathMLBlock.cpp:
890         (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
891
892             Make this return a RenderPtr<RenderMathMLBlock> and removed the
893             EDisplay argument since it was always using the default (FLEX.)
894
895         * rendering/mathml/RenderMathMLFraction.cpp:
896         (WebCore::RenderMathMLFraction::addChild):
897
898             Updated for the new createAnonymousMathMLBlock() signature.
899
900 2014-01-07  Eric Carlson  <eric.carlson@apple.com>
901
902         Teach MediaSessionManager to manage interruptions
903         https://bugs.webkit.org/show_bug.cgi?id=126530
904
905         Reviewed by Sam Weinig.
906
907         Tests: media/video-interruption-active-when-element-created.html
908                media/video-interruption-with-resume-allowing-play.html
909                media/video-interruption-with-resume-not-allowing-play.html
910
911         * WebCore.exp.in: Export functions needed by Internals.
912
913         Add MediaSession and MediaSessionManager.
914         * CMakeLists.txt:
915         * GNUmakefile.list.am:
916         * WebCore.vcxproj/WebCore.vcxproj:
917         * WebCore.vcxproj/WebCore.vcxproj.filters:
918         * WebCore.xcodeproj/project.pbxproj:
919
920         Automatically pause/play for interruptions. Move media restriction management to a MediaSession.
921         * html/HTMLMediaElement.cpp:
922         (WebCore::HTMLMediaElement::HTMLMediaElement): Get rid of m_loadInitiatedByUserGesture and m_userStartedPlayback,
923             they aren't needed.
924         (WebCore::HTMLMediaElement::load): Ditto.
925         (WebCore::HTMLMediaElement::loadInternal): Use the media session to manage restrictions.
926         (WebCore::HTMLMediaElement::play): Remove redundant iOS code. Postpone playback if called 
927             during an interruption.
928         (WebCore::HTMLMediaElement::pause): Remember to not resume playback when it ends if called during
929             an interruption.
930         (WebCore::HTMLMediaElement::potentiallyPlaying): Rearrange code to make it easier to understand.
931         (WebCore::HTMLMediaElement::couldPlayIfEnoughData): Ditto.
932         (WebCore::HTMLMediaElement::pausedForUserInteraction): Return true if paused because of an interruption.
933         (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Be explicit about
934             which restrictions are removed.
935         (WebCore::HTMLMediaElement::mediaType): MediaSessionManager::<Type> -> MediaSession::<Type>.
936         (WebCore::HTMLMediaElement::beginInterruption): New.
937         (WebCore::HTMLMediaElement::endInterruption): Ditto.
938         * html/HTMLMediaElement.h:
939
940         Pulled MediaSessionManagerToken out of MediaSessionManager.cpp, added functionality to manage interruptions.
941         * platform/audio/MediaSession.cpp: Added.
942         (WebCore::MediaSession::create):
943         (WebCore::MediaSession::MediaSession):
944         (WebCore::MediaSession::~MediaSession):
945         (WebCore::MediaSession::beginInterruption): Inform client of interruption state change.
946         (WebCore::MediaSession::endInterruption): Ditto.
947         * platform/audio/MediaSession.h: Added.
948
949         * platform/audio/MediaSessionManager.cpp:
950         (WebCore::MediaSessionManager::MediaSessionManager): Initialize interruption counter.
951         (WebCore::MediaSessionManager::has): MediaType is defined in MediaSession.
952         (WebCore::MediaSessionManager::count): Ditto.
953         (WebCore::MediaSessionManager::beginInterruption): Inform all clients of interruption start if
954             not already in an interruption.
955         (WebCore::MediaSessionManager::endInterruption): Inform all clients if interruption has ended.
956         (WebCore::MediaSessionManager::addSession): Renamed from addToken. Set session interruption state.
957         (WebCore::MediaSessionManager::removeSession): Renamed from removeToken.
958         * platform/audio/MediaSessionManager.h:
959
960         * platform/audio/mac/AudioDestinationMac.cpp:
961         (WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken -> MediaSession.
962         * platform/audio/mac/AudioDestinationMac.h:
963
964         * platform/audio/mac/MediaSessionManagerMac.cpp:
965         (MediaSessionManager::updateSessionState): Ditto.
966
967         Make it possible for tests to begin and end interruptions.
968         * testing/Internals.cpp:
969         (WebCore::Internals::beginMediaSessionInterruption):
970         (WebCore::Internals::endMediaSessionInterruption):
971         * testing/Internals.h:
972         * testing/Internals.idl:
973
974 2014-01-07  Seokju Kwon  <seokju@webkit.org>
975
976         Web Inspector: Remove leftover 'device metrics' code
977         https://bugs.webkit.org/show_bug.cgi?id=126607
978
979         Reviewed by Joseph Pecoraro.
980
981         No new tests, No changes in behavior.
982
983         Removes unused code related to 'device metrics'.
984
985         * css/MediaQueryEvaluator.cpp:
986         (WebCore::device_heightMediaFeatureEval):
987         (WebCore::device_widthMediaFeatureEval):
988         * inspector/InspectorClient.h:
989         * inspector/InspectorInstrumentation.cpp:
990         * inspector/InspectorInstrumentation.h:
991         * inspector/InspectorPageAgent.cpp:
992         (WebCore::InspectorPageAgent::InspectorPageAgent):
993         (WebCore::InspectorPageAgent::disable):
994         (WebCore::InspectorPageAgent::didLayout):
995         * inspector/InspectorPageAgent.h:
996         * page/DOMWindow.cpp:
997         (WebCore::DOMWindow::innerHeight):
998         (WebCore::DOMWindow::innerWidth):
999         * page/Screen.cpp:
1000         (WebCore::Screen::height):
1001         (WebCore::Screen::width):
1002         * rendering/TextAutosizer.cpp:
1003         (WebCore::TextAutosizer::processSubtree):
1004
1005 2014-01-02  Andy Estes  <aestes@apple.com>
1006
1007         [iOS] Upstream remainder of minimal-ui viewport changes
1008         https://bugs.webkit.org/show_bug.cgi?id=126410
1009
1010         Reviewed by Sam Weinig.
1011
1012         * dom/ViewportArguments.h:
1013
1014 2014-01-07  Victor Costan  <costan@gmail.com>
1015
1016         createElementNS handles element name 'xmlns' correctly.
1017         https://bugs.webkit.org/show_bug.cgi?id=126553
1018
1019         Reviewed by Alexey Proskuryakov.
1020
1021         Tests: fast/dom/createElementNS-namespace-errors.html
1022                fast/dom/setAttributeNS-namespace-errors.html
1023
1024         * dom/Document.cpp:
1025         (WebCore::Document::hasValidNamespaceForElements): updated to match DOM3/DOM4 spec.
1026         (WebCore::Document::hasValidNamespaceForAttributes): updated to match DOM3/DOM4 spec.
1027
1028 2014-01-07  Jer Noble  <jer.noble@apple.com>
1029
1030         PlatformLayer containing scrollbars does not disappear when setting overflow:hidden on page root, until resize.
1031         https://bugs.webkit.org/show_bug.cgi?id=116051
1032
1033         Reviewed by Simon Fraser.
1034
1035         Move the pre-existing call to addedOrRemovedScrollbar() outside of the else-statement
1036         in updateScrollbars() so that changes made in the if-statement cause the scrollbar
1037         layers to be updated. The scrollbarAddedOrRemoved local variable guarding access to
1038         addedOrRemovedScrollbar() is already being set (but never checked) inside the if-statement.
1039
1040         * platform/ScrollView.cpp:
1041         (WebCore::ScrollView::updateScrollbars):
1042
1043 2014-01-06  Jer Noble  <jer.noble@apple.com>
1044
1045         HTML5 video tag Does Not Load in Apache htaccess/htpasswd Protected Directory
1046         https://bugs.webkit.org/show_bug.cgi?id=40382
1047
1048         Reviewed by Eric Carlson.
1049
1050         Test: http/tests/media/video-auth.html
1051
1052         Adopt a new AVFoundation API to handle authentication challenge generated while loading
1053         media through an AVAsset. The authentication request comes through as a
1054         NSURLAuthenticationChallenge, and is wrapped in a WebCore::AuthenticationChallenge
1055         by MediaPlayerPrivateAVFoundationObjC, and is sent up to the HTMLMediaElement to handle.
1056         The HTMLMediaElement creates a ResourceRequest, and passes the challenge up to the
1057         ResourceLoadNotifier.
1058
1059         To allow the HTMLMediaElement to initiate handling an AuthenticationChallenge without
1060         actually creating a ResourceLoader, allow ResourceLoaderDelegate to accept a unique
1061         identifier and a DocumentLoader in lieu of a ResourceLoader.
1062
1063         * html/HTMLMediaElement.cpp:
1064         (WebCore::HTMLMediaElement::parseAttribute):
1065         * html/HTMLMediaElement.h:
1066         * loader/ResourceLoadNotifier.cpp:
1067         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
1068         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
1069         * loader/ResourceLoadNotifier.h:
1070         * platform/graphics/MediaPlayer.cpp:
1071         (WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
1072         * platform/graphics/MediaPlayer.h:
1073         (WebCore::MediaPlayerClient::mediaPlayerShouldWaitForResponseToAuthenticationChallenge):
1074         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1075         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1076         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
1077         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
1078
1079 2014-01-07  Commit Queue  <commit-queue@webkit.org>
1080
1081         Unreviewed, rolling out r161447.
1082         http://trac.webkit.org/changeset/161447
1083         https://bugs.webkit.org/show_bug.cgi?id=126592
1084
1085         needs some more work (Requested by thorton on #webkit).
1086
1087         * WebCore.exp.in:
1088         * page/FrameView.cpp:
1089         (WebCore::FrameView::FrameView):
1090         * page/FrameView.h:
1091         * platform/graphics/GraphicsLayerClient.h:
1092         * platform/graphics/TiledBacking.h:
1093         * platform/graphics/ca/GraphicsLayerCA.h:
1094         * platform/graphics/ca/PlatformCALayerClient.h:
1095         * platform/graphics/ca/mac/TileController.h:
1096         * platform/graphics/ca/mac/TileController.mm:
1097         (WebCore::TileController::TileController):
1098         (WebCore::TileController::tilesWouldChangeForVisibleRect):
1099         (WebCore::TileController::setExposedRect):
1100         (WebCore::TileController::setClipsToExposedRect):
1101         (WebCore::TileController::computeTileCoverageRect):
1102         (WebCore::TileController::revalidateTiles):
1103         (WebCore::TileController::updateTileCoverageMap):
1104         * rendering/RenderLayerBacking.cpp:
1105         (WebCore::computeTileCoverage):
1106         * rendering/RenderLayerBacking.h:
1107
1108 2014-01-07  Tim Horton  <timothy_horton@apple.com>
1109
1110         TileController can fail to receive exposedRect from the drawing area if set at the wrong time
1111         https://bugs.webkit.org/show_bug.cgi?id=126536
1112
1113         Reviewed by Anders Carlsson.
1114
1115         Move exposedRect to FrameView so it can be pushed in from WebKit before we have
1116         a TiledBacking, and can be retrieved by the TiledBacking when it needs to.
1117
1118         * WebCore.exp.in:
1119         Export some things.
1120
1121         * page/FrameView.cpp:
1122         (WebCore::FrameView::FrameView):
1123         (WebCore::FrameView::setExposedRect):
1124         * page/FrameView.h:
1125         Store the exposed rect on FrameView. When it changes, if the main frame
1126         has a TiledBacking, inform it of the change.
1127
1128         * platform/graphics/GraphicsLayerClient.h:
1129         (WebCore::GraphicsLayerClient::exposedRect):
1130         * platform/graphics/TiledBacking.h:
1131         * platform/graphics/ca/GraphicsLayerCA.h:
1132         * platform/graphics/ca/PlatformCALayerClient.h:
1133         Plumbing so that TileController can retrieve the exposedRect from FrameView.
1134
1135         * platform/graphics/ca/mac/TileController.h:
1136         * platform/graphics/ca/mac/TileController.mm:
1137         (WebCore::TileController::TileController):
1138         (WebCore::TileController::platformCALayerExposedRect):
1139         (WebCore::TileController::tilesWouldChangeForVisibleRect):
1140         (WebCore::TileController::exposedRectDidChange):
1141         (WebCore::TileController::computeTileCoverageRect):
1142         (WebCore::TileController::revalidateTiles):
1143         (WebCore::TileController::updateTileCoverageMap):
1144         Don't store the exposed rect or clipsToExposedRect on TileController.
1145         Instead, retrieve it from our client.
1146         Make use of the fact that we can test if a rect is infinite
1147         instead of having a separate boolean property for that.
1148
1149         * rendering/RenderLayerBacking.cpp:
1150         (WebCore::computeTileCoverage):
1151         (WebCore::RenderLayerBacking::exposedRect):
1152         Hand the FrameView's exposedRect back to our GraphicsLayer.
1153         We only support clipping for the main frame TileController for now.
1154
1155         * rendering/RenderLayerBacking.h:
1156
1157 2014-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1158
1159         REGRESSION(r161381): [GTK] Rendering is broken in GTK after r161381
1160         https://bugs.webkit.org/show_bug.cgi?id=126570
1161
1162         Reviewed by Tim Horton.
1163
1164         Use LayoutRect::infiniteRect() instead of IntRect::infiniteRect()
1165         when a LayoutRect is expected.
1166
1167         * rendering/RenderFlowThread.cpp:
1168         (WebCore::RenderFlowThread::fragmentsBoundingBox):
1169         * rendering/RenderLayer.cpp:
1170         (WebCore::RenderLayer::collectFragments):
1171         (WebCore::RenderLayer::calculateClipRects):
1172         * rendering/RenderLayerBacking.cpp:
1173         (WebCore::clipBox):
1174         * rendering/RenderLayerCompositor.cpp:
1175         (WebCore::RenderLayerCompositor::clippedByAncestor):
1176
1177 2014-01-07  Bear Travis  <betravis@adobe.com>
1178
1179         [CSS Shapes] Change default value from 'auto' to 'none'
1180         https://bugs.webkit.org/show_bug.cgi?id=126544
1181
1182         Reviewed by Sam Weinig.
1183
1184         Update the CSS infrastructure to accept 'none' as the default value
1185         for shape-inside and shape-outside.
1186
1187         Updated existing parsing tests.
1188
1189         * css/CSSComputedStyleDeclaration.cpp:
1190         (WebCore::ComputedStyleExtractor::propertyValue):
1191         * css/CSSParser.cpp:
1192         (WebCore::CSSParser::parseShapeProperty):
1193         * rendering/style/ShapeValue.h:
1194
1195 2014-01-07  Hans Muller  <hmuller@adobe.com>
1196
1197         [CSS Shapes] shape-outside layout incorrect when line spans rounded box rounded corners
1198         https://bugs.webkit.org/show_bug.cgi?id=126528
1199
1200         Reviewed by Andreas Kling.
1201
1202         BoxShape::getExcludedIntervals() now checks for the special case where the line spans the
1203         top and bottom rounded corners - which implies that the excluded interval is the box's
1204         horizontal extent.
1205
1206         Test: fast/shapes/shape-outside-floats/shape-outside-line-spans-box-corners.html
1207
1208         * rendering/shapes/BoxShape.cpp:
1209         (WebCore::BoxShape::getExcludedIntervals):
1210
1211 2014-01-07  Alexey Proskuryakov  <ap@apple.com>
1212
1213         Debug biuld fix.
1214
1215         Replace actionTag with mactionTag in assertions.
1216
1217         * mathml/MathMLSelectElement.cpp:
1218         (WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
1219         (WebCore::MathMLSelectElement::getSelectedActionChild):
1220
1221 2014-01-07  Frédéric Wang  <fred.wang@free.fr>
1222
1223         Add Support for the semantics element.
1224         https://bugs.webkit.org/show_bug.cgi?id=100626
1225
1226         Reviewed by Chris Fleizach.
1227
1228         Tests: mathml/presentation/semantics-2.html
1229                mathml/presentation/semantics-3.html
1230                mathml/presentation/semantics-4.html
1231
1232         This provides a complete support for the semantics element. When the first child is a content MathML, an annotation can be selected and displayed. The selection algorithm is identical to Gecko's one. The recognized annotations are text (e.g. LaTeX), presentation MathML, SVG and HTML.
1233
1234         * mathml/MathMLElement.cpp:
1235         (WebCore::MathMLElement::childShouldCreateRenderer):
1236         (WebCore::MathMLElement::attributeChanged):
1237         (WebCore::MathMLElement::isPresentationMathML):
1238         * mathml/MathMLElement.h:
1239         (WebCore::MathMLElement::isMathMLToken):
1240         (WebCore::MathMLElement::isSemanticAnnotation):
1241         (WebCore::MathMLElement::isPresentationMathML):
1242         (WebCore::MathMLElement::updateSelectedChild):
1243         * mathml/MathMLInlineContainerElement.h:
1244         * mathml/MathMLSelectElement.cpp:
1245         (WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
1246         (WebCore::MathMLSelectElement::getSelectedActionChild):
1247         (WebCore::MathMLSelectElement::getSelectedSemanticsChild):
1248         (WebCore::MathMLSelectElement::updateSelectedChild):
1249         (WebCore::MathMLSelectElement::toggle):
1250         * mathml/MathMLSelectElement.h:
1251         * mathml/MathMLTextElement.h:
1252         * mathml/mathattrs.in:
1253         * mathml/mathtags.in:
1254
1255 2014-01-07  Pascal Jacquemart  <p.jacquemart@samsung.com>
1256
1257         Fix compilation issue with GLES2 after http://webkit.org/b/126548
1258         https://bugs.webkit.org/show_bug.cgi?id=126578
1259
1260         Reviewed by  Brent Fulgham
1261
1262         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: added GLES2/gl2.h include
1263
1264 2014-01-07  László Langó  <llango.u-szeged@partner.samsung.com>
1265
1266         Remove some extra includes from XML.
1267         https://bugs.webkit.org/show_bug.cgi?id=126572
1268
1269         Reviewed by Anders Carlsson.
1270
1271         No new tests, no functionality changed.
1272
1273         * xml/XMLHttpRequest.cpp:
1274         * xml/XMLHttpRequestUpload.cpp:
1275         * xml/XMLHttpRequestUpload.h:
1276         * xml/XPathEvaluator.cpp:
1277         * xml/XPathExpression.cpp:
1278         * xml/XPathExpressionNode.cpp:
1279         * xml/XPathFunctions.cpp:
1280         * xml/XPathNodeSet.cpp:
1281         * xml/XPathParser.cpp:
1282         * xml/XPathPath.cpp:
1283         * xml/XPathPredicate.cpp:
1284         * xml/XPathPredicate.h:
1285         * xml/XPathResult.cpp:
1286         * xml/XPathValue.cpp:
1287         * xml/XPathVariableReference.cpp:
1288         * xml/XSLImportRule.cpp:
1289         * xml/XSLStyleSheetLibxslt.cpp:
1290         * xml/XSLTProcessorLibxslt.cpp:
1291         * xml/parser/XMLDocumentParser.cpp:
1292         * xml/parser/XMLDocumentParserLibxml2.cpp:
1293
1294 2014-01-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1295
1296         Add toHTMLTableSectionElement() functions, and use it
1297         https://bugs.webkit.org/show_bug.cgi?id=126418
1298
1299         Reviewed by Andreas Kling.
1300
1301         HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
1302         generate isHTMLTableSectionElement() by using template. This patch add
1303         toHTMLTableSectionElement() manually in order to cleanup static_cast<>.
1304
1305         No new tests, no behavior change.
1306
1307         * html/HTMLTableElement.cpp:
1308         (WebCore::HTMLTableElement::tHead):
1309         (WebCore::HTMLTableElement::tFoot):
1310         (WebCore::HTMLTableElement::lastBody):
1311         * html/HTMLTableRowElement.cpp:
1312         (WebCore::HTMLTableRowElement::rowIndex):
1313         * html/HTMLTableSectionElement.h:
1314         * html/HTMLTagNames.in:
1315
1316 2014-01-07  László Langó  <llango.u-szeged@partner.samsung.com>
1317
1318         Remove some extra includes from SVG.
1319         https://bugs.webkit.org/show_bug.cgi?id=126565
1320
1321         Reviewed by Dirk Schulze.
1322
1323         No new tests, no functionality changed.
1324
1325         * rendering/svg/RenderSVGBlock.cpp:
1326         * rendering/svg/RenderSVGContainer.cpp:
1327         * rendering/svg/RenderSVGEllipse.cpp:
1328         * rendering/svg/RenderSVGEllipse.h:
1329         * rendering/svg/RenderSVGHiddenContainer.cpp:
1330         * rendering/svg/RenderSVGImage.cpp:
1331         * rendering/svg/RenderSVGImage.h:
1332         * rendering/svg/RenderSVGInlineText.cpp:
1333         * rendering/svg/RenderSVGModelObject.cpp:
1334         * rendering/svg/RenderSVGPath.cpp:
1335         * rendering/svg/RenderSVGRect.cpp:
1336         * rendering/svg/RenderSVGResource.cpp:
1337         * rendering/svg/RenderSVGResourceClipper.cpp:
1338         * rendering/svg/RenderSVGResourceClipper.h:
1339         * rendering/svg/RenderSVGResourceContainer.cpp:
1340         * rendering/svg/RenderSVGResourceFilter.cpp:
1341         * rendering/svg/RenderSVGResourceFilter.h:
1342         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1343         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
1344         * rendering/svg/RenderSVGResourceGradient.cpp:
1345         * rendering/svg/RenderSVGResourceGradient.h:
1346         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
1347         * rendering/svg/RenderSVGResourceMarker.cpp:
1348         * rendering/svg/RenderSVGResourceMarker.h:
1349         * rendering/svg/RenderSVGResourceMasker.cpp:
1350         * rendering/svg/RenderSVGResourceMasker.h:
1351         * rendering/svg/RenderSVGResourcePattern.cpp:
1352         * rendering/svg/RenderSVGResourcePattern.h:
1353         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
1354         * rendering/svg/RenderSVGResourceSolidColor.cpp:
1355         * rendering/svg/RenderSVGResourceSolidColor.h:
1356         * rendering/svg/RenderSVGRoot.cpp:
1357         * rendering/svg/RenderSVGShape.cpp:
1358         * rendering/svg/RenderSVGText.cpp:
1359         * rendering/svg/RenderSVGTransformableContainer.cpp:
1360         * rendering/svg/SVGInlineFlowBox.cpp:
1361         * rendering/svg/SVGInlineTextBox.cpp:
1362         * rendering/svg/SVGRenderSupport.cpp:
1363         * rendering/svg/SVGRenderTreeAsText.cpp:
1364         * rendering/svg/SVGRenderingContext.cpp:
1365         * rendering/svg/SVGResources.cpp:
1366         * rendering/svg/SVGResourcesCache.cpp:
1367         * rendering/svg/SVGResourcesCycleSolver.cpp:
1368         * rendering/svg/SVGRootInlineBox.cpp:
1369         * rendering/svg/SVGTextChunk.cpp:
1370         * rendering/svg/SVGTextChunkBuilder.cpp:
1371         * rendering/svg/SVGTextLayoutAttributes.h:
1372         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1373         * rendering/svg/SVGTextLayoutEngine.cpp:
1374         * rendering/svg/SVGTextLayoutEngine.h:
1375         * rendering/svg/SVGTextMetricsBuilder.h:
1376         * rendering/svg/SVGTextQuery.cpp:
1377         * rendering/svg/SVGTextRunRenderingContext.cpp:
1378
1379 2014-01-07  Krzysztof Czech  <k.czech@samsung.com>
1380
1381         [ATK] Expose aria-checked mixed state as ATK_STATE_INDETERMINATE
1382         https://bugs.webkit.org/show_bug.cgi?id=125855
1383
1384         Reviewed by Mario Sanchez Prada.
1385
1386         Test: accessibility/aria-checked-mixed-value.html
1387
1388         Expose ATK_STATE_INDETERMINATE to support aria-checked mixed state
1389         for radio and checkbox types.
1390
1391         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1392         (setAtkStateSetFromCoreObject):
1393
1394 2014-01-07  Mark Rowe  <mrowe@apple.com>
1395
1396         <https://webkit.org/b/126562> DOMProgressEvent has unspecified availability
1397
1398         Reviewed by Ryosuke Niwa.
1399
1400         * bindings/objc/PublicDOMInterfaces.h: Add DOMProgressEvent. It first appeared in 10.6.
1401
1402 2014-01-07  Mark Rowe  <mrowe@apple.com>
1403
1404         Another Mountain Lion build fix.
1405
1406         The Mountain Lion version of NS_DEPRECATED_MAC generates a reference to a nonexistent
1407         availability macro when the introduced and deprecated versions are the same. Follow
1408         AppKit's lead in working around this by defining the macros that will be referenced
1409         for the various possible OS version numbers. This isn't an issue on newer versions of
1410         OS X as the Foundation availability macros expand directly in to __attributes__ rather
1411         than in to the legacy availability maros.
1412
1413         * bindings/objc/WebKitAvailability.h:
1414
1415 2014-01-06  Mark Rowe  <mrowe@apple.com>
1416
1417         Mountain Lion build fix.
1418
1419         * bindings/objc/WebKitAvailability.h: #define __AVAILABILITY_INTERNAL__MAC_TBD so that
1420         the TBD version works on Mountain Lion. Newer OS versions use a slightly different set
1421         of macros that already support this version. Add a missing #include so that defintions
1422         of the Foundation availability macros can be found even if no other Foundation headers
1423         were included first.
1424
1425 2014-01-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1426
1427         Unreviewed, rolling out r161401.
1428         http://trac.webkit.org/changeset/161401
1429         https://bugs.webkit.org/show_bug.cgi?id=126418
1430
1431         REGRESSION(r161401): Break layout test on mac-wk1(Debug)
1432
1433         * html/HTMLTableElement.cpp:
1434         (WebCore::HTMLTableElement::tHead):
1435         (WebCore::HTMLTableElement::tFoot):
1436         (WebCore::HTMLTableElement::lastBody):
1437         * html/HTMLTableRowElement.cpp:
1438         (WebCore::HTMLTableRowElement::rowIndex):
1439         * html/HTMLTableSectionElement.h:
1440
1441 2014-01-05  Mark Rowe  <mrowe@apple.com>
1442
1443         <https://webkit.org/b/126500> Move Objective-C DOM bindings off the legacy WebKit availability macros
1444
1445         The legacy WebKit availability macros are verbose, confusing, and provide no benefit
1446         over using the system availability macros directly. The original vision was that
1447         they'd serve a cross-platform purpose but that never came to be.
1448
1449         The OS X version used in the new availability macros is based on the mapping in
1450         JavaScriptCore/WebKitAvailability.h.
1451
1452         Part of <rdar://problem/15512304>.
1453
1454         Reviewed by Sam Weinig.
1455
1456         * bindings/objc/DOMCSS.h:
1457         * bindings/objc/DOMEventException.h:
1458         * bindings/objc/DOMException.h:
1459         * bindings/objc/DOMExtensions.h:
1460         * bindings/objc/DOMObject.h:
1461         * bindings/objc/DOMRangeException.h:
1462         * bindings/objc/DOMXPathException.h:
1463         * bindings/objc/PublicDOMInterfaces.h:
1464         * bindings/objc/WebScriptObject.h:
1465         * bindings/scripts/CodeGeneratorObjC.pm:
1466         (ReadPublicInterfaces):
1467         (GenerateHeader): Tag enums with WK_ENUM_AVAILABLE_MAC and classes with WEBKIT_CLASS_AVAILABLE_MAC.
1468         Remove the #ifs that we were previously generating now that enums are appropriately tagged.
1469         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
1470         * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
1471         * bindings/scripts/test/ObjC/DOMTestCallback.h:
1472         * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
1473         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
1474         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
1475         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
1476         * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
1477         * bindings/scripts/test/ObjC/DOMTestEventTarget.h:
1478         * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
1479         * bindings/scripts/test/ObjC/DOMTestException.h:
1480         * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
1481         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
1482         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
1483         * bindings/scripts/test/ObjC/DOMTestInterface.h:
1484         * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
1485         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
1486         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
1487         * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
1488         * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
1489         * bindings/scripts/test/ObjC/DOMTestNode.h:
1490         * bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
1491         * bindings/scripts/test/ObjC/DOMTestObj.h:
1492         * bindings/scripts/test/ObjC/DOMTestObjInternal.h:
1493         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
1494         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
1495         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
1496         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
1497         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
1498         * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
1499         * bindings/scripts/test/ObjC/DOMattribute.h:
1500         * bindings/scripts/test/ObjC/DOMattributeInternal.h:
1501         * bindings/scripts/test/ObjC/DOMreadonly.h:
1502         * bindings/scripts/test/ObjC/DOMreadonlyInternal.h:
1503
1504 2014-01-06  Ryosuke Niwa  <rniwa@webkit.org>
1505
1506         REGRESSION(r157851): trailing space inside an editable region could be erroneously collapsed
1507         https://bugs.webkit.org/show_bug.cgi?id=126549
1508
1509         Reviewed by Sam Weinig.
1510
1511         The regression was caused by erroneous use of m_currentCharacterIsSpace in place of m_currentCharacterIsWS.
1512
1513         See the following two lines before the refactoring:
1514         http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3074
1515         http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3198
1516
1517         I've also cross-checked other places where m_currentCharacterIsSpace and m_currentCharacterIsWS are used.
1518
1519         Test: editing/inserting/inserting-trailing-space-and-letter.html
1520
1521         * rendering/line/BreakingContextInlineHeaders.h:
1522         (WebCore::BreakingContext::handleText):
1523
1524 2014-01-06  Seokju Kwon  <seokju@webkit.org>
1525
1526         Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol
1527         https://bugs.webkit.org/show_bug.cgi?id=126149
1528
1529         Reviewed by Joseph Pecoraro.
1530
1531         No new tests, No changes in behavior.
1532
1533         These are not used anywhere in WebInspectorUI.
1534         So, it removes unused Protocols and APIs.
1535
1536         * inspector/InspectorClient.h:
1537         * inspector/InspectorPageAgent.cpp:
1538         (WebCore::InspectorPageAgent::InspectorPageAgent):
1539         (WebCore::InspectorPageAgent::disable):
1540         * inspector/InspectorPageAgent.h:
1541         * inspector/protocol/Page.json:
1542
1543 2014-01-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1544
1545         Add toHTMLTableSectionElement() functions, and use it
1546         https://bugs.webkit.org/show_bug.cgi?id=126418
1547
1548         Reviewed by Anders Carlsson.
1549
1550         HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
1551         generate isHTMLTableSectionElement() by using template. This patch add
1552         toHTMLTableSectionElement() manually in order to cleanup static_cast<>.
1553
1554         No new tests, no behavior change.
1555
1556         * html/HTMLTableElement.cpp:
1557         (WebCore::HTMLTableElement::tHead):
1558         (WebCore::HTMLTableElement::tFoot):
1559         (WebCore::HTMLTableElement::lastBody):
1560         * html/HTMLTableRowElement.cpp:
1561         (WebCore::HTMLTableRowElement::rowIndex):
1562         * html/HTMLTableSectionElement.h:
1563         * html/HTMLTagNames.in:
1564
1565 2014-01-06  Mark Rowe  <mrowe@apple.com>
1566
1567         <https://webkit.org/b/126559> Be more correct in dealing with NSControlSize
1568
1569         Reviewed by Ryosuke Niwa.
1570
1571         * platform/mac/ScrollbarThemeMac.mm:
1572         (WebCore::scrollbarControlSizeToNSControlSize): Helper function to map from ScrollbarControlSize
1573         to NSControlSize.
1574         (WebCore::ScrollbarThemeMac::registerScrollbar): Use the helper rather than casting.
1575         (WebCore::ScrollbarThemeMac::scrollbarThickness): Use the helper.
1576         * rendering/RenderThemeMac.mm:
1577         (WebCore::RenderThemeMac::progressBarRectForBounds): Update the type of the local to NSControlSize.
1578         (WebCore::RenderThemeMac::paintProgressBar): Ditto.
1579
1580 2014-01-06  Brent Fulgham  <bfulgham@apple.com>
1581
1582         [WebGL] Be safer about toggling OpenGL state by using a scoped object to control setting lifetime.
1583         https://bugs.webkit.org/show_bug.cgi?id=126548
1584
1585         Reviewed by Anders Carlsson.
1586
1587         No new tests since there is no change in behavior.
1588
1589         * GNUmakefile.list.am: Updated to build new TemporaryOpenGLSetting files.
1590         * PlatformBlackBerry.cmake: Ditto
1591         * PlatformEfl.cmake: Ditto
1592         * PlatformGTK.cmake: Ditto
1593         * PlatformNix.cmake: Ditto
1594         * WebCore.vcxproj/WebCore.vcxproj: Ditto
1595         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
1596         * WebCore.xcodeproj/project.pbxproj: Ditto
1597         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1598         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Use new object.
1599         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1600         (WebCore::GraphicsContext3D::prepareTexture): Ditto
1601         (WebCore::GraphicsContext3D::reshape): Ditto
1602         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: Added.
1603         (WebCore::TemporaryOpenGLSetting::TemporaryOpenGLSetting):
1604         (WebCore::TemporaryOpenGLSetting::~TemporaryOpenGLSetting):
1605         * platform/graphics/opengl/TemporaryOpenGLSetting.h: Added.
1606
1607 2014-01-06  Simon Fraser  <simon.fraser@apple.com>
1608
1609         Hook up the RemoteScrollingCoordinator
1610         https://bugs.webkit.org/show_bug.cgi?id=126547
1611
1612         Reviewed by Tim Horton.
1613
1614         Export lots of scrolling-related symbols for use by WebKit2.
1615
1616         * WebCore.exp.in:
1617
1618 2014-01-06  Seokju Kwon  <seokju@webkit.org>
1619
1620         Web Inspector: Remove support for FileSystem in Frontend.
1621         https://bugs.webkit.org/show_bug.cgi?id=126369
1622
1623         Reviewed by Joseph Pecoraro.
1624
1625         No new tests, No change in behavior.
1626
1627         Remove leftover codes from protocol after r156692.
1628
1629         * CMakeLists.txt:
1630         * DerivedSources.make:
1631         * GNUmakefile.am:
1632         * inspector/InspectorFrontendClient.h:
1633         * inspector/InspectorFrontendClientLocal.h:
1634         * inspector/InspectorFrontendHost.cpp:
1635         * inspector/InspectorFrontendHost.h:
1636         * inspector/InspectorFrontendHost.idl:
1637         * inspector/protocol/FileSystem.json: Removed.
1638
1639 2014-01-06  Zoltan Horvath  <zoltan@webkit.org>
1640
1641         [CSS Regions][CSS Shapes] ASSERTION FAILED: m_segmentRanges.size() < m_segments.size()
1642         https://bugs.webkit.org/show_bug.cgi?id=125770
1643
1644         Reviewed by Bem Jones-Bey.
1645
1646         When we have an e.g. up-side-down triangle, when the content doesn't fit in the bottom part of the shape,
1647         and the adjusted content flows into the next region with a shape, we need to update the actual shape
1648         and region. Since it wasn't updated, it led to a shape mismatch, which led to assert/layout error.
1649
1650         Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html
1651
1652         * rendering/RenderBlockLineLayout.cpp:
1653         (WebiCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread): Update current shape
1654         and region, when adjustment occured.
1655
1656 2014-01-06  Seokju Kwon  <seokju@webkit.org>
1657
1658         Web Inspector: Get rid of Inspector/BindingVisitors.h
1659         https://bugs.webkit.org/show_bug.cgi?id=126374
1660
1661         Reviewed by Joseph Pecoraro.
1662
1663         No new tests, No change in behavior.
1664
1665         In r161204, methods related to BindingVisitors was removed.
1666
1667         * GNUmakefile.list.am:
1668         * WebCore.vcxproj/WebCore.vcxproj:
1669         * WebCore.vcxproj/WebCore.vcxproj.filters:
1670         * WebCore.xcodeproj/project.pbxproj:
1671         * bindings/js/ScriptProfiler.h:
1672         * inspector/BindingVisitors.h: Removed.
1673         * inspector/InspectorCanvasAgent.cpp:
1674         * inspector/InspectorMemoryAgent.cpp:
1675
1676 2014-01-06  Tim Horton  <timothy_horton@apple.com>
1677
1678         Add {IntRect, FloatRect}::infiniteRect() and ::isInfinite()
1679         https://bugs.webkit.org/show_bug.cgi?id=126537
1680
1681         Reviewed by Simon Fraser.
1682
1683         * platform/graphics/FloatRect.h:
1684         (WebCore::FloatRect::infiniteRect):
1685         (WebCore::FloatRect::isInfinite):
1686         * platform/graphics/IntRect.h:
1687         (WebCore::IntRect::infiniteRect):
1688         (WebCore::IntRect::isInfinite):
1689         Add infiniteRect() and isInfinite() to FloatRect and IntRect.
1690
1691         * platform/graphics/ca/GraphicsLayerCA.cpp:
1692         (WebCore::GraphicsLayerCA::setNeedsDisplay):
1693         * rendering/PaintInfo.h:
1694         (WebCore::PaintInfo::applyTransform):
1695         * rendering/RenderFlowThread.cpp:
1696         (WebCore::RenderFlowThread::fragmentsBoundingBox):
1697         * rendering/RenderLayer.cpp:
1698         (WebCore::RenderLayer::collectFragments):
1699         (WebCore::RenderLayer::calculateClipRects):
1700         * rendering/RenderLayerBacking.cpp:
1701         (WebCore::clipBox):
1702         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1703         * rendering/RenderLayerCompositor.cpp:
1704         (WebCore::RenderLayerCompositor::clippedByAncestor):
1705         * rendering/svg/SVGRenderingContext.cpp:
1706         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
1707         Adopt the new functions.
1708
1709 2014-01-06  Seokju Kwon  <seokju@webkit.org>
1710
1711         Web Inspector: Get rid of DOM.setFileInputFiles from Protocol
1712         https://bugs.webkit.org/show_bug.cgi?id=126312
1713
1714         Reviewed by Joseph Pecoraro.
1715
1716         No new tests, No changes in behavior.
1717
1718         It is a dead code as all ports in WebKit don't support it.
1719         And this patch removes all things related to DOM.setFileInputFiles in Frontend.
1720
1721         * inspector/InspectorClient.h:
1722         * inspector/InspectorController.cpp:
1723         (WebCore::InspectorController::InspectorController):
1724         * inspector/InspectorDOMAgent.cpp:
1725         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1726         * inspector/InspectorDOMAgent.h:
1727         (WebCore::InspectorDOMAgent::create):
1728         * inspector/protocol/DOM.json:
1729
1730 2014-01-06  Brent Fulgham  <bfulgham@apple.com>
1731
1732         [WebGL] Revise String Concatenation (Follow-up to r161247)
1733         https://bugs.webkit.org/show_bug.cgi?id=126411
1734
1735         Reviewed by Dean Jackson.
1736
1737         * html/canvas/WebGLRenderingContext.cpp:
1738         (WebCore::WebGLRenderingContext::getUniformLocation): Use more efficient string
1739         concatenation per Darin Adler's suggestion.
1740
1741 2014-01-06  Brent Fulgham  <bfulgham@apple.com>
1742
1743         [WebGL] FBO Depth Buffer Attachment Function Improperly Clearing with 0
1744         https://bugs.webkit.org/show_bug.cgi?id=126538
1745         <rdar://problem/15201336>
1746
1747         Reviewed by Dean Jackson.
1748
1749         Tested by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html
1750
1751         * html/canvas/WebGLFramebuffer.cpp:
1752         (WebCore::WebGLFramebuffer::initializeAttachments): Clear depth buffer with 1.0f (rather than 0), to match expected
1753         default (clear) buffer state for OpenGL. Using 0 would require us to flip the clear mask for the depth attachment
1754         type.
1755
1756 2014-01-06  Simon Fraser  <simon.fraser@apple.com>
1757
1758         Add new files for UI-side scrolling
1759         https://bugs.webkit.org/show_bug.cgi?id=126532
1760
1761         Reviewed by Anders Carlson.
1762
1763         * WebCore.xcodeproj/project.pbxproj: Make lots of scrolling-related headers Private
1764         so WebKit2 can include them.
1765         * page/scrolling/ScrollingCoordinator.cpp:
1766         (WebCore::ScrollingCoordinator::scheduleUpdateScrollPositionForNode): Callback that
1767         indicates that the given node has been scrolled asynchronously. Currently only
1768         handles the main frame.
1769         * page/scrolling/ScrollingCoordinator.h: Add support for type-casts of a remote subclass
1770         in another namespace.
1771         (WebCore::ScrollingCoordinator::isRemoteScrollingCoordinator):
1772         * page/scrolling/ScrollingTree.h:
1773         (WebCore::ScrollingTree::isRemoteScrollingTree):
1774
1775 2014-01-06  Gavin Barraclough  <barraclough@apple.com>
1776
1777         Move ViewState to WebCore
1778         https://bugs.webkit.org/show_bug.cgi?id=126488
1779
1780         Reviewed by Anders Carlson.
1781
1782         This change also partial reverts handling of LayerHostingMode, making this
1783         a separate message again. With hindsight the new way of doing this wasn't
1784         in all ways simpler, and it won't make sense to move this to WebCore.
1785
1786         * WebCore.xcodeproj/project.pbxproj:
1787         * page/ViewState.h: Added.
1788             - Moved from WebKit2, will be used by Page & FocusController.
1789
1790 2014-01-06  Martin Robinson  <mrobinson@igalia.com>
1791
1792         [CMake] [GTK] Fix the build for the WebKitGTK+ developer configuration
1793         https://bugs.webkit.org/show_bug.cgi?id=126505
1794
1795         Reviewed by Gustavo Noronha Silva.
1796
1797         * CMakeLists.txt: Add missing IDLS and source files to the lists.
1798         * PlatformGTK.cmake: Add missing include directories and source files to the lists.
1799         Use the GeoClue, GUdev, and gio-unix include paths and libraries and sort the list
1800         of WebCore include directories.
1801         * UseJSC.cmake: Align the sourced list with the contents of the bindings/js directory.
1802
1803 2014-01-06  Gavin Barraclough  <barraclough@apple.com>
1804
1805         Refactor NSActivity handling code from ChildProcess to UserActivity
1806         https://bugs.webkit.org/show_bug.cgi?id=126330
1807
1808         Unreviewed speculative Windows build fix.
1809
1810         * WebCore.vcxproj/WebCore.vcxproj:
1811             - Added UserActivity.cpp/.h.
1812
1813 2014-01-06  peavo@outlook.com  <peavo@outlook.com>
1814
1815         [Win] Link error.
1816         https://bugs.webkit.org/show_bug.cgi?id=126526
1817
1818         Reviewed by Brent Fulgham.
1819
1820         * WebCore.vcxproj/WebCore.vcxproj: Include UserActivity files in build.
1821         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1822
1823 2014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1824
1825         [Nix] Adding screenRect implementation to PlatformScreenNix
1826         https://bugs.webkit.org/show_bug.cgi?id=126231
1827
1828         Reviewed by Csaba Osztrogonác.
1829
1830         No new tests needed.
1831
1832         * platform/nix/PlatformScreenNix.cpp:
1833         (WebCore::screenRect):
1834
1835 2014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1836
1837         [Nix] Adding missing platform #ifs to WebCore files
1838         https://bugs.webkit.org/show_bug.cgi?id=126227
1839
1840         Reviewed by Csaba Osztrogonác.
1841
1842         No new tests needed.
1843
1844         * loader/EmptyClients.h:
1845         * page/ChromeClient.h:
1846         * page/DragController.cpp:
1847         (WebCore::DragController::startDrag):
1848         * platform/LocalizedStrings.h:
1849
1850 2014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1851
1852         [Nix] Adding new strings to LocalizedStringsNix
1853         https://bugs.webkit.org/show_bug.cgi?id=126228
1854
1855         Reviewed by Csaba Osztrogonác.
1856
1857         No new tests needed.
1858
1859         * platform/nix/LocalizedStringsNix.cpp:
1860         (WebCore::submitButtonDefaultLabel):
1861         (WebCore::inputElementAltText):
1862         (WebCore::resetButtonDefaultLabel):
1863         (WebCore::defaultDetailsSummaryText):
1864         (WebCore::searchableIndexIntroduction):
1865         (WebCore::fileButtonChooseFileLabel):
1866         (WebCore::fileButtonChooseMultipleFilesLabel):
1867         (WebCore::fileButtonNoFileSelectedLabel):
1868         (WebCore::fileButtonNoFilesSelectedLabel):
1869         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1870         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1871         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1872         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1873         (WebCore::contextMenuItemTagDownloadImageToDisk):
1874         (WebCore::contextMenuItemTagCopyImageToClipboard):
1875         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
1876         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
1877         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
1878         (WebCore::contextMenuItemTagDownloadVideoToDisk):
1879         (WebCore::contextMenuItemTagDownloadAudioToDisk):
1880         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
1881         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
1882         (WebCore::contextMenuItemTagToggleMediaControls):
1883         (WebCore::contextMenuItemTagShowMediaControls):
1884         (WebCore::contextMenuitemTagHideMediaControls):
1885         (WebCore::contextMenuItemTagToggleMediaLoop):
1886         (WebCore::contextMenuItemTagEnterVideoFullscreen):
1887         (WebCore::contextMenuItemTagMediaPlay):
1888         (WebCore::contextMenuItemTagMediaPause):
1889         (WebCore::contextMenuItemTagMediaMute):
1890         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1891         (WebCore::contextMenuItemTagCopy):
1892         (WebCore::contextMenuItemTagDelete):
1893         (WebCore::contextMenuItemTagSelectAll):
1894         (WebCore::contextMenuItemTagUnicode):
1895         (WebCore::contextMenuItemTagInputMethods):
1896         (WebCore::contextMenuItemTagGoBack):
1897         (WebCore::contextMenuItemTagGoForward):
1898         (WebCore::contextMenuItemTagStop):
1899         (WebCore::contextMenuItemTagReload):
1900         (WebCore::contextMenuItemTagCut):
1901         (WebCore::contextMenuItemTagPaste):
1902         (WebCore::contextMenuItemTagNoGuessesFound):
1903         (WebCore::contextMenuItemTagIgnoreSpelling):
1904         (WebCore::contextMenuItemTagLearnSpelling):
1905         (WebCore::contextMenuItemTagSearchWeb):
1906         (WebCore::contextMenuItemTagLookUpInDictionary):
1907         (WebCore::contextMenuItemTagOpenLink):
1908         (WebCore::contextMenuItemTagIgnoreGrammar):
1909         (WebCore::contextMenuItemTagSpellingMenu):
1910         (WebCore::contextMenuItemTagShowSpellingPanel):
1911         (WebCore::contextMenuItemTagCheckSpelling):
1912         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1913         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1914         (WebCore::contextMenuItemTagFontMenu):
1915         (WebCore::contextMenuItemTagBold):
1916         (WebCore::contextMenuItemTagItalic):
1917         (WebCore::contextMenuItemTagUnderline):
1918         (WebCore::contextMenuItemTagOutline):
1919         (WebCore::contextMenuItemTagInspectElement):
1920         (WebCore::contextMenuItemTagRightToLeft):
1921         (WebCore::contextMenuItemTagLeftToRight):
1922         (WebCore::contextMenuItemTagWritingDirectionMenu):
1923         (WebCore::contextMenuItemTagTextDirectionMenu):
1924         (WebCore::contextMenuItemTagDefaultDirection):
1925         (WebCore::searchMenuNoRecentSearchesText):
1926         (WebCore::searchMenuRecentSearchesText):
1927         (WebCore::searchMenuClearRecentSearchesText):
1928         (WebCore::AXDefinitionText):
1929         (WebCore::AXDescriptionListText):
1930         (WebCore::AXDescriptionListTermText):
1931         (WebCore::AXDescriptionListDetailText):
1932         (WebCore::AXFooterRoleDescriptionText):
1933         (WebCore::AXSearchFieldCancelButtonText):
1934         (WebCore::AXButtonActionVerb):
1935         (WebCore::AXRadioButtonActionVerb):
1936         (WebCore::AXTextFieldActionVerb):
1937         (WebCore::AXCheckedCheckBoxActionVerb):
1938         (WebCore::AXUncheckedCheckBoxActionVerb):
1939         (WebCore::AXLinkActionVerb):
1940         (WebCore::unknownFileSizeText):
1941         (WebCore::imageTitle):
1942         (WebCore::AXListItemActionVerb):
1943         (WebCore::localizedMediaControlElementString):
1944         (WebCore::localizedMediaControlElementHelpText):
1945         (WebCore::localizedMediaTimeDescription):
1946         (WebCore::mediaElementLoadingStateText):
1947         (WebCore::mediaElementLiveBroadcastStateText):
1948         (WebCore::validationMessagePatternMismatchText):
1949         (WebCore::validationMessageRangeOverflowText):
1950         (WebCore::validationMessageRangeUnderflowText):
1951         (WebCore::validationMessageStepMismatchText):
1952         (WebCore::validationMessageTooLongText):
1953         (WebCore::validationMessageTypeMismatchText):
1954         (WebCore::validationMessageTypeMismatchForEmailText):
1955         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
1956         (WebCore::validationMessageTypeMismatchForURLText):
1957         (WebCore::validationMessageValueMissingText):
1958         (WebCore::validationMessageValueMissingForCheckboxText):
1959         (WebCore::validationMessageValueMissingForFileText):
1960         (WebCore::validationMessageValueMissingForMultipleFileText):
1961         (WebCore::validationMessageValueMissingForRadioText):
1962         (WebCore::validationMessageValueMissingForSelectText):
1963         (WebCore::validationMessageBadInputForNumberText):
1964         (WebCore::missingPluginText):
1965         (WebCore::AXMenuListPopupActionVerb):
1966         (WebCore::AXMenuListActionVerb):
1967         (WebCore::multipleFileUploadText):
1968         (WebCore::crashedPluginText):
1969         (WebCore::blockedPluginByContentSecurityPolicyText):
1970         (WebCore::insecurePluginVersionText):
1971         (WebCore::inactivePluginText):
1972         (WebCore::unacceptableTLSCertificate):
1973         (WebCore::textTrackClosedCaptionsText):
1974         (WebCore::textTrackSubtitlesText):
1975         (WebCore::textTrackOffMenuItemText):
1976         (WebCore::textTrackAutomaticMenuItemText):
1977         (WebCore::textTrackNoLabelText):
1978         (WebCore::snapshottedPlugInLabelTitle):
1979         (WebCore::snapshottedPlugInLabelSubtitle):
1980
1981 2014-01-06  László Langó  <lango@inf.u-szeged.hu>
1982
1983         Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code.
1984         https://bugs.webkit.org/show_bug.cgi?id=124579
1985
1986         Reviewed by Anders Carlsson.
1987
1988         * WebCore.exp.in:
1989         * loader/NetscapePlugInStreamLoader.cpp:
1990         (WebCore::NetscapePlugInStreamLoader::didReceiveData):
1991         * loader/NetscapePlugInStreamLoader.h:
1992         * loader/PingLoader.h:
1993         * loader/ResourceBuffer.cpp:
1994         (WebCore::ResourceBuffer::ResourceBuffer):
1995         * loader/ResourceBuffer.h:
1996         (WebCore::ResourceBuffer::create):
1997         * loader/ResourceLoader.cpp:
1998         (WebCore::ResourceLoader::addDataOrBuffer):
1999         (WebCore::ResourceLoader::didReceiveData):
2000         (WebCore::ResourceLoader::didReceiveDataOrBuffer):
2001         (WebCore::ResourceLoader::willStopBufferingData):
2002         * loader/ResourceLoader.h:
2003         * loader/SubresourceLoader.cpp:
2004         (WebCore::SubresourceLoader::didReceiveData):
2005         * loader/SubresourceLoader.h:
2006         * loader/appcache/ApplicationCacheGroup.cpp:
2007         (WebCore::ApplicationCacheGroup::didReceiveData):
2008         * loader/appcache/ApplicationCacheGroup.h:
2009         * loader/mac/ResourceLoaderMac.mm:
2010         (WebCore::ResourceLoader::didReceiveDataArray):
2011         * platform/SharedBuffer.cpp:
2012         (WebCore::SharedBuffer::SharedBuffer):
2013         * platform/SharedBuffer.h:
2014         (WebCore::SharedBuffer::create):
2015         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2016         (ResourceHandleStreamingClient::didReceiveData):
2017         * platform/network/BlobResourceHandle.cpp:
2018         * platform/network/ResourceHandleClient.h:
2019         (WebCore::ResourceHandleClient::didReceiveData):
2020         (WebCore::ResourceHandleClient::willStopBufferingData):
2021         * platform/network/SynchronousLoaderClient.cpp:
2022         (WebCore::SynchronousLoaderClient::didReceiveData):
2023         * platform/network/SynchronousLoaderClient.h:
2024         * platform/network/blackberry/BlobStream.cpp:
2025         (WebCore::BlobStream::didReceiveData):
2026         * platform/network/blackberry/BlobStream.h:
2027         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
2028         (WebCore::WebCoreSynchronousLoader::didReceiveData):
2029         * platform/network/curl/ResourceHandleCurl.cpp:
2030         (WebCore::WebCoreSynchronousLoader::didReceiveData):
2031         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
2032         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
2033         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
2034         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]):
2035         * platform/network/soup/ResourceHandleSoup.cpp:
2036         (WebCore::WebCoreSynchronousLoader::didReceiveData):
2037         * platform/network/win/ResourceHandleWin.cpp:
2038         (WebCore::WebCoreSynchronousLoader::didReceiveData):
2039
2040 2014-01-06  Andreas Kling  <akling@apple.com>
2041
2042         RenderBlock::clone() should return RenderPtr.
2043         <https://webkit.org/b/126513>
2044
2045         Reviewed by Antti Koivisto.
2046
2047         * rendering/RenderBlock.h:
2048         * rendering/RenderBlock.cpp:
2049         (WebCore::RenderBlock::clone):
2050
2051             Tweaked to return RenderPtr<RenderBlock>.
2052
2053         (WebCore::RenderBlock::splitBlocks):
2054
2055             Store cloned RenderBlocks in RenderPtrs. Use leakPtr() to sink
2056             them into ownership-taking APIs that still use raw pointers.
2057
2058         * rendering/RenderPtr.h:
2059
2060             Add a simple static_pointer_cast for RenderPtr&&.
2061
2062 2014-01-06  Andreas Kling  <akling@apple.com>
2063
2064         RenderInline::clone() should return RenderPtr.
2065         <https://webkit.org/b/126514>
2066
2067         Reviewed by Antti Koivisto.
2068
2069         * rendering/RenderInline.h:
2070         * rendering/RenderInline.cpp:
2071         (WebCore::RenderInline::clone):
2072
2073             Tweaked to return RenderPtr<RenderInline>.
2074
2075         (WebCore::RenderInline::splitInlines):
2076
2077             Store cloned RenderInlines in RenderPtrs. Use leakPtr() to sink
2078             them into ownership-taking APIs that still use raw pointers.
2079
2080 2014-01-06  Gurpreet Kaur  <k.gurpreet@samsung.com>
2081
2082         <hr> appears gray instead of green because of color attribute is defined followed by noshade attribute
2083         https://bugs.webkit.org/show_bug.cgi?id=17674
2084
2085         Reviewed by Simon Fraser.
2086
2087         The noshade attribute is a boolean attribute and when set on hr element
2088         it shows a gray color. When there is color attribute the default gray
2089         color should be replaced by the color mentioned by the color attribute.
2090         Firefox and IE show the same behaviour but Webkit is different. Making
2091         the behaviour of Webkit similiar to Firefox and IE's behaviour.
2092
2093         Test: fast/dom/HTMLHrElement/hr-color-noshade-attribute.html
2094
2095         * html/HTMLHRElement.cpp:
2096         (WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
2097         When the color attribute is present that value is applied and the 
2098         default gray color is ignored. Incase of no color attribute the default
2099         gray color is applied.
2100
2101 2014-01-06  Mark Rowe  <mrowe@apple.com>
2102
2103         <https://webkit.org/b/126499> Move WebKit off the legacy WebKit availability macros
2104
2105         The legacy WebKit availability macros are verbose, confusing, and provide no benefit
2106         over using the system availability macros directly. The original vision was that
2107         they'd serve a cross-platform purpose but that never came to be.
2108
2109         Since WebKit1 is API on OS X but SPI on iOS, some indirection is still needed in the
2110         availability macros to allow the headers to advertise the API as unavailable on OS X
2111         without interfering with the ability to build on iOS. This is achieved by defining
2112         WEBKIT-prefixed versions of the Foundation availability macros that are defined to
2113         their NS-prefixed equivalents. The installed headers are post-processed to map these
2114         macros back to their Foundation equivalents.
2115
2116         Part of <rdar://problem/15512304>.
2117
2118         Reviewed by Sam Weinig.
2119
2120         * WebCore.xcodeproj/project.pbxproj:
2121         * bindings/objc/WebKitAvailability.h: Added. This lives at the WebCore level since it
2122         will be needed by the Objective-C DOM bindings.
2123
2124 2014-01-05  Simon Fraser  <simon.fraser@apple.com>
2125
2126         Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
2127         https://bugs.webkit.org/show_bug.cgi?id=126501
2128
2129         Reviewed by Sam Weinig.
2130
2131         Add type-safe casting to GraphicsLayer.
2132
2133         * platform/graphics/GraphicsLayer.h:
2134         (WebCore::GraphicsLayer::isGraphicsLayerCA):
2135         (WebCore::GraphicsLayer::isGraphicsLayerCARemote):
2136         * platform/graphics/ca/GraphicsLayerCA.h:
2137         (WebCore::GraphicsLayerCA::isGraphicsLayerCA):
2138
2139 2014-01-05  Martin Robinson  <mrobinson@igalia.com>
2140
2141         [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
2142         https://bugs.webkit.org/show_bug.cgi?id=116379
2143
2144         Reviewed by Gustavo Noronha Silva.
2145
2146         * PlatformGTK.cmake: Reformat some install directives to be consistent with the rest of them.
2147         Install the GObject DOM bindings headers.
2148
2149 2014-01-05  Andreas Kling  <akling@apple.com>
2150
2151         Use lineageOfType to simplify two rendering helpers.
2152         <https://webkit.org/b/126498>
2153
2154         Reviewed by Antti Koivisto.
2155
2156         * rendering/RenderRuby.cpp:
2157         (WebCore::findRubyRunParent):
2158         * rendering/svg/SVGRenderSupport.cpp:
2159         (WebCore::SVGRenderSupport::findTreeRootObject):
2160
2161             Simplify two functions that walk their parent chain to find the
2162             closest ancestor of a certain type.
2163
2164         * rendering/RenderRubyRun.h:
2165
2166             Add requisite isRendererOfType<RenderRubyRun>().
2167
2168 2014-01-05  Csaba Osztrogonác  <ossy@webkit.org>
2169
2170         Fix the Mac build too.
2171
2172         * page/PageThrottler.h:
2173
2174 2014-01-05  Csaba Osztrogonác  <ossy@webkit.org>
2175
2176         Weekend URTBF after r161319 to make non Mac builds work again.
2177
2178         * page/PageThrottler.h:
2179
2180 2014-01-05  Gavin Barraclough  <barraclough@apple.com>
2181
2182         Move process suppression of WebProcess to Page (from UIProcess)
2183         https://bugs.webkit.org/show_bug.cgi?id=126480
2184
2185         Reviewed by Sam Weinig.
2186
2187         Let each page take a UserActivity rather than having to coalesce this state, and take different activity
2188         tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.
2189
2190         * WebCore.exp.in:
2191         * page/Page.cpp:
2192         (WebCore::Page::setIsVisuallyIdle):
2193         * page/Page.h:
2194             - setThrottled -> setIsVisuallyIdle.
2195         * page/PageThrottler.cpp:
2196         (WebCore::PageThrottler::PageThrottler):
2197             - Initialize m_visuallyNonIdle.
2198         (WebCore::PageThrottler::~PageThrottler):
2199             - setThrottled -> setIsVisuallyIdle.
2200         (WebCore::PageThrottler::setIsVisuallyIdle):
2201             - Use m_visuallyNonIdle to disable supression when the page is not visually idle.
2202         * page/PageThrottler.h:
2203             - setThrottled -> setIsVisuallyIdle, added m_visuallyNonIdle.
2204
2205 2014-01-04  Sam Weinig  <sam@webkit.org>
2206
2207         Move a few more functions from RenderBlock to RenderBlockFlow
2208         https://bugs.webkit.org/show_bug.cgi?id=126494
2209
2210         Reviewed by Andreas Kling.
2211
2212         * rendering/RenderBlock.h:
2213         * rendering/RenderBlockFlow.h:
2214         (WebCore::RenderBlockFlow::adjustInlineDirectionLineBounds):
2215         * rendering/RenderBlockLineLayout.cpp:
2216         (WebCore::RenderBlockFlow::textAlignmentForLine):
2217         (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
2218         (WebCore::RenderBlockFlow::startAlignedOffsetForLine):
2219         These are only used by RenderBlockFlow, so move them there.
2220
2221 2014-01-04  Simon Fraser  <simon.fraser@apple.com>
2222
2223         Prepare the ScrollingTree for remote use
2224         https://bugs.webkit.org/show_bug.cgi?id=126493
2225
2226         Reviewed by Sam Weinig.
2227
2228         When committing the scrolling tree, we clone the ScrollingStateTree
2229         to hand off to another thread, or (in future) to encode to send to the
2230         UI process. During this cloning process, two types of layer transformations
2231         take place: for threaded scrolling, we replace GraphicsLayer with PlatformLayers.
2232         For remote scrolling, we'll replace GraphicsLayers with PlatformLayerIDs.
2233         Allow the ScrollingCoordinator to specify which type of transformation occurs
2234         by giving ScrollingStateTree a LayerRepresentation::Type member,
2235         which is consulted during ScrollingStateNode cloning.
2236         
2237         Also only copy layers that have changed to avoid setting dirty bits.
2238         
2239         Expose some other stuff on ScrollingStateTree which will be needed for
2240         remote scrolling.
2241
2242         * page/scrolling/ScrollingStateFixedNode.cpp:
2243         (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
2244         * page/scrolling/ScrollingStateNode.cpp:
2245         (WebCore::ScrollingStateNode::ScrollingStateNode):
2246         * page/scrolling/ScrollingStateNode.h:
2247         (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
2248         (WebCore::LayerRepresentation::toRepresentation):
2249         (WebCore::ScrollingStateNode::changedProperties):
2250         (WebCore::ScrollingStateNode::setChangedProperties):
2251         (WebCore::ScrollingStateNode::parentNodeID):
2252         * page/scrolling/ScrollingStateScrollingNode.cpp:
2253         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
2254         * page/scrolling/ScrollingStateStickyNode.cpp:
2255         (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
2256         * page/scrolling/ScrollingStateTree.cpp:
2257         (WebCore::ScrollingStateTree::ScrollingStateTree):
2258         (WebCore::ScrollingStateTree::commit):
2259         (WebCore::ScrollingStateTree::setRemovedNodes):
2260         (WebCore::ScrollingStateTree::stateNodeForID):
2261         * page/scrolling/ScrollingStateTree.h:
2262         (WebCore::ScrollingStateTree::nodeCount):
2263         (WebCore::ScrollingStateTree::nodeMap):
2264         (WebCore::ScrollingStateTree::preferredLayerRepresentation):
2265         (WebCore::ScrollingStateTree::setPreferredLayerRepresentation):
2266         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2267         (WebCore::ScrollingCoordinatorMac::commitTreeState):
2268
2269 2014-01-04  Sam Weinig  <sam@webkit.org>
2270
2271         Move LineBreaker functions to LineBreaker.cpp
2272         https://bugs.webkit.org/show_bug.cgi?id=126491
2273
2274         Reviewed by Simon Fraser.
2275
2276         - Moves LineBreaker::nextLineBreak() and LineBreaker::nextSegmentBreak() to
2277           LineBreaker.cpp from RenderBlockLineLayout.cpp
2278         - Moves requiresIndent() to LineWidth.h/cpp from RenderBlockLineLayout.cpp
2279           so it can be shared.
2280         - Adds missing inline specifier to BreakingContext::handleEndOfLine() to avoid
2281           duplicate symbols.
2282
2283         * rendering/RenderBlockLineLayout.cpp:
2284         (WebCore::updateLogicalInlinePositions):
2285         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
2286         * rendering/line/BreakingContextInlineHeaders.h:
2287         (WebCore::BreakingContext::handleEndOfLine):
2288         * rendering/line/LineBreaker.cpp:
2289         (WebCore::LineBreaker::nextLineBreak):
2290         (WebCore::LineBreaker::nextSegmentBreak):
2291         * rendering/line/LineWidth.cpp:
2292         (WebCore::requiresIndent):
2293         * rendering/line/LineWidth.h:
2294
2295 2014-01-04  Martin Robinson  <mrobinson@igalia.com>
2296
2297         [GTK] [CMake] Fix the video and audio build
2298         https://bugs.webkit.org/show_bug.cgi?id=126464
2299
2300         Reviewed by Philippe Normand.
2301
2302         * PlatformGTK.cmake: Complete the audio and video source lists.
2303
2304 2014-01-04  Zan Dobersek  <zdobersek@igalia.com>
2305
2306         Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
2307         https://bugs.webkit.org/show_bug.cgi?id=126439
2308
2309         Reviewed by Andreas Kling.
2310
2311         Instead of relying on std::pair and std::make_pair symbols being present in the current scope
2312         through the pair and make_pair symbols, the std:: specifier should be used explicitly.
2313
2314         * Modules/webdatabase/DatabaseTracker.cpp:
2315         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
2316         * accessibility/AXObjectCache.h:
2317         * accessibility/AccessibilityARIAGridCell.cpp:
2318         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
2319         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
2320         * accessibility/AccessibilityARIAGridCell.h:
2321         * accessibility/AccessibilityObject.h:
2322         * accessibility/AccessibilityRenderObject.cpp:
2323         (WebCore::AccessibilityRenderObject::mathPrescripts):
2324         (WebCore::AccessibilityRenderObject::mathPostscripts):
2325         * accessibility/AccessibilityTable.cpp:
2326         (WebCore::AccessibilityTable::cellForColumnAndRow):
2327         * accessibility/AccessibilityTableCell.cpp:
2328         (WebCore::AccessibilityTableCell::rowIndexRange):
2329         (WebCore::AccessibilityTableCell::columnIndexRange):
2330         * accessibility/AccessibilityTableCell.h:
2331         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2332         (webkitAccessibleTableGetColumnAtIndex):
2333         (webkitAccessibleTableGetRowAtIndex):
2334         (webkitAccessibleTableGetColumnExtentAt):
2335         (webkitAccessibleTableGetRowExtentAt):
2336         (webkitAccessibleTableGetColumnHeader):
2337         (webkitAccessibleTableGetRowHeader):
2338         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2339         (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
2340         (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
2341         (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
2342         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
2343         (convertMathPairsToNSArray):
2344         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2345         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2346         * bindings/js/SerializedScriptValue.cpp:
2347         * dom/ContainerNode.cpp:
2348         * dom/StyledElement.cpp:
2349         (WebCore::attributeNameSort):
2350         * html/MediaFragmentURIParser.cpp:
2351         (WebCore::MediaFragmentURIParser::parseTimeFragment):
2352         * html/parser/HTMLMetaCharsetParser.h:
2353         * inspector/ContentSearchUtils.cpp:
2354         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
2355         (WebCore::ContentSearchUtils::searchInTextByLines):
2356         * inspector/DOMPatchSupport.cpp:
2357         (WebCore::DOMPatchSupport::diff):
2358         (WebCore::DOMPatchSupport::innerPatchChildren):
2359         * inspector/DOMPatchSupport.h:
2360         * inspector/InspectorAgent.cpp:
2361         (WebCore::InspectorAgent::enable):
2362         (WebCore::InspectorAgent::evaluateForTestInFrontend):
2363         * inspector/InspectorAgent.h:
2364         * loader/FormSubmission.cpp:
2365         (WebCore::FormSubmission::create):
2366         * loader/cache/CachedImage.cpp:
2367         (WebCore::CachedImage::brokenImage):
2368         * loader/cache/CachedImage.h:
2369         * platform/URL.cpp:
2370         (WebCore::findHostnamesInMailToURL):
2371         (WebCore::encodeHostnames):
2372         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
2373         * platform/graphics/FontCache.cpp:
2374         (WebCore::FontCache::getCachedFontData):
2375         * platform/graphics/WidthIterator.cpp:
2376         * platform/network/HTTPHeaderMap.cpp:
2377         (WebCore::HTTPHeaderMap::adopt):
2378         * platform/network/ResourceResponseBase.cpp:
2379         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2380         (WebCore::parseCacheHeader):
2381         * platform/text/AtomicStringKeyedMRUCache.h:
2382         * platform/text/LineBreakIteratorPoolICU.h:
2383         * rendering/InlineFlowBox.h:
2384         * rendering/RenderImage.cpp:
2385         (WebCore::RenderImage::imageSizeForError):
2386         (WebCore::RenderImage::paintReplaced):
2387         * rendering/RenderTableSection.cpp:
2388         (WebCore::RenderTableSection::cachedCollapsedBorder):
2389         * rendering/RenderTableSection.h:
2390         * rendering/svg/SVGTextRunRenderingContext.cpp:
2391         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
2392         * svg/SVGAnimatedAngle.cpp:
2393         (WebCore::SVGAnimatedAngleAnimator::constructFromString):
2394         (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
2395         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
2396         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
2397         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
2398         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
2399         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
2400         * svg/SVGAnimatedNumberOptionalNumber.cpp:
2401         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
2402         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
2403         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
2404         * svg/SVGAnimatedType.cpp:
2405         (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
2406         (WebCore::SVGAnimatedType::createNumberOptionalNumber):
2407         * svg/SVGAnimatedType.h:
2408         (WebCore::SVGAnimatedType::integerOptionalInteger):
2409         (WebCore::SVGAnimatedType::numberOptionalNumber):
2410         * svg/SVGAnimatedTypeAnimator.h:
2411         (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
2412         (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
2413         * svg/SVGParserUtilities.h:
2414         * svg/animation/SMILTimeContainer.h:
2415
2416 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
2417
2418         Attempt to fix EFL build.
2419
2420         * page/scrolling/ScrollingStateTree.cpp:
2421         (WebCore::ScrollingStateTree::setHasChangedProperties):
2422
2423 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
2424
2425         Clean up the means of committing the scrolling state tree
2426         https://bugs.webkit.org/show_bug.cgi?id=126482
2427
2428         Reviewed by Tim Horton.
2429
2430         ScrollingStateNodes would manually call scrollingStateTree().setHasChangedProperties()
2431         after setPropertyChanged() in lots of places, which was repetitive, and
2432         AsyncScrollingCoordinator manually called scheduleTreeStateCommit() in many places.
2433         
2434         Clean up both of these with a clearer trigger for state tree commits.
2435         ScrollingStateNodes::setPropertyChanged() calls ScrollingStateTree::setHasChangedProperties(),
2436         which turns around and tells the ScrollingCoordinator that the state tree became dirty.
2437
2438         * page/scrolling/AsyncScrollingCoordinator.cpp:
2439         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
2440         (WebCore::AsyncScrollingCoordinator::scrollingStateTreePropertiesChanged):
2441         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
2442         (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
2443         (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
2444         (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
2445         (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
2446         (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
2447         (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
2448         (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
2449         (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
2450         (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
2451         (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
2452         (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
2453         (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
2454         * page/scrolling/AsyncScrollingCoordinator.h:
2455         * page/scrolling/ScrollingStateFixedNode.cpp:
2456         (WebCore::ScrollingStateFixedNode::updateConstraints):
2457         * page/scrolling/ScrollingStateNode.cpp:
2458         (WebCore::ScrollingStateNode::setPropertyChanged):
2459         (WebCore::ScrollingStateNode::setLayer):
2460         * page/scrolling/ScrollingStateNode.h:
2461         * page/scrolling/ScrollingStateScrollingNode.cpp:
2462         (WebCore::ScrollingStateScrollingNode::setViewportRect):
2463         (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
2464         (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
2465         (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
2466         (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
2467         (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
2468         (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
2469         (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
2470         (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
2471         (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
2472         (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
2473         (WebCore::ScrollingStateScrollingNode::setFooterHeight):
2474         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
2475         (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
2476         (WebCore::ScrollingStateScrollingNode::setFooterLayer):
2477         * page/scrolling/ScrollingStateStickyNode.cpp:
2478         (WebCore::ScrollingStateStickyNode::updateConstraints):
2479         * page/scrolling/ScrollingStateTree.cpp:
2480         (WebCore::ScrollingStateTree::create):
2481         (WebCore::ScrollingStateTree::ScrollingStateTree):
2482         (WebCore::ScrollingStateTree::setHasChangedProperties):
2483         (WebCore::ScrollingStateTree::didRemoveNode):
2484         * page/scrolling/ScrollingStateTree.h:
2485         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2486         (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
2487         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
2488         (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
2489
2490 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
2491
2492         Try to fix CoordinatedGraphics build after r161303. Remove implementations
2493         which are now in the cross-platform file.
2494
2495         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
2496         (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
2497         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
2498         * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
2499         * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp:
2500
2501 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
2502
2503         Simplify ScrollingStateNode references to various layer types
2504         https://bugs.webkit.org/show_bug.cgi?id=126477
2505
2506         Reviewed by Tim Horton.
2507         
2508         ScrollingStateNodes referenced both GraphicsLayer and PlatformLayers, in
2509         confusing ways. In the main thread they have a GraphicsLayer*, but need
2510         to check to see if the underlying PlatformLayer changed. Then, when
2511         cloned to commit to the scrolling thread, they drop the GraphicsLayer
2512         and store a PlatformLayer.
2513         
2514         Hide the complexity (and prepare for the future) by adding LayerRepresentation,
2515         which wraps various different flavors of layers, and knows how to check whether
2516         the PlatformLayer underlying a GraphicsLayer changed.
2517         
2518         ScrollingStateNode layer setters then just take and compare LayerRepresentations.
2519         Copy constructors convert to a PlatformLayer representation (though not really
2520         in the right place currently), and ScrollingTreeNodes get PlatformLayers.
2521
2522         * page/scrolling/AsyncScrollingCoordinator.cpp:
2523         (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
2524         (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
2525         * page/scrolling/ScrollingStateFixedNode.cpp:
2526         (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
2527         * page/scrolling/ScrollingStateNode.cpp:
2528         (WebCore::ScrollingStateNode::ScrollingStateNode):
2529         (WebCore::ScrollingStateNode::setLayer):
2530         * page/scrolling/ScrollingStateNode.h:
2531         (WebCore::LayerRepresentation::LayerRepresentation):
2532         (WebCore::LayerRepresentation::operator GraphicsLayer*):
2533         (WebCore::LayerRepresentation::operator PlatformLayer*):
2534         (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
2535         (WebCore::LayerRepresentation::operator ==):
2536         (WebCore::LayerRepresentation::toPlatformLayer):
2537         (WebCore::LayerRepresentation::representsGraphicsLayer):
2538         (WebCore::LayerRepresentation::representsPlatformLayer):
2539         (WebCore::LayerRepresentation::representsPlatformLayerID):
2540         (WebCore::ScrollingStateNode::layer):
2541         * page/scrolling/ScrollingStateScrollingNode.cpp:
2542         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
2543         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
2544         (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
2545         (WebCore::ScrollingStateScrollingNode::setFooterLayer):
2546         * page/scrolling/ScrollingStateScrollingNode.h:
2547         * page/scrolling/ScrollingStateStickyNode.cpp:
2548         (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
2549         * page/scrolling/mac/ScrollingStateNodeMac.mm:
2550         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
2551         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
2552         (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
2553         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2554         (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
2555         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
2556         (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
2557
2558 2014-01-03  Brent Fulgham  <bfulgham@apple.com>
2559
2560         [WebGL] Blit operation from Multisample FBO to rendering FBO must ignore GL_SCISSOR test
2561         https://bugs.webkit.org/show_bug.cgi?id=126470
2562         <rdar://problem/15201370>
2563
2564         Reviewed by Dean Jackson.
2565
2566         Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
2567
2568         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2569         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Temporarily deactivate the GL_SCISSOR
2570         test while we do our blit, then reactivate if necessary.
2571
2572 2014-01-03  Brent Fulgham  <bfulgham@apple.com>
2573
2574         [WebGL] CGLPixelFormat should specify SampleBuffer and Sample count when using MSAA
2575         https://bugs.webkit.org/show_bug.cgi?id=126468
2576
2577         Reviewed by Dean Jackson.
2578
2579         Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
2580
2581         * platform/graphics/mac/GraphicsContext3DMac.mm:
2582         (WebCore::setPixelFormat): Add kCGLPFAMultisample, kCGLPFASampleBuffers (and count), and
2583         kCGLPFASamples (and count) to our pixel format when 'antialias=true'.
2584         (WebCore::GraphicsContext3D::GraphicsContext3D): Pass a new 'antialias' flag to the setPixelFormat
2585         method so we can turn on MSAA features when needed.
2586
2587 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
2588
2589         Give all PlatformCALayers a PlatformLayerID, not just remote ones
2590         https://bugs.webkit.org/show_bug.cgi?id=126466
2591
2592         Reviewed by Tim Horton.
2593
2594         The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
2595         which is confusing, and is necessary because the underlying PlatformLayer
2596         inside a GraphicsLayer can change. In order to hide some of this complexity,
2597         expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
2598         can hold onto to test for underlying layer swapping.
2599         
2600         Also constify LayerType m_layerType on PlatformCALayer, which required
2601         cleaning up the construction of PlatformCALayerMac in the case where a
2602         PlatformCALayerMac is wrapping an existing CALayer (which happens for video).
2603
2604         * WebCore.exp.in:
2605         * platform/graphics/GraphicsLayer.h:
2606         (WebCore::GraphicsLayer::primaryLayerID):
2607         * platform/graphics/ca/GraphicsLayerCA.cpp:
2608         (WebCore::GraphicsLayerCA::primaryLayerID):
2609         * platform/graphics/ca/GraphicsLayerCA.h:
2610         * platform/graphics/ca/PlatformCALayer.cpp:
2611         (WebCore::generateLayerID):
2612         (WebCore::PlatformCALayer::PlatformCALayer):
2613         * platform/graphics/ca/PlatformCALayer.h:
2614         (WebCore::PlatformCALayer::layerID):
2615         * platform/graphics/ca/mac/PlatformCALayerMac.h:
2616         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2617         (PlatformCALayerMac::create):
2618         (PlatformCALayerMac::PlatformCALayerMac):
2619         (PlatformCALayerMac::commonInit):
2620
2621 2014-01-03  Andreas Kling  <akling@apple.com>
2622
2623         Add lineageOfType renderer iterator and start using it.
2624         <https://webkit.org/b/126456>
2625
2626         Add a convenient way to iterate over a renderers ancestry *including*
2627         the starting point renderer (if it meets the type criteria.)
2628
2629         This works just like lineageOfType for Elements.
2630
2631         Reviewed by Geoffrey Garen.
2632
2633         * rendering/RenderAncestorIterator.h:
2634         (WebCore::lineageOfType):
2635
2636             Added. Returns an adapter for walking a renderer's entire lineage
2637             matching any renderer of the given type.
2638
2639         * rendering/RenderBoxModelObject.h:
2640         * rendering/RenderLayerModelObject.h:
2641
2642             Add the requisite isRendererOfType<T> helpers.
2643
2644         * rendering/RenderBox.cpp:
2645         (WebCore::RenderBox::enclosingFloatPaintingLayer):
2646         * rendering/RenderObject.cpp:
2647         (WebCore::RenderObject::enclosingLayer):
2648         (WebCore::RenderObject::enclosingBox):
2649         (WebCore::RenderObject::enclosingBoxModelObject):
2650
2651             Simplify with lineageOfType. Added some FIXMEs about functions
2652             that should return references instead of pointers.
2653
2654 2014-01-03  Martin Robinson  <mrobinson@igalia.com>
2655
2656         Small build fix for the GTK+ CMake port
2657
2658         * PlatformGTK.cmake: Add an IDL file that is missing from the list of IDLs
2659         used to generate GObject DOM bindings.
2660
2661 2014-01-03  Daniel Bates  <dabates@apple.com>
2662
2663         [iOS] Upstream WebCore/css changes
2664         https://bugs.webkit.org/show_bug.cgi?id=126237
2665
2666         Reviewed by Simon Fraser.
2667
2668         * css/CSSComputedStyleDeclaration.cpp:
2669         (WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.
2670         * css/CSSParser.cpp:
2671         (WebCore::CSSParserContext::CSSParserContext): Ditto.
2672         (WebCore::CSSParser::parseValue): Ditto.
2673         * css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
2674         * css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
2675         * css/DeprecatedStyleBuilder.cpp:
2676         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.
2677         * css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
2678         * css/MediaQueryEvaluator.cpp:
2679         (WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
2680         (WebCore::video_playable_inlineMediaFeatureEval): Added.
2681         * css/StyleResolver.cpp:
2682         (WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
2683         (WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.
2684         * css/html.css: Added iOS-specific CSS styles.
2685         (input, textarea, keygen, select, button, isindex):
2686         (isindex):
2687         (input[type="date"]):
2688         (input[type="datetime"]):
2689         (input[type="datetime-local"]):
2690         (input[type="month"]):
2691         (input[type="time"]):
2692         (textarea):
2693         (input:-webkit-autofill):
2694         (input[type="radio"], input[type="checkbox"]):
2695         (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
2696         (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
2697         (input[type="range"]::-webkit-slider-thumb:active):
2698         (input:disabled, textarea:disabled):
2699         (input[readonly], textarea[readonly]):
2700         (textarea::-webkit-input-placeholder):
2701         (input[type="checkbox"]):
2702         (input[type="radio"]):
2703         (input[type="checkbox"]:checked, input[type="radio"]:checked):
2704         (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
2705         (select:focus):
2706         (select):
2707         * css/mathml.css: Added iOS-specific CSS styles.
2708         (math, mfenced > *):
2709         (mo, mfenced):
2710         * css/mediaControlsiOS.css: Added.
2711         * css/svg.css: Added iOS-specific CSS styles.
2712         (text, tspan, tref):
2713
2714 2014-01-03  Brent Fulgham  <bfulgham@apple.com>
2715
2716         [WebGL] glScissor test is not accounted for when generating internal rendering textures.
2717         https://bugs.webkit.org/show_bug.cgi?id=126455
2718         <rdar://problem/15744206>
2719
2720         Reviewed by Dean Jackson.
2721
2722         Covered by webgl/1.0.2/conformance/rendering/gl-scissor-test.html
2723
2724         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2725         (WebCore::GraphicsContext3D::prepareTexture): Check state of GL_SCISSOR_TEST and GL_DITHER, deactivate them during
2726         our internal drawing, then turn them back on for further processing.
2727
2728 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
2729
2730         Maybe fix Windows build.
2731
2732         * WebCore.vcxproj/copyForwardingHeaders.cmd:
2733
2734 2014-01-03  Jer Noble  <jer.noble@apple.com>
2735
2736         [MediaControls][iOS] Enable JavaScript Media Controls on iOS.
2737         https://bugs.webkit.org/show_bug.cgi?id=126440
2738
2739         Reviewed by Eric Carlson.
2740
2741         Drive-by misspelling fix, and add a convenience function to check if the
2742         controls are currently hidden:
2743         * Modules/mediacontrols/mediaControlsApple.js:
2744         (Controller.prototype.handleWrapperMouseMove):
2745         (Controller.prototype.handleWrapperMouseOut):
2746         (Controller.prototype.updatePlaying):
2747         (Controller.prototype.controlsAreHidden): Added.
2748
2749         Add a new subclass of Controller for iOS and a matching CSS:
2750         * Modules/mediacontrols/mediaControlsiOS.css: Added.
2751         * Modules/mediacontrols/mediaControlsiOS.js: Added.
2752         (createControls): Override the createControls() in mediaControlsApple.js.
2753         (ControllerIOS): Define a new class.
2754         (ControllerIOS.prototype.inheritFrom): Convenience method to mixin parent
2755             prototype methods.
2756         (ControllerIOS.prototype.createBase): Override, listen for touches instead of mouse events.
2757         (ControllerIOS.prototype.createControls): Ditto.
2758         (ControllerIOS.prototype.configureInlineControls): Override, only add play, timeline, and full
2759             screen butttons.
2760         (ControllerIOS.prototype.configureFullScreenControls): Override, and add no buttons.
2761         (ControllerIOS.prototype.handlePlayButtonTouchStart): Activate.
2762         (ControllerIOS.prototype.handlePlayButtonTouchEnd): De-activate and do action.
2763         (ControllerIOS.prototype.handlePlayButtonTouchCancel): De-activate and cancel.
2764         (ControllerIOS.prototype.handleWrapperTouchStart): Show controls.
2765         (ControllerIOS.prototype.handlePanelTouchStart): Disable video selection.
2766         (ControllerIOS.prototype.handlePanelTouchEnd): Re-enable video selection.
2767         (ControllerIOS.prototype.handlePanelTouchCancel): Ditto.
2768
2769         Drive-by fix to enable the JavaScript controls when the plugin is disabled:
2770         * html/HTMLMediaElement.cpp:
2771         (WebCore::HTMLMediaElement::parseAttribute):
2772
2773         Add the iOS JavaScript by appending it to the generic (Apple) JavaScript:
2774         * rendering/RenderThemeIOS.mm:
2775         (WebCore::RenderThemeIOS::mediaControlsScript):
2776
2777         Add new files to project:
2778         * DerivedSources.make:
2779         * WebCore.xcodeproj/project.pbxproj:
2780
2781 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
2782
2783         Allow the ChromeClient to provide a custom ScrollingCoordinator
2784         https://bugs.webkit.org/show_bug.cgi?id=126450
2785
2786         Reviewed by Tim Horton.
2787         
2788         Some platforms will want to provide a custom ScrollingCoordinator, so let
2789         them do so by asking ChromeClient first for one.
2790
2791         * page/ChromeClient.h:
2792         (WebCore::ChromeClient::createScrollingCoordinator):
2793         * page/Page.cpp:
2794         (WebCore::Page::scrollingCoordinator):
2795
2796 2014-01-03  Andreas Kling  <akling@apple.com>
2797
2798         Deploy more child renderer iterators in RenderBlockFlow.
2799         <https://webkit.org/b/126434>
2800
2801         Reviewed by Sam Weinig.
2802
2803         * rendering/RenderBlockFlow.cpp:
2804         (WebCore::shouldCheckLines):
2805
2806             Make this helper take a RenderBlockFlow instead of a RenderObject
2807             and simplified it a bit. RenderDeprecatedFlexibleBox does not
2808             derive from RenderBlockFlow so those checks can be omitted.
2809
2810         (WebCore::RenderBlockFlow::layoutBlock):
2811         (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
2812         (WebCore::RenderBlockFlow::lineAtIndex):
2813         (WebCore::RenderBlockFlow::lineCount):
2814         (WebCore::RenderBlockFlow::clearTruncation):
2815
2816             Use childrenOfType to iterate over block and block-flow children.
2817             Tweaked some early return/continue to reduce nesting.
2818
2819 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
2820
2821         Allow different types of ScrollingTrees to have different types of ScrollingTreeNode subclasses
2822         https://bugs.webkit.org/show_bug.cgi?id=126445
2823
2824         Reviewed by Tim Horton.
2825         
2826         Make it possible to have ScrollingTree subclasses with different subclasses of ScrollingTreeNodes,
2827         by giving ScrollingTree a pure virtual createNode() function. ThreadedScrollingTree implements
2828         this, and then delegates node creation to its AsyncScrollingCoordinator (since we have
2829         a ScrollingCoordinatorMac but no real need for a ThreadedScrollingTreeMac).
2830         
2831         Also made ThreadedScrollingTree's m_scrollingCoordinator an AsyncScrollingCoordinator,
2832         since by definition a threaded scrolling tree uses an async coordinator.
2833
2834         * page/scrolling/AsyncScrollingCoordinator.h:
2835         * page/scrolling/ScrollingTree.cpp:
2836         (WebCore::ScrollingTree::updateTreeFromStateNode):
2837         * page/scrolling/ScrollingTree.h:
2838         * page/scrolling/ScrollingTreeScrollingNode.h:
2839         * page/scrolling/ThreadedScrollingTree.cpp:
2840         (WebCore::ThreadedScrollingTree::create):
2841         (WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
2842         (WebCore::ThreadedScrollingTree::createNode):
2843         * page/scrolling/ThreadedScrollingTree.h:
2844         * page/scrolling/mac/ScrollingCoordinatorMac.h:
2845         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2846         (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
2847         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2848         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2849         (WebCore::ScrollingTreeScrollingNodeMac::create):
2850
2851 2014-01-03  Gavin Barraclough  <barraclough@apple.com>
2852
2853         Refactor NSActivity handling code from ChildProcess to UserActivity
2854         https://bugs.webkit.org/show_bug.cgi?id=126330
2855
2856         Unreviewed build fix.
2857
2858         * platform/UserActivity.h:
2859             - case fix.
2860
2861 2014-01-02  Gavin Barraclough  <barraclough@apple.com>
2862
2863         Refactor NSActivity handling code from ChildProcess to UserActivity
2864         https://bugs.webkit.org/show_bug.cgi?id=126330
2865
2866         Reviewed by Sam Weinig.
2867
2868         UserActivity is a mechanism to express to the operating system (where appropriate)
2869         that a user initiated activity is taking place, and as such that resources should be
2870         made available to the process accordingly.
2871
2872         Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
2873         to hold different activity tokens for different user actions (which simplifies the
2874         handling, and aides debugging since the token can more accurately express the activity
2875         taking place), and also will allow us to avoid the layering difficulty of calling back
2876         up the stack to WebKit to register that an activity is taking place.
2877
2878         * WebCore.xcodeproj/project.pbxproj:
2879             - added new files.
2880         * platform/UserActivity.cpp: Added.
2881         (WebCore::UserActivity::UserActivity):
2882             - nop implementation - ignore description.
2883         (WebCore::UserActivity::beginActivity):
2884         (WebCore::UserActivity::endActivity):
2885             - nop implementation - just inc/dec m_count.
2886         * platform/UserActivity.h: Added.
2887         (WebCore::UserActivity::isActive):
2888             - returns true if one or more instance of this activity is in progress.
2889         * platform/mac/UserActivityMac.mm: Added.
2890         (WebCore::UserActivity::UserActivity):
2891             - constructor accepts one argument, a description string.
2892         (WebCore::UserActivity::isValid):
2893             - used by assertions.
2894         (WebCore::UserActivity::beginActivity):
2895         (WebCore::UserActivity::endActivity):
2896             - track start/end of an activity - calls to these methods should be balanced.
2897         (WebCore::UserActivity::hysteresisTimerFired):
2898               - used to implement hysteresis in releasing  NSActivity.
2899
2900 2014-01-03  Alexey Proskuryakov  <ap@apple.com>
2901
2902         Line ending conversion should be able to handle strings with null chars
2903         https://bugs.webkit.org/show_bug.cgi?id=126202
2904
2905         This is a merge from Blink.
2906
2907         Reviewed by Alexey Proskuryakov.
2908
2909         Test: http/tests/local/formdata/send-form-data-with-string-containing-null.html
2910
2911         * platform/text/LineEnding.cpp: (WebCore::normalizeToCROrLF): Do it right.
2912
2913 2014-01-03  Alberto Garcia  <berto@igalia.com>
2914
2915         WebKit-GTK 1.8.1 does not build on OS X 10.7
2916         https://bugs.webkit.org/show_bug.cgi?id=88407
2917
2918         Reviewed by Carlos Garcia Campos.
2919
2920         Replace non-portable 'echo -n' with 'true'.
2921
2922         * GNUmakefile.am:
2923
2924 2014-01-03  peavo@outlook.com  <peavo@outlook.com>
2925
2926         [WinCairo] Compile error.
2927         https://bugs.webkit.org/show_bug.cgi?id=126428
2928
2929         Reviewed by Brent Fulgham.
2930
2931         The NativeImagePtr type is not an CGImageRef on WinCairo, cannot use CFRetain.
2932
2933         * loader/cache/MemoryCache.cpp: Replace USE(CF) with USE(CG).
2934         * loader/cache/MemoryCache.h: Ditto.
2935
2936 2014-01-03  Hans Muller  <hmuller@adobe.com>
2937
2938         [CSS Shapes] Simplify FloatRoundedRect, BoxShape construction
2939         https://bugs.webkit.org/show_bug.cgi?id=125995
2940
2941         Reviewed by Andreas Kling.
2942
2943         Cleanup of various internal Shape issues:
2944         - Removed unnecessary Shape() initialization list entries in Shape subclasses
2945           per https://bugs.webkit.org/show_bug.cgi?id=125548#c2.
2946         - Used const references instead of pointers for non-deprecated Shape:createShape() logic.
2947         - Replaced createShape() overloads for Rasters and Boxes with functions named
2948           createRasterShape() and createBoxShape().
2949         - Added a FloatRoundedRect::Radii() constructor to reduce the parameter list
2950           length of the FloatRoundedRect constructor in createBoxShape().
2951
2952         There are no new tests, this is just internal refactoring.
2953
2954         * platform/graphics/FloatRoundedRect.h:
2955         (WebCore::FloatRoundedRect::Radii::Radii):
2956         * rendering/shapes/BoxShape.h:
2957         (WebCore::BoxShape::BoxShape):
2958         * rendering/shapes/PolygonShape.h:
2959         (WebCore::PolygonShape::PolygonShape):
2960         * rendering/shapes/RasterShape.h:
2961         (WebCore::RasterShape::RasterShape):
2962         * rendering/shapes/RectangleShape.h:
2963         (WebCore::RectangleShape::RectangleShape):
2964         * rendering/shapes/Shape.cpp:
2965         (WebCore::createInsetShape):
2966         (WebCore::Shape::createShape):
2967         (WebCore::Shape::createRasterShape):
2968         (WebCore::Shape::createBoxShape):
2969         * rendering/shapes/Shape.h:
2970         * rendering/shapes/ShapeInfo.cpp:
2971         (WebCore::ShapeInfo<RenderType>::computedShape):
2972
2973 2014-01-03  Andreas Kling  <akling@apple.com>
2974
2975         Remove unused Document::openSearchDescriptionURL().
2976         <https://webkit.org/b/126419>
2977
2978         Reviewed by Antti Koivisto.
2979
2980         * dom/Document.h:
2981         * dom/Document.cpp:
2982
2983             Scrub leftovers from the defunct Chromium port.
2984
2985 2014-01-03  Jinwoo Song  <jinwoo7.song@samsung.com>
2986
2987         VibrationPattern should allocate an single vector instance for single integer input
2988         https://bugs.webkit.org/show_bug.cgi?id=126417
2989
2990         Reviewed by Gyuyoung Kim.
2991
2992         When the Vibration pattern is set with a single integer, the VibrationPattern should
2993         be set with this integer as a vibration time. But the VibrationPattern(unsigned vector) was
2994         initialized with a single parameter, the vibration time, so the time was used to set
2995         the size of vector.
2996
2997         * Modules/vibration/NavigatorVibration.cpp:
2998         (WebCore::NavigatorVibration::vibrate):
2999
3000 2014-01-02  Jaehun Lim  <ljaehun.lim@samsung.com>
3001
3002         IconController.cpp needs to include <wtf/text/CString.h>
3003         https://bugs.webkit.org/show_bug.cgi?id=126415
3004
3005         Reviewed by Gyuyoung Kim.
3006
3007         Build fails in IconController.cpp when ICONDATABASE is disabled.
3008         WebKit/Source/WebCore/loader/icon/IconController.cpp:124:110: error: invalid use of incomplete type ‘class WTF::CString’
3009         IconController.cpp needs #include <wtf/text/CString.h>.
3010
3011         No new tests. Just build fix.
3012
3013         * loader/icon/IconController.cpp: Add #include statement.
3014
3015 2014-01-02  Ryuan Choi  <ryuan.choi@samsung.com>
3016
3017         [EFL] Previous scrollbar is remained sometimes
3018         https://bugs.webkit.org/show_bug.cgi?id=126414
3019
3020         Reviewed by Gyuyoung Kim.
3021
3022         * platform/efl/ScrollbarEfl.cpp:
3023         (ScrollbarEfl::invalidate):
3024         Updated scrollbar visibility in Scrollbar::invalidate().
3025         * platform/efl/ScrollbarEfl.h:
3026         Removed show()/hide() which never been called() for scrollbar.
3027
3028 2014-01-02  Brent Fulgham  <bfulgham@apple.com>
3029
3030         [WebGL] Correct symbol lookup logic to handle 1-element arrays
3031         https://bugs.webkit.org/show_bug.cgi?id=126411
3032         <rdar://problem/15394564>
3033
3034         Reviewed by Dean Jackson.
3035
3036         Tested by revisions to webgl/1.0.2/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html
3037
3038         * html/canvas/WebGLRenderingContext.cpp:
3039         (WebCore::WebGLRenderingContext::getUniformLocation): Revise to
3040         handle access to zeroeth element of the array.
3041
3042 2014-01-02  Myles C. Maxfield  <mmaxfield@apple.com>
3043
3044         Crash in WebCore::translateIntersectionPointsToSkipInkBoundaries
3045         https://bugs.webkit.org/show_bug.cgi?id=126252
3046
3047         Reviewed by Alexey Proskuryakov.
3048
3049         lastIntermediate was a iterator pointing into a Vector, which was being re-used
3050         even while appending to the Vector. If any of the append operators triggered
3051         a realloc, the iterator would point to the old free'ed memory.
3052
3053         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps.html
3054
3055         * rendering/InlineTextBox.cpp:
3056         (WebCore::translateIntersectionPointsToSkipInkBoundaries):
3057
3058 2014-01-02  Brent Fulgham  <bfulgham@apple.com>
3059
3060         [WebGL] Correct symbol lookup logic to handle 1-element arrays
3061         https://bugs.webkit.org/show_bug.cgi?id=126411
3062         <rdar://problem/15394564>
3063
3064         Reviewed by Dean Jackson.
3065
3066         * html/canvas/WebGLRenderingContext.cpp:
3067         (WebCore::WebGLRenderingContext::getUniformLocation): Revise code to handle the case of single-element
3068         arrays.
3069
3070 2014-01-02  Sam Weinig  <sam@webkit.org>
3071
3072         Update Promises to the https://github.com/domenic/promises-unwrapping spec
3073         https://bugs.webkit.org/show_bug.cgi?id=120954
3074
3075         Reviewed by Filip Pizlo.
3076
3077         * ForwardingHeaders/runtime/JSPromiseDeferred.h: Added.
3078         * ForwardingHeaders/runtime/JSPromiseResolver.h: Removed.
3079         * bindings/js/JSDOMGlobalObjectTask.cpp:
3080         (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
3081         * bindings/js/JSDOMGlobalObjectTask.h:
3082         * bindings/js/JSDOMPromise.cpp:
3083         (WebCore::DeferredWrapper::DeferredWrapper):
3084         (WebCore::DeferredWrapper::promise):
3085         (WebCore::DeferredWrapper::resolve):
3086         (WebCore::DeferredWrapper::reject):
3087         * bindings/js/JSDOMPromise.h:
3088         (WebCore::DeferredWrapper::resolve):
3089         (WebCore::DeferredWrapper::reject):
3090         (WebCore::DeferredWrapper::resolve<String>):
3091         (WebCore::DeferredWrapper::resolve<bool>):
3092         (WebCore::char>>):
3093         (WebCore::DeferredWrapper::reject<String>):
3094         * bindings/js/JSDOMWindowBase.cpp:
3095         (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
3096         * bindings/js/JSDOMWindowBase.h:
3097         * bindings/js/JSSubtleCryptoCustom.cpp:
3098         (WebCore::JSSubtleCrypto::encrypt):
3099         (WebCore::JSSubtleCrypto::decrypt):
3100         (WebCore::JSSubtleCrypto::sign):
3101         (WebCore::JSSubtleCrypto::verify):
3102         (WebCore::JSSubtleCrypto::digest):
3103         (WebCore::JSSubtleCrypto::generateKey):
3104         (WebCore::JSSubtleCrypto::importKey):
3105         (WebCore::JSSubtleCrypto::exportKey):
3106         (WebCore::JSSubtleCrypto::wrapKey):
3107         (WebCore::JSSubtleCrypto::unwrapKey):
3108         * bindings/js/JSWorkerGlobalScopeBase.cpp:
3109         (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
3110         * bindings/js/JSWorkerGlobalScopeBase.h:
3111
3112 2014-01-02  Tim Horton  <timothy_horton@apple.com>
3113
3114         ImageBufferBackingStoreCache should use DeferrableOneShotTimer
3115         https://bugs.webkit.org/show_bug.cgi?id=126155
3116
3117         Reviewed by Anders Carlsson.
3118
3119         Since ImageBufferBackingStoreCache's purge timer is pushed out every time
3120         a backing store is deallocated, we can easily waste a lot of time rescheduling
3121         the timer. Since it's a cache purge timer and doesn't need that kind of precision,
3122         adopt DeferrableOneShotTimer, which is much more performant when deferred frequently.
3123
3124         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
3125         (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
3126         (WebCore::ImageBufferBackingStoreCache::timerFired):
3127         (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
3128         * platform/graphics/cg/ImageBufferBackingStoreCache.h:
3129
3130 2014-01-02  Myles C. Maxfield  <mmaxfield@apple.com>
3131
3132         Allow ImageBuffer to re-use IOSurfaces
3133         https://bugs.webkit.org/show_bug.cgi?id=125477
3134
3135         Reviewed by Geoff Garen. Modifications reviewed by Tim Horton.
3136
3137         This patch is taken from r160945, but the modifications to ImageBufferCG.cpp
3138         have been reverted.
3139
3140         This test adds a static class, ImageBufferBackingStoreCache, that vends 
3141         IOSurfaces. It remembers IOSurfaces that have been returned to it until 
3142         a configurable timeout. 
3143
3144         The storage used by this class is in the form of a HashMap from a 
3145         bucketed size to the IOSurface. There are many other data structures 
3146         that could be used, but this implementation gives a 80% hit rate on 
3147         normal browsing of some example sites with Canvas and 
3148         text-decoration-skip: ink. Because the buckets are fairly 
3149         small (rounding the width and height up to multiples of 8), traversing the 
3150         bucket contents takes on average 2 steps.  
3151
3152         Test: fast/canvas/canvas-backing-store-reuse.html 
3153
3154         * WebCore.xcodeproj/project.pbxproj: Added new caching class 
3155         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added. 
3156         (WebCore::createIOSurface): Copied from ImageBufferCG.cpp 
3157         (WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache 
3158         contents 
3159         (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer): 
3160         (WebCore::ImageBufferBackingStoreCache::get): Static getter 
3161         (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache): 
3162         (WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management 
3163         creation function 
3164         (WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management 
3165         deletion function 
3166         (WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached 
3167         IOSurface fit the bill? 
3168         (WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup 
3169         a bucket and walk through its contents 
3170         (WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function 
3171         for clients who want a IOSurface from the cache 
3172         (WebCore::ImageBufferBackingStoreCache::deallocate): Public 
3173         function for clients to return an IOSurface to the pool 
3174         * platform/graphics/cg/ImageBufferBackingStoreCache.h: Added. 
3175         (WebCore::ImageBuffer::ImageBuffer): 
3176         (WebCore::ImageBuffer::~ImageBuffer): 
3177
3178 2014-01-02  Piotr Grad  <p.grad@samsung.com>
3179
3180         Video-seek-with-negative-playback was flaky.
3181         https://bugs.webkit.org/show_bug.cgi?id=126379
3182
3183         Reviewed by Eric Carlson.
3184
3185         No new tests. Covered by existing tests.
3186
3187         m_player->setRate() should be called before updating m_playbackRate, because potentiallyPlaying() depends
3188         on endedPlayback(), which checks m_playbackRate.
3189
3190         * html/HTMLMediaElement.cpp:
3191         (WebCore::HTMLMediaElement::setPlaybackRate):
3192
3193 2014-01-02  Daniel Bates  <dabates@apple.com>
3194
3195         [iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved()
3196         (also crashes when scrolling certain sites)
3197         https://bugs.webkit.org/show_bug.cgi?id=126401
3198         <rdar://problem/15739334>
3199
3200         Reviewed by Tim Horton.
3201
3202         * page/ios/EventHandlerIOS.mm:
3203         (WebCore::currentEventSlot): Make the shared variable have static-storage duration.
3204
3205 2014-01-02  Gavin Barraclough  <barraclough@apple.com>
3206
3207         Remove WindowIsVisible
3208         https://bugs.webkit.org/show_bug.cgi?id=126270
3209
3210         Reviewed by Tim Horton.
3211
3212         We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
3213         The latter detects that the content is hidden in fewer cases than the former, and as such, the
3214         former is always preferable.
3215
3216         This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
3217         Plugin::windowVisibilityChanged.
3218
3219         * WebCore.exp.in:
3220         * page/FocusController.cpp:
3221         (WebCore::FocusController::FocusController):
3222         (WebCore::FocusController::setContentIsVisible):
3223         * page/FocusController.h:
3224             - rename ContainingWindowIsVisible -> ContentIsVisible.
3225
3226 2014-01-02  Gavin Barraclough  <barraclough@apple.com>
3227
3228         Merge didMoveOnscreen / page visibility to isVisible
3229         https://bugs.webkit.org/show_bug.cgi?id=126268
3230
3231         Reviewed by Tim Horton.
3232
3233         The onscreen state most closely tracks view visibility (though currently
3234         also tracks a mix of in-window state). Make more consistent, simplify,
3235         and move all animation suspension logic to Page, so it can be controlled
3236         by the PageThrottler.
3237
3238         * WebCore.exp.in:
3239         * page/EventHandler.cpp:
3240         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
3241         * page/FrameView.cpp:
3242         (WebCore::FrameView::shouldSetCursor):
3243         * page/Page.cpp:
3244         (WebCore::Page::Page):
3245             - initialize new variables.
3246         (WebCore::Page::setIsVisible):
3247             - merge setVisibilityState, didMoveOnscreen, willMoveOffscreen.
3248         (WebCore::Page::setIsPrerender):
3249             - switches visibility state from hidden to prerender.
3250         (WebCore::Page::visibilityState):
3251             - computed from m_isVisible, m_isPrerender.
3252         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
3253             - m_visibilityState -> m_isVisible.
3254         * page/Page.h:
3255             - remove didMoveOnscreen/willMoveOffscreen
3256               m_isOnscreen & m_visibilityState -> m_isVisible & m_isPrerender
3257               setVisibilityState -> setIsVisible & setIsPrerender.
3258         (WebCore::Page::isVisible):
3259             - isOnscreen -> isVisible.
3260
3261 2014-01-02  Oliver Hunt  <oliver@apple.com>
3262
3263         Update bindings test results
3264
3265         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3266         (WebCore::jsTestActiveDOMObjectConstructor):
3267         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3268         (WebCore::jsTestCustomNamedGetterConstructor):
3269         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3270         (WebCore::jsTestEventConstructorConstructor):
3271         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3272         (WebCore::jsTestEventTargetConstructor):
3273         * bindings/scripts/test/JS/JSTestException.cpp:
3274         (WebCore::jsTestExceptionConstructor):
3275         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3276         (WebCore::jsTestGenerateIsReachableConstructor):
3277         * bindings/scripts/test/JS/JSTestInterface.cpp:
3278         (WebCore::jsTestInterfaceConstructor):
3279         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3280         (WebCore::jsTestMediaQueryListListenerConstructor):
3281         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3282         (WebCore::jsTestNamedConstructorConstructor):
3283         * bindings/scripts/test/JS/JSTestNode.cpp:
3284         (WebCore::jsTestNodeConstructor):
3285         * bindings/scripts/test/JS/JSTestObj.cpp:
3286         (WebCore::jsTestObjConstructor):
3287         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3288         (WebCore::jsTestOverloadedConstructorsConstructor):
3289         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3290         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
3291         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3292         (WebCore::jsTestTypedefsConstructor):
3293         * bindings/scripts/test/JS/JSattribute.cpp:
3294         (WebCore::jsattributeConstructor):
3295         * bindings/scripts/test/JS/JSreadonly.cpp:
3296         (WebCore::jsreadonlyConstructor):
3297
3298 2013-12-23  Oliver Hunt  <oliver@apple.com>
3299
3300         Refactor PutPropertySlot to be aware of custom properties
3301         https://bugs.webkit.org/show_bug.cgi?id=126187
3302
3303         Reviewed by Antti Koivisto.
3304
3305         Update the bindings code generation and custom objects
3306         to the new function signatures
3307
3308         * bindings/js/JSDOMWindowCustom.cpp:
3309         (WebCore::JSDOMWindow::put):
3310         * bindings/objc/WebScriptObject.mm:
3311         (-[WebScriptObject setValue:forKey:]):
3312         * bindings/scripts/CodeGeneratorJS.pm:
3313         (GenerateImplementation):
3314         * bindings/scripts/test/JS/JSTestInterface.cpp:
3315         (WebCore::JSTestInterface::putByIndex):
3316         * bridge/NP_jsobject.cpp:
3317         (_NPN_SetProperty):
3318
3319 2014-01-02  Simon Fraser  <simon.fraser@apple.com>
3320
3321         Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators
3322         https://bugs.webkit.org/show_bug.cgi?id=126389
3323
3324         Reviewed by Tim Horton.
3325
3326         Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
3327         and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.
3328
3329         * WebCore.xcodeproj/project.pbxproj: Added AsyncScrollingCoordinator.*
3330         * page/scrolling/AsyncScrollingCoordinator.cpp: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.
3331         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
3332         (WebCore::AsyncScrollingCoordinator::~AsyncScrollingCoordinator):
3333         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
3334         (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
3335         (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
3336         (WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
3337         (WebCore::AsyncScrollingCoordinator::attachToStateTree):
3338         (WebCore::AsyncScrollingCoordinator::detachFromStateTree):
3339         (WebCore::AsyncScrollingCoordinator::clearStateTree):
3340         (WebCore::AsyncScrollingCoordinator::syncChildPositions):
3341         (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
3342         (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
3343         (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
3344         (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
3345         (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
3346         (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
3347         (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
3348         (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
3349         (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
3350         (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
3351         (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
3352         (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
3353         (WebCore::AsyncScrollingCoordinator::updateMainFrameScrollLayerPosition):
3354         (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
3355         (WebCore::AsyncScrollingCoordinator::isRubberBandInProgress):
3356         (WebCore::AsyncScrollingCoordinator::setScrollPinningBehavior):
3357         (WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):
3358         * page/scrolling/AsyncScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
3359         (WebCore::AsyncScrollingCoordinator::scrollingTree):
3360         (WebCore::AsyncScrollingCoordinator::setScrollingTree):
3361         (WebCore::AsyncScrollingCoordinator::scrollingStateTree):
3362         (WebCore::AsyncScrollingCoordinator::releaseScrollingTree):
3363         * page/scrolling/ScrollingCoordinator.h: Add casting support.
3364         (WebCore::ScrollingCoordinator::isAsyncScrollingCoordinator):
3365         * page/scrolling/ThreadedScrollingTree.h: commitNewTreeState() needs to be public.
3366         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3367         * page/scrolling/mac/ScrollingCoordinatorMac.mm: Lots of code moved to AsyncScrollingCoordinator.
3368         (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
3369         (WebCore::ScrollingCoordinatorMac::~ScrollingCoordinatorMac):
3370         (WebCore::ScrollingCoordinatorMac::pageDestroyed):
3371         (WebCore::ScrollingCoordinatorMac::commitTreeStateIfNeeded):
3372         (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
3373         (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
3374         (WebCore::ScrollingCoordinatorMac::commitTreeState):
3375         (WebCore::ScrollingCoordinatorMac::updateTiledScrollingIndicator):
3376
3377 2014-01-02  Andreas Kling  <akling@apple.com>
3378
3379         Simplify the insides of DocumentSharedObjectPool and reduce memory usage.
3380
3381         Merging Blink r164152 by Elliott Sprehn.
3382
3383         Instead of storing an OwnPtr to an object that has a pointer to the
3384         ShareableElementData as well as a pointer into the ShareableElementData
3385         and the length we can just store a RefPtr to the SharableElementData.
3386
3387         This also reduces the memory usage of the pool by 2 pointers per entry.
3388
3389         * dom/DocumentSharedObjectPool.h:
3390         * dom/DocumentSharedObjectPool.cpp:
3391         (WebCore::attributeHash):
3392         (WebCore::hasSameAttributes):
3393         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
3394
3395 2014-01-02  Dirk Schulze  <krit@webkit.org>
3396
3397         Support <box> values computed style for 'clip-path' property
3398         https://bugs.webkit.org/show_bug.cgi?id=126148
3399
3400         Reviewed by Simon Fraser.
3401
3402         Calculate computed style for 'clip-path' property.
3403
3404         Updated tests to check for computed style.
3405
3406         * css/BasicShapeFunctions.cpp: Add box value bounding-box.
3407         (WebCore::valueForBox):
3408         (WebCore::boxForValue):
3409         * css/CSSComputedStyleDeclaration.cpp: Return the computed style
3410             for 'clip-path'.
3411         (WebCore::ComputedStyleExtractor::propertyValue):
3412         * css/DeprecatedStyleBuilder.cpp: Create CSSValueLists for 'clip-th'.
3413         (WebCore::ApplyPropertyClipPath::applyValue):
3414         * rendering/ClipPathOperation.h: Add bounding-box value.
3415         (WebCore::ShapeClipPathOperation::pathForReferenceRect):
3416         (WebCore::ShapeClipPathOperation::setReferenceBox):
3417         (WebCore::ShapeClipPathOperation::referenceBox):
3418         (WebCore::BoxClipPathOperation::create):
3419         (WebCore::BoxClipPathOperation::pathForReferenceRect):
3420         (WebCore::BoxClipPathOperation::referenceBox):
3421         (WebCore::BoxClipPathOperation::BoxClipPathOperation):
3422         * rendering/shapes/ShapeInfo.h: Add bounding-box value.
3423         (WebCore::ShapeInfo::setShapeSize):
3424         (WebCore::ShapeInfo::logicalTopOffset):
3425         (WebCore::ShapeInfo::logicalLeftOffset):
3426         * rendering/style/BasicShapes.cpp: Add bounding-box value.
3427         (WebCore::BasicShape::referenceBoxSize):
3428         * rendering/style/BasicShapes.h:
3429
3430 2014-01-02  Antti Koivisto  <antti@apple.com>
3431
3432         Always resolve style from root
3433         https://bugs.webkit.org/show_bug.cgi?id=126380
3434
3435         Reviewed by Andreas Kling.
3436         
3437         Forced style resolve that does not start from the root is never really correct. 
3438         Remove the few remaining instances.
3439
3440         * dom/ShadowRoot.cpp:
3441         (WebCore::ShadowRoot::setResetStyleInheritance):
3442         
3443             Update style asynchronously.
3444
3445         * dom/ShadowRoot.h:
3446         * dom/Text.h:
3447         * html/HTMLPlugInImageElement.cpp:
3448         (WebCore::HTMLPlugInImageElement::createElementRenderer):
3449         (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
3450         (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
3451         
3452             Delete the render tree synchronously on suspend and rebuild it asynchronously on resume.
3453             No need for m_customStyleForPageCache hack.
3454
3455         * html/HTMLPlugInImageElement.h:
3456