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