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