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