[EFL] Remove non Coordinated Graphics code path from cmake build system after r142169
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-08-29  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
2
3         [EFL] Remove non Coordinated Graphics code path from cmake build system after r142169
4         https://bugs.webkit.org/show_bug.cgi?id=135560
5
6         Reviewed by Gyuyoung Kim.
7
8         No new tests required, no new functionality.
9
10         * PlatformEfl.cmake: Removed TEXTURE_MAPPER and 3D_GRAPHICS guards.
11         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
12         (WebCore::GraphicsContext3D::platformLayer):
13         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
14         * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
15         (WebCore::GraphicsContext3DPrivate::initialize):
16         (WebCore::GraphicsContext3DPrivate::releaseResources):
17         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
18         (WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):
19         * platform/graphics/efl/GraphicsContext3DPrivate.h: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
20         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: Removed GRAPHICS_SURFACE guard.
21
22 2014-08-29  Carlos Garcia Campos  <cgarcia@igalia.com>
23
24         RenderThemeGtk depends on classes outside of platform
25         https://bugs.webkit.org/show_bug.cgi?id=22176
26
27         Reviewed by Martin Robinson.
28
29         Move RenderThemeGtk.cpp from platform to rendering.
30
31         * PlatformGTK.cmake:
32         * rendering/RenderThemeGtk.cpp: Renamed from Source/WebCore/platform/gtk/RenderThemeGtk.cpp.
33
34 2014-08-29  Carlos Garcia Campos  <cgarcia@igalia.com>
35
36         [GTK] ScrollbarThemeGtk should not depend on RenderThemeGtk
37         https://bugs.webkit.org/show_bug.cgi?id=136338
38
39         Reviewed by Philippe Normand.
40
41         Remove the dependency by creating the GtkStyleContext for the
42         scrollbars in ScrollbarThemeGtk.
43
44         * platform/gtk/RenderThemeGtk.cpp:
45         (WebCore::gtkStyleChangedCallback): Call ScrollbarThemeGtk::themeChanged().
46         (WebCore::getStyleContext): Remove the scrollbar style context support.
47         * platform/gtk/RenderThemeGtk.h: Remove gtkScrollbarStyle().
48         * platform/gtk/ScrollbarThemeGtk.cpp:
49         (WebCore::ScrollbarStyleContext::ScrollbarStyleContext): Helper
50         class to create the global GtkStyleContext for scrollbars.
51         (WebCore::ScrollbarStyleContext::~ScrollbarStyleContext):
52         (WebCore::ScrollbarStyleContext::context):
53         (WebCore::gtkScrollbarStyleContext):
54         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Remove m_context initialization.
55         (WebCore::ScrollbarThemeGtk::themeChanged): Invalidate the
56         GtkStylecontext and call updateThemeProperties().
57         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Use the
58         global style context.
59         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
60         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
61         (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
62         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
63         * platform/gtk/ScrollbarThemeGtk.h:
64
65 2014-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>
66
67         [GTK] Merge RenderThemeGtk3.cpp into RenderThemeGtk.cpp and ScrollbarThemeGtk3.cpp intoScrollbarThemeGtk.cpp
68         https://bugs.webkit.org/show_bug.cgi?id=136336
69
70         Reviewed by Philippe Normand.
71
72         There's no reason to have two files now that there's no GTK+2
73         support. Also fix coding style issues and compile warnings.
74
75         * PlatformGTK.cmake:
76         * platform/gtk/RenderThemeGtk.cpp:
77         * platform/gtk/RenderThemeGtk.h:
78         * platform/gtk/RenderThemeGtk3.cpp: Removed.
79         * platform/gtk/ScrollbarThemeGtk.cpp:
80         * platform/gtk/ScrollbarThemeGtk3.cpp: Removed.
81
82 2014-08-28  Mark Lam  <mark.lam@apple.com>
83
84         DebuggerCallFrame::scope() should return a DebuggerScope.
85         <https://webkit.org/b/134420>
86
87         Reviewed by Geoffrey Garen.
88
89         No new tests.
90
91         Rolling back in r170680 with the fix for <https://webkit.org/b/135656>.
92
93         * bindings/js/ScriptController.cpp:
94         (WebCore::ScriptController::attachDebugger):
95         - We should acquire the JSLock before modifying a JS global object.
96
97 2014-08-28  Enrica Casucci  <enrica@apple.com>
98
99         Can't hit tab key more than 3 times continuously.
100         https://bugs.webkit.org/show_bug.cgi?id=136357
101         rdar://problem/17927266
102
103         Reviewed by Dean Jackson.
104
105         Test: fast/css/multiple-tabs.html
106
107         When computing the tabWidth disregard increments of less than half the size of the space character
108         for the given font.
109
110         * platform/graphics/Font.h:
111         (WebCore::Font::tabWidth):
112
113 2014-08-28  Daniel Bates  <dabates@apple.com>
114
115         [iOS] Clients that include WebCoreThread.h fail to build after <http://trac.webkit.org/changeset/172814/>
116         (https://bugs.webkit.org/show_bug.cgi?id=136108)
117
118         Define WEBCORE_EXPORT (if its not already defined) in WebCoreThread.h so as to fix the
119         build for clients that include this header.
120
121         * platform/ios/wak/WebCoreThread.h:
122
123 2014-08-28  Pratik Solanki  <psolanki@apple.com>
124
125         WebContent hangs under SharedBuffer::duplicateDataBufferIfNecessary() while browsing some websites
126         https://bugs.webkit.org/show_bug.cgi?id=136347
127         <rdar://problem/18073745>
128
129         Reviewed by Andreas Kling.
130
131         When passing data to ImageIO, we create a copy if we have to reallocate the buffer. We would
132         set the size of the new buffer to be the size of the SharedBuffer data. This causes memory
133         churn since we would create a new buffer for every data chunk we get. Fix this by at least
134         doubling the capacity of the buffer when we duplicate it.
135
136         * platform/SharedBuffer.cpp:
137         (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
138
139 2014-08-28  Dan Bernstein  <mitz@apple.com>
140
141         iOS build fix.
142
143         * WebCore.exp.in: Updated symbol.
144
145 2014-08-28  Benjamin Poulain  <bpoulain@apple.com>
146
147         Scrolling with spacebar on a page with fixed header breaks reading flow
148         https://bugs.webkit.org/show_bug.cgi?id=135506
149
150         Reviewed by Simon Fraser.
151
152         When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
153         and substract that height from the step to scroll.
154
155         Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html
156                scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
157                scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
158                scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
159                scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
160                scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
161                scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
162                scrollbars/scrolling-by-page-on-keyboard-spacebar.html
163
164         * WebCore.exp.in:
165         * page/FrameView.cpp:
166         (WebCore::FrameView::adjustScrollStepForFixedContent):
167         * page/FrameView.h:
168         * platform/ScrollableArea.cpp:
169         (WebCore::ScrollableArea::adjustScrollStepForFixedContent):
170         (WebCore::ScrollableArea::scroll):
171         * platform/ScrollableArea.h:
172
173 2014-08-28  Zalan Bujtas  <zalan@apple.com>
174
175         Subpixel layout: Remove unused pixel snapping functions.
176         https://bugs.webkit.org/show_bug.cgi?id=136341
177
178         Reviewed by Simon Fraser.
179
180         Let's not encourage integral snapping by having these functions around.
181         
182         No change in functionality.
183
184         * accessibility/AccessibilityObject.h:
185         (WebCore::AccessibilityObject::pixelSnappedElementRect): Deleted.
186         (WebCore::AccessibilityObject::pixelSnappedSize): Deleted.
187         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
188         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
189         * html/HTMLImageElement.cpp:
190         (WebCore::HTMLImageElement::width):
191         (WebCore::HTMLImageElement::height):
192         * page/FrameView.cpp:
193         (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
194         * platform/graphics/LayoutPoint.h:
195         (WebCore::snappedIntSize):
196         (WebCore::snapSizeToDevicePixel):
197         * platform/graphics/LayoutRect.h:
198         (WebCore::LayoutRect::pixelSnappedLocation): Deleted.
199         (WebCore::LayoutRect::pixelSnappedX): Deleted.
200         (WebCore::LayoutRect::pixelSnappedY): Deleted.
201         (WebCore::LayoutRect::pixelSnappedWidth): Deleted.
202         (WebCore::LayoutRect::pixelSnappedHeight): Deleted.
203         (WebCore::LayoutRect::pixelSnappedMaxX): Deleted.
204         (WebCore::LayoutRect::pixelSnappedMaxY): Deleted.
205         (WebCore::snappedIntRectFromEdges): Deleted.
206         * rendering/RenderBlockFlow.h:
207         (WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat): Deleted.
208         (WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat): Deleted.
209         (WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat): Deleted.
210         (WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat): Deleted.
211         * rendering/RenderBox.h:
212         (WebCore::RenderBox::pixelSnappedLogicalHeight):
213         (WebCore::RenderBox::pixelSnappedLogicalWidth):
214         (WebCore::RenderBox::pixelSnappedBorderBoxRect):
215         (WebCore::RenderBox::pixelSnappedWidth): Deleted.
216         (WebCore::RenderBox::pixelSnappedHeight): Deleted.
217         (WebCore::RenderBox::pixelSnappedFrameRect): Deleted.
218         * rendering/RenderFileUploadControl.cpp:
219         (WebCore::nodeWidth):
220         (WebCore::nodeHeight):
221         (WebCore::RenderFileUploadControl::maxFilenameWidth):
222         * rendering/RenderLayer.cpp:
223         (WebCore::RenderLayer::updateLayerPosition):
224         (WebCore::RenderLayer::isPointInResizeControl):
225         * rendering/RenderLayerCompositor.cpp:
226         (WebCore::RenderLayerCompositor::ensureRootLayer):
227         * rendering/RenderMediaControls.cpp:
228         (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
229         * rendering/RenderMultiColumnSet.cpp:
230         (WebCore::RenderMultiColumnSet::paintColumnRules):
231         * rendering/RenderScrollbar.cpp:
232         (WebCore::RenderScrollbar::buttonRect):
233         * rendering/RenderView.h:
234
235 2014-08-27  Enrica Casucci  <enrica@apple.com>
236
237         textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
238         https://bugs.webkit.org/show_bug.cgi?id=136323
239         rdar://problem/18141964
240
241         Reviewed by Antti Koivisto.
242
243         For underline style we need to check typingStyle first and use that information to populate
244         the dictionary. If there is no typing style we can use the render style.
245
246         * WebCore.exp.in:
247         * editing/ios/EditorIOS.mm:
248         (WebCore::Editor::fontAttributesForSelectionStart):
249
250 2014-08-28  Iago Toral  <itoral@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
251
252         [GTK] Add WaylandEventSource
253         https://bugs.webkit.org/show_bug.cgi?id=136213
254
255         Reviewed by Martin Robinson.
256
257         Add the WaylandEventSource class. Its static method, createEventSource(),
258         creates a new GSource object that is attached to the main context and
259         enables handling Wayland display events through the GLib's main loop.
260
261         The method will be called by the nested Wayland compositor during its
262         initialization, which will also take the control over the ownership and
263         will be tasked with properly removing the GSource from the main context.
264
265         GLibSource is a GSource-based struct that additionally holds a GPollFD object
266         and the pointer to the wl_display object whose event loop we'll be
267         dispatching during the GSource dispatch. This is the type that g_source_new
268         uses when allocating the new GSource object.
269
270         The GSource is assigned the default priorty, can recurse, and is attached
271         to the main context.
272
273         * PlatformGTK.cmake:
274         * platform/graphics/wayland/WaylandEventSource.cpp: Added.
275         (WebCore::GLibSource::initialize):
276         (WebCore::GLibSource::check):
277         (WebCore::GLibSource::dispatch):
278         (WebCore::prepareCallback):
279         (WebCore::checkCallback):
280         (WebCore::dispatchCallback):
281         (WebCore::WaylandEventSource::createDisplayEventSource):
282         * platform/graphics/wayland/WaylandEventSource.h: Added.
283
284 2014-08-28  Chris Fleizach  <cfleizach@apple.com>
285
286         AX: Safari at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse
287         https://bugs.webkit.org/show_bug.cgi?id=136333
288
289         Reviewed by David Kilzer.
290
291         If a Node is asked for it's Document when it's not actually in a document, it can lead to an assert/crash.
292         We can avoid this by checking that the node is in a document before asking for its document.
293
294         I was not able to make a test case.      
295
296         * accessibility/AXObjectCache.cpp:
297         (WebCore::AXObjectCache::clearTextMarkerNodesInUse):
298
299 2014-08-28  Andreas Kling  <akling@apple.com>
300
301         ASSERTION FAILED: !m_renderView.document().inPageCache() in compositing/iframes/resources/page-cache-helper.html
302         <https://webkit.org/b/136329>
303
304         Cancel any pending compositing layer updates when moving a document
305         into the page cache.
306
307         Reviewed by Zalan Bujtas.
308
309         * dom/Document.cpp:
310         (WebCore::Document::documentWillSuspendForPageCache):
311         * rendering/RenderLayerCompositor.cpp:
312         (WebCore::RenderLayerCompositor::cancelCompositingLayerUpdate):
313         * rendering/RenderLayerCompositor.h:
314
315 2014-08-28  Mihnea Ovidenie  <mihnea@adobe.com>
316
317         [CSSRegions] Incorrect selection clearing on a document without regions
318         https://bugs.webkit.org/show_bug.cgi?id=134901
319
320         Reviewed by David Hyatt.
321
322         When we select all the content of document with named flows but without regions,
323         the start and end points of selection is cached in RenderView. However, since
324         the document has named flows, the selection is split between the subtrees. During the split,
325         it is possible that the cached end-points of the original selection are not included
326         in any of the resulting subtree selection and they are not marked accordingly.
327         In order to process the selection clearing correctly, we have to take the original
328         selection end-points into account.
329
330         Test: fast/regions/selection/select-all-without-regions.html
331
332         * rendering/RenderObject.cpp:
333         (WebCore::RenderObject::isSelectionBorder):
334
335 2014-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>
336
337         [GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
338         https://bugs.webkit.org/show_bug.cgi?id=136248
339
340         Reviewed by Gustavo Noronha Silva.
341
342         Move the code to update the SoupMessageHeaders to a new public
343         method.
344
345         * platform/network/soup/ResourceResponse.h:
346         * platform/network/soup/ResourceResponseSoup.cpp:
347         (WebCore::ResourceResponse::updateSoupMessageHeaders):
348         (WebCore::ResourceResponse::toSoupMessage):
349
350 2014-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>
351
352         [GTK] Remove support for GTK+2 theme rendering
353         https://bugs.webkit.org/show_bug.cgi?id=136285
354
355         Reviewed by Philippe Normand.
356
357         GTK+2 is only used by the plugin process that doesn't need to
358         render html controls themed. Since the theme files are still
359         built for WebCorePlatformGTK2, we need to provide dummy
360         implementations for the pure virtual methods when
361         GTK_API_VERSION_2 is defined.
362
363         * PlatformGTK.cmake: Remove deleted files from compilation.
364         * platform/gtk/RenderThemeGtk.cpp:
365         (WebCore::RenderThemeGtk::create):
366         (WebCore::RenderTheme::themeForPage):
367         (WebCore::getScreenDPI):
368         (WebCore::RenderThemeGtk::systemFont):
369         (WebCore::RenderThemeGtk::sliderTickSize):
370         (WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
371         (WebCore::RenderThemeGtk::getScreenDPI): Deleted.
372         * platform/gtk/RenderThemeGtk.h:
373         * platform/gtk/RenderThemeGtk2.cpp: Removed.
374         * platform/gtk/RenderThemeGtk3.cpp:
375         * platform/gtk/ScrollbarThemeGtk.cpp:
376         (WebCore::ScrollbarThemeGtk::hasThumb):
377         (WebCore::ScrollbarThemeGtk::backButtonRect):
378         (WebCore::ScrollbarThemeGtk::forwardButtonRect):
379         (WebCore::ScrollbarThemeGtk::trackRect):
380         (WebCore::ScrollbarThemeGtk::registerScrollbar):
381         (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
382         (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
383         * platform/gtk/ScrollbarThemeGtk.h:
384         * platform/gtk/ScrollbarThemeGtk2.cpp: Removed.
385         * platform/gtk/WidgetRenderingContext.cpp: Removed.
386         * platform/gtk/WidgetRenderingContext.h: Removed.
387
388 2014-08-28  Zan Dobersek  <zdobersek@igalia.com>
389
390         Unreviewed GTK build fix for the Wayland windowing target after r173052.
391
392         * platform/graphics/wayland/WaylandSurface.cpp: Include the IntSize header.
393         * platform/graphics/wayland/WaylandSurface.h: Forward-declare IntSize.
394
395 2014-08-27  Csaba Osztrogonác  <ossy@webkit.org>
396
397         One more URTBF after r173047.
398
399         * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
400         (webkitAccessibleComponentGetExtents):
401
402 2014-08-27  Iago Toral  <itoral@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
403
404         [GTK] Add WaylandSurface
405         https://bugs.webkit.org/show_bug.cgi?id=136220
406
407         Reviewed by Martin Robinson.
408
409         Add the WaylandSurface class. An objects of this type is meant to be used
410         by the LayerTreeHostGtk in the WebProcess and is constructed via the
411         WaylandDisplay::createSurface() method.
412
413         LayerTreeHostGtk uses such object to perform frame requests to the nested
414         Wayland compositor in the UIProcess, and to create the GLContextEGL object
415         that's used during the layer flushing and compositing.
416
417         The resize() method is called whenever LayerTreeHostGtk is being resized,
418         and basically only wraps the wl_egL_window_resize() call.
419
420         * PlatformGTK.cmake:
421         * platform/graphics/wayland/WaylandSurface.cpp: Added.
422         (WebCore::frameCallback):
423         (WebCore::WaylandSurface::WaylandSurface):
424         (WebCore::WaylandSurface::~WaylandSurface):
425         (WebCore::WaylandSurface::resize):
426         (WebCore::WaylandSurface::createGLContext):
427         (WebCore::WaylandSurface::requestFrame):
428         * platform/graphics/wayland/WaylandSurface.h: Added.
429         (WebCore::WaylandSurface::surface):
430         (WebCore::WaylandSurface::nativeWindowHandle):
431
432 2014-08-27  Csaba Osztrogonác  <ossy@webkit.org>
433
434         URTBF after r173047.
435
436         * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
437         (webkitAccessibleImageGetImagePosition):
438
439 2014-08-27  Zalan Bujtas  <zalan@apple.com>
440
441         Subpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
442         https://bugs.webkit.org/show_bug.cgi?id=136264
443
444         Reviewed by Simon Fraser.
445         
446         1. Align snapSizeToPixel()/snapSizeToDevicePixel() function names with the rest of snapping
447         functions. ->snappedIntSize()/snapSizeToDevicePixel().
448         2. Operate on LayoutSize/LayoutPoint instead of LayoutUnit/LayoutUnit to reflect functionality.
449
450         Covered by existing tests.
451
452         * platform/LayoutUnit.h:
453         (WebCore::snapSizeToPixel): Deleted.
454         (WebCore::snapSizeToDevicePixel): Deleted.
455         * platform/graphics/LayoutPoint.h:
456         (WebCore::snappedIntSize):
457         (WebCore::snapSizeToDevicePixel):
458         (WebCore::pixelSnappedIntSize): Deleted.
459         * platform/graphics/LayoutRect.h:
460         (WebCore::LayoutRect::pixelSnappedSize):
461         (WebCore::LayoutRect::pixelSnappedWidth):
462         (WebCore::LayoutRect::pixelSnappedHeight):
463         (WebCore::pixelSnappedIntRect):
464         (WebCore::pixelSnappedIntRectFromEdges):
465         (WebCore::pixelSnappedForPainting):
466         (WebCore::directionalPixelSnappedForPainting):
467         * rendering/RenderBox.cpp:
468         (WebCore::RenderBox::pixelSnappedClientWidth):
469         (WebCore::RenderBox::pixelSnappedClientHeight):
470         (WebCore::RenderBox::pixelSnappedOffsetWidth):
471         (WebCore::RenderBox::pixelSnappedOffsetHeight):
472         (WebCore::RenderBox::scrollWidth):
473         (WebCore::RenderBox::scrollHeight):
474         * rendering/RenderBoxModelObject.cpp:
475         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
476         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
477         * rendering/RenderLayer.cpp:
478         (WebCore::RenderLayer::updateLayerPosition):
479         (WebCore::RenderLayer::scrollWidth):
480         (WebCore::RenderLayer::scrollHeight):
481         * rendering/RenderTreeAsText.cpp:
482         (WebCore::writeLayers):
483
484 2014-08-27  Zalan Bujtas  <zalan@apple.com>
485
486         Subpixel layout: Rename LayoutRect's device pixel snapping functions.
487         https://bugs.webkit.org/show_bug.cgi?id=136319
488
489         Reviewed by Simon Fraser.
490
491         From pixelSnappedForPainting() to snapRectToDevicePixels() and 
492         pixelSnappedIntRect*() to snappedIntRect*().
493
494         No change in functionality.
495
496         * accessibility/AccessibilityObject.cpp:
497         (WebCore::AccessibilityObject::boundingBoxForQuads):
498         (WebCore::AccessibilityObject::isOnscreen):
499         (WebCore::AccessibilityObject::scrollToMakeVisible):
500         * accessibility/AccessibilityObject.h:
501         (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect):
502         (WebCore::AccessibilityObject::pixelSnappedElementRect):
503         * accessibility/AccessibilityRenderObject.cpp:
504         (WebCore::AccessibilityRenderObject::isOffScreen):
505         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
506         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
507         (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
508         (-[WebAccessibilityObjectWrapper accessibilityFrame]):
509         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
510         (-[WebAccessibilityObjectWrapper position]):
511         (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
512         * bindings/objc/DOMUIKitExtensions.mm:
513         (-[DOMHTMLAreaElement boundingBoxWithOwner:]):
514         (-[DOMHTMLAreaElement absoluteQuadWithOwner:]):
515         * css/CSSComputedStyleDeclaration.cpp:
516         (WebCore::computedTransform):
517         * dom/Node.h:
518         (WebCore::Node::pixelSnappedBoundingBox):
519         (WebCore::Node::pixelSnappedRenderRect):
520         * editing/RenderedPosition.cpp:
521         (WebCore::RenderedPosition::absoluteRect):
522         * editing/mac/FrameSelectionMac.mm:
523         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
524         * html/HTMLCanvasElement.cpp:
525         (WebCore::HTMLCanvasElement::paint):
526         * inspector/InspectorOverlay.cpp:
527         (WebCore::buildObjectForElementInfo):
528         * inspector/InspectorPageAgent.cpp:
529         (WebCore::InspectorPageAgent::didPaint):
530         * page/FrameSnapshotting.cpp:
531         (WebCore::snapshotNode):
532         * page/FrameView.cpp:
533         (WebCore::FrameView::scrollContentsFastPath):
534         (WebCore::FrameView::extendedBackgroundRectForPainting):
535         (WebCore::FrameView::windowClipRectForFrameOwner):
536         (WebCore::FrameView::convertFromRendererToContainingView):
537         * page/Page.cpp:
538         (WebCore::Page::addRelevantRepaintedObject):
539         (WebCore::Page::addRelevantUnpaintedObject):
540         * page/ios/FrameIOS.mm:
541         (WebCore::ancestorRespondingToClickEvents):
542         * platform/DragImage.cpp:
543         (WebCore::createDragImageForImage):
544         * platform/graphics/LayoutRect.cpp:
545         (WebCore::enclosingRectToDevicePixels):
546         (WebCore::enclosingRectForPainting): Deleted.
547         * platform/graphics/LayoutRect.h:
548         (WebCore::snappedIntRect):
549         (WebCore::snappedIntRectFromEdges):
550         (WebCore::snapRectToDevicePixels):
551         (WebCore::snapRectToDevicePixelsWithWritingDirection):
552         (WebCore::pixelSnappedIntRect): Deleted.
553         (WebCore::pixelSnappedIntRectFromEdges): Deleted.
554         (WebCore::pixelSnappedForPainting): Deleted.
555         (WebCore::directionalPixelSnappedForPainting): Deleted.
556         * platform/graphics/RoundedRect.cpp:
557         (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):
558         * platform/graphics/ca/GraphicsLayerCA.cpp:
559         (WebCore::GraphicsLayerCA::computePixelAlignment):
560         * platform/text/TextStream.cpp:
561         (WebCore::TextStream::operator<<):
562         * rendering/EllipsisBox.cpp:
563         (WebCore::EllipsisBox::paintSelection):
564         * rendering/FilterEffectRenderer.cpp:
565         (WebCore::FilterEffectRendererHelper::applyFilterEffect):
566         * rendering/InlineFlowBox.cpp:
567         (WebCore::InlineFlowBox::paint):
568         * rendering/InlineTextBox.cpp:
569         (WebCore::InlineTextBox::paintSelection):
570         (WebCore::InlineTextBox::paintCompositionBackground):
571         (WebCore::InlineTextBox::paintTextMatchMarker):
572         (WebCore::InlineTextBox::positionForOffset):
573         * rendering/RenderBlock.cpp:
574         (WebCore::RenderBlock::addVisualOverflowFromTheme):
575         (WebCore::RenderBlock::paint):
576         (WebCore::RenderBlock::blockSelectionGap):
577         (WebCore::RenderBlock::logicalLeftSelectionGap):
578         (WebCore::RenderBlock::logicalRightSelectionGap):
579         (WebCore::RenderBlock::absoluteRects):
580         (WebCore::RenderBlock::addFocusRingRects):
581         * rendering/RenderBlockFlow.cpp:
582         (WebCore::RenderBlockFlow::clipOutFloatingObjects):
583         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
584         * rendering/RenderBox.cpp:
585         (WebCore::RenderBox::absoluteRects):
586         (WebCore::RenderBox::absoluteContentBox):
587         (WebCore::RenderBox::outlineBoundsForRepaint):
588         (WebCore::RenderBox::addFocusRingRects):
589         (WebCore::RenderBox::getBackgroundPaintedExtent):
590         (WebCore::RenderBox::pushContentsClip):
591         (WebCore::RenderBox::computeRectForRepaint):
592         * rendering/RenderBox.h:
593         (WebCore::RenderBox::pixelSnappedFrameRect):
594         * rendering/RenderBoxModelObject.cpp:
595         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
596         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
597         (WebCore::RenderBoxModelObject::paintNinePieceImage):
598         (WebCore::RenderBoxModelObject::paintBorder):
599         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
600         (WebCore::RenderBoxModelObject::paintBoxShadow):
601         * rendering/RenderDetailsMarker.cpp:
602         (WebCore::RenderDetailsMarker::paint):
603         * rendering/RenderEmbeddedObject.cpp:
604         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
605         (WebCore::RenderEmbeddedObject::isReplacementObscured):
606         * rendering/RenderFieldset.cpp:
607         (WebCore::RenderFieldset::paintBoxDecorations):
608         * rendering/RenderFlowThread.cpp:
609         (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
610         * rendering/RenderFrameSet.cpp:
611         (WebCore::RenderFrameSet::paint):
612         (WebCore::RenderFrameSet::layout):
613         (WebCore::RenderFrameSet::positionFramesWithFlattening):
614         * rendering/RenderHTMLCanvas.cpp:
615         (WebCore::RenderHTMLCanvas::paintReplaced):
616         * rendering/RenderImage.cpp:
617         (WebCore::RenderImage::paintReplaced):
618         * rendering/RenderInline.cpp:
619         (WebCore::RenderInline::paintOutlineForLine):
620         * rendering/RenderLayer.cpp:
621         (WebCore::RenderLayer::updateTransform):
622         (WebCore::RenderLayer::currentTransform):
623         (WebCore::RenderLayer::beginTransparencyLayers):
624         (WebCore::RenderLayer::scrollRectToVisible):
625         (WebCore::RenderLayer::scrollCornerRect):
626         (WebCore::RenderLayer::drawPlatformResizerImage):
627         (WebCore::RenderLayer::paintResizer):
628         (WebCore::RenderLayer::hitTestOverflowControls):
629         (WebCore::RenderLayer::clipToRect):
630         (WebCore::RenderLayer::paintLayerByApplyingTransform):
631         (WebCore::RenderLayer::paintOverflowControlsForFragments):
632         (WebCore::RenderLayer::hitTestResizerInFragments):
633         (WebCore::RenderLayer::calculateClipRects):
634         * rendering/RenderLayerBacking.cpp:
635         (WebCore::RenderLayerBacking::updateTransform):
636         (WebCore::RenderLayerBacking::updateGeometry):
637         (WebCore::RenderLayerBacking::resetContentsRect):
638         (WebCore::RenderLayerBacking::updateImageContents):
639         (WebCore::RenderLayerBacking::backgroundBoxForPainting):
640         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
641         (WebCore::RenderLayerBacking::paintContents):
642         * rendering/RenderLayerCompositor.cpp:
643         (WebCore::RenderLayerCompositor::addToOverlapMap):
644         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
645         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
646         (WebCore::RenderLayerCompositor::paintContents):
647         * rendering/RenderListBox.cpp:
648         (WebCore::RenderListBox::addFocusRingRects):
649         (WebCore::RenderListBox::paintScrollbar):
650         (WebCore::RenderListBox::paintItemBackground):
651         * rendering/RenderListMarker.cpp:
652         (WebCore::RenderListMarker::paint):
653         * rendering/RenderMeter.cpp:
654         (WebCore::RenderMeter::updateLogicalWidth):
655         (WebCore::RenderMeter::computeLogicalHeight):
656         * rendering/RenderMultiColumnSet.cpp:
657         (WebCore::RenderMultiColumnSet::paintColumnRules):
658         * rendering/RenderObject.cpp:
659         (WebCore::RenderObject::drawLineForBoxSide):
660         (WebCore::RenderObject::addPDFURLRect):
661         (WebCore::RenderObject::paintOutline):
662         (WebCore::RenderObject::absoluteBoundingBoxRect):
663         (WebCore::RenderObject::repaintUsingContainer):
664         (WebCore::RenderObject::repaintSlowRepaintObject):
665         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
666         * rendering/RenderProgress.cpp:
667         (WebCore::RenderProgress::computeLogicalHeight):
668         * rendering/RenderReplaced.cpp:
669         (WebCore::RenderReplaced::paint):
670         * rendering/RenderScrollbarPart.cpp:
671         (WebCore::RenderScrollbarPart::paintIntoRect):
672         * rendering/RenderSearchField.cpp:
673         (WebCore::RenderSearchField::showPopup):
674         * rendering/RenderSnapshottedPlugIn.cpp:
675         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
676         * rendering/RenderTableCell.cpp:
677         (WebCore::RenderTableCell::paintCollapsedBorders):
678         * rendering/RenderTextControl.cpp:
679         (WebCore::RenderTextControl::addFocusRingRects):
680         * rendering/RenderTextControlSingleLine.cpp:
681         (WebCore::RenderTextControlSingleLine::paint):
682         * rendering/RenderTheme.cpp:
683         (WebCore::RenderTheme::paint):
684         (WebCore::RenderTheme::paintBorderOnly):
685         (WebCore::RenderTheme::paintDecorations):
686         * rendering/RenderThemeMac.mm:
687         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
688         * rendering/RenderTreeAsText.cpp:
689         (WebCore::write):
690         * rendering/RenderVideo.cpp:
691         (WebCore::RenderVideo::videoBox):
692         (WebCore::RenderVideo::paintReplaced):
693         * rendering/RenderView.cpp:
694         (WebCore::RenderView::repaintViewRectangle):
695         (WebCore::RenderView::computeRectForRepaint):
696         (WebCore::RenderView::absoluteRects):
697         (WebCore::RenderView::selectionBounds):
698         (WebCore::RenderView::unscaledDocumentRect):
699         * rendering/RenderView.h:
700         * rendering/RenderWidget.cpp:
701         (WebCore::RenderWidget::paintContents):
702         (WebCore::RenderWidget::paint):
703         * rendering/SimpleLineLayoutFunctions.cpp:
704         (WebCore::SimpleLineLayout::paintDebugBorders):
705         * rendering/shapes/Shape.cpp:
706         (WebCore::Shape::createRasterShape):
707         * rendering/svg/RenderSVGModelObject.cpp:
708         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
709         * rendering/svg/RenderSVGRoot.cpp:
710         (WebCore::RenderSVGRoot::paintReplaced):
711         * rendering/svg/SVGInlineTextBox.cpp:
712         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
713
714 2014-08-27  Daniel Bates  <dabates@apple.com>
715
716         Scrollbar corner can be drawn outside containing frame
717         https://bugs.webkit.org/show_bug.cgi?id=133131
718         <rdar://problem/16382769>
719
720         Reviewed by Simon Fraser.
721
722         Merged from Blink (patch by Levi Weintraub):
723         <https://src.chromium.org/viewvc/blink?revision=170625&view=revision>
724
725         Fixes an issue where the scroll corner may be painted outside the rectangle of
726         its associated frame by setting a clip rectangle before painting the scroll bar(s)
727         and scroll corner.
728
729         Test: scrollbars/custom-scrollbars-paint-outside-iframe.html
730
731         * platform/ScrollView.cpp:
732         (WebCore::ScrollView::paint):
733
734 2014-08-27  Zalan Bujtas  <zalan@apple.com>
735
736         Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
737         https://bugs.webkit.org/show_bug.cgi?id=136314
738
739         Reviewed by Simon Fraser.
740
741         From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)
742
743         EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
744         but currently untestable.
745
746         * WebCore.exp.in:
747         * inspector/InspectorOverlay.cpp:
748         (WebCore::InspectorOverlay::showPaintRect):
749         * platform/graphics/FloatPoint.h:
750         (WebCore::flooredIntSize):
751         (WebCore::floorPointToDevicePixels):
752         (WebCore::ceilPointToDevicePixels):
753         (WebCore::flooredToDevicePixels): Deleted.
754         (WebCore::ceiledToDevicePixels): Deleted.
755         * platform/graphics/FloatRect.cpp:
756         (WebCore::enclosingRectToDevicePixels):
757         (WebCore::enclosingRectExtendedToDevicePixels): Deleted. Renamed.
758         (WebCore::enclosedIntRect): Deleted. Not needed.
759         * platform/graphics/FloatRect.h:
760
761 2014-08-27  Zalan Bujtas  <zalan@apple.com>
762
763         Subpixel layout: Rename LayoutPoint's device pixel snapping functions.
764         https://bugs.webkit.org/show_bug.cgi?id=136306
765
766         Reviewed by Simon Fraser.
767
768         From *edForPainting() to *PointToDevicePixels() (* = floor/round/ceil)
769
770         No change in functionality.
771
772         * platform/graphics/LayoutPoint.h:
773         (WebCore::roundPointToDevicePixels):
774         (WebCore::floorPointToDevicePixels):
775         (WebCore::ceilPointToDevicePixels):
776         (WebCore::roundedForPainting): Deleted.
777         (WebCore::flooredForPainting): Deleted.
778         (WebCore::ceiledForPainting): Deleted.
779         * platform/graphics/LayoutRect.cpp:
780         (WebCore::enclosingRectForPainting):
781         * platform/graphics/LayoutRect.h:
782         (WebCore::directionalPixelSnappedForPainting):
783         * rendering/RenderBoxModelObject.cpp:
784         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
785         * rendering/RenderLayer.cpp:
786         (WebCore::RenderLayer::paintLayerByApplyingTransform):
787         (WebCore::RenderLayer::calculateClipRects):
788         * rendering/RenderLayerBacking.cpp:
789         (WebCore::RenderLayerBacking::updateGeometry):
790
791 2014-08-27  Zalan Bujtas  <zalan@apple.com>
792
793         Subpixel layout: Rename LayoutSize's device pixel snapping functions.
794         https://bugs.webkit.org/show_bug.cgi?id=136310
795
796         Reviewed by Simon Fraser.
797
798         From *edForPainting() to *SizeToDevicePixels() (* = floor/round/ceil)
799
800         No change in functionality.
801
802          * platform/graphics/LayoutSize.h:
803         (WebCore::floorSizeToDevicePixels):
804         (WebCore::flooredForPainting): Deleted.
805         * rendering/style/StyleGeneratedImage.cpp:
806         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
807
808 2014-08-27  Brian J. Burg  <burg@cs.washington.edu>
809
810         Enums in ScrollTypes and PlatformWheelEvent should not use uint64_t storage
811         https://bugs.webkit.org/show_bug.cgi?id=136318
812
813         Reviewed by Simon Fraser.
814
815         This regressed in a replay-related patch. Revert back to uint8_t storage size.
816
817         * platform/PlatformWheelEvent.h:
818         * platform/ScrollTypes.h:
819         * replay/WebInputs.json:
820
821 2014-08-27  Simon Fraser  <simon.fraser@apple.com>
822
823         Speling is hard.
824
825         Reviewed by Tim Horton.
826
827         * page/EventHandler.cpp:
828         (WebCore::EventHandler::handleMousePressEvent):
829         (WebCore::EventHandler::handleMouseDoubleClickEvent):
830         (WebCore::EventHandler::handleMouseMoveEvent):
831         (WebCore::EventHandler::handleMouseReleaseEvent):
832         (WebCore::EventHandler::handlePasteGlobalSelection):
833         (WebCore::EventHandler::updateMouseEventTargetNode):
834         (WebCore::EventHandler::dispatchMouseEvent):
835         (WebCore::EventHandler::sendContextMenuEventForKey):
836         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
837
838 2014-08-27  Simon Fraser  <simon.fraser@apple.com>
839
840         Fix the iOS build.
841
842         * page/EventHandler.cpp:
843         (WebCore::EventHandler::handleMousePressEvent):
844
845 2014-08-27  Andreas Kling  <akling@apple.com>
846
847         Drawing text in an SVG font causes load events to be fired.
848         <https://webkit.org/b/136269>
849         <rdar://problem/15724915>
850
851         Don't flush pending load events in Document::implicitClose() for frameless documents.
852         This is a targeted fix for an issue where parsing SVG fonts during layout would cause
853         event dispatch to happen in the main document, leading to arbitrary JS execution.
854
855         Note that the testcase only works in DRT/WTR, since once the SVG font is in cached
856         by WebCore, we won't reparse it again. Caches are cleared between tests, so it will
857         correctly fail if this should regress.
858
859         Longer-term, we should clean this up and get rid of the global dispatch entirely.
860
861         Reviewed by Simon Fraser.
862
863         Test: fast/text/svg-font-trigger-load-event.html
864
865         * dom/Document.cpp:
866         (WebCore::Document::implicitClose):
867
868 2014-08-27  Simon Fraser  <simon.fraser@apple.com>
869
870         Some EventHandler naming cleanup
871         https://bugs.webkit.org/show_bug.cgi?id=136303
872
873         Reviewed by Beth Dakin.
874         
875         Rename "mev" variables to "mouseEvent".
876         
877         No behavior change.
878
879         * page/EventHandler.cpp:
880         (WebCore::EventHandler::handleMousePressEvent):
881         (WebCore::EventHandler::handleMouseDoubleClickEvent):
882         (WebCore::EventHandler::handleMouseMoveEvent):
883         (WebCore::EventHandler::handleMouseReleaseEvent):
884         (WebCore::EventHandler::updateDragAndDrop):
885         (WebCore::EventHandler::prepareMouseEvent):
886         (WebCore::EventHandler::sendContextMenuEvent):
887         (WebCore::EventHandler::passMousePressEventToScrollbar):
888         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
889
890 2014-08-27  Simon Fraser  <simon.fraser@apple.com>
891
892         Some EventHandler naming cleanup
893         https://bugs.webkit.org/show_bug.cgi?id=136303
894
895         Reviewed by Beth Dakin.
896
897         Rename PlatformMouseEvent variables from "mouseEvent" to "platformMouseEvent"
898         so that a later patch can rename "mev" to "mouseEvent".
899         
900         0 => nullptr.
901         
902         No behavior change.
903
904         * page/EventHandler.cpp:
905         (WebCore::EventHandler::clear):
906         (WebCore::EventHandler::handleMousePressEvent):
907         (WebCore::EventHandler::handleMouseDoubleClickEvent):
908         (WebCore::EventHandler::handleMouseMoveEvent):
909         (WebCore::EventHandler::invalidateClick):
910         (WebCore::EventHandler::handleMouseReleaseEvent):
911         (WebCore::EventHandler::handlePasteGlobalSelection):
912         (WebCore::EventHandler::updateMouseEventTargetNode):
913         (WebCore::EventHandler::dispatchMouseEvent):
914         (WebCore::EventHandler::sendContextMenuEventForKey):
915         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
916
917 2014-08-27  Beth Dakin  <bdakin@apple.com>
918
919         Make isScrollableOrRubberbandable() a virtual function on RenderLayerModelObject
920         https://bugs.webkit.org/show_bug.cgi?id=136307
921
922         Reviewed by Simon Fraser.
923
924         Remove extra parentheses. 
925         * page/FrameView.cpp:
926         (WebCore::FrameView::isScrollable):
927
928         Mark isScrollableOrRubberbandable() as override now that the root implementation 
929         is moving to RenderLayerModelObject. It can also be private now.
930         * rendering/RenderBox.h:
931
932         isBox() check and cast are no longer necessary.
933         * rendering/RenderLayer.cpp:
934         (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
935
936         Base implementation should return false.
937         * rendering/RenderLayerModelObject.h:
938         (WebCore::RenderLayerModelObject::isScrollableOrRubberbandable):
939
940         Mark as override.
941         * rendering/RenderView.h:
942
943 2014-08-27  Antti Koivisto  <antti@apple.com>
944
945         REGRESSION(r172946): Plugin tests asserting on Yosemite debug bot
946         https://bugs.webkit.org/show_bug.cgi?id=136301
947
948         Reviewed by Alexey Proskuryakov.
949
950         Don't pull the priority from the platform request if it is not defined.
951
952         * platform/network/cf/ResourceRequestCFNet.cpp:
953         (WebCore::ResourceRequest::doUpdateResourceRequest):
954         * platform/network/cocoa/ResourceRequestCocoa.mm:
955         (WebCore::ResourceRequest::doUpdateResourceRequest):
956
957 2014-08-27  Timothy Hatcher  <timothy@apple.com>
958
959         Web Inspector: Crash when you open Web Inspector in a private window (due to IndexedDB)
960         https://bugs.webkit.org/show_bug.cgi?id=136293
961
962         Reviewed by Joseph Pecoraro.
963
964         * inspector/InspectorIndexedDBAgent.cpp:
965         (WebCore::InspectorIndexedDBAgent::requestDatabaseNames): Null check idbRequest from
966         IDBFactory::getDatabaseNames, which can return null now after r172603 in private browsing.
967
968 2014-08-27  Beth Dakin  <bdakin@apple.com>
969
970         overflow:scroll elements should not latch to the body if the body is 
971         overflow:hidden
972         https://bugs.webkit.org/show_bug.cgi?id=136273
973
974         Reviewed by Darin Adler.
975
976         This patch adds an optional parameter to isScrollable(). The Scrollability 
977         parameter that allows the caller to define what they mean by 'scrollable.' Most 
978         callers are interested in the default value, Scrollability::Scrollable, which 
979         means that there is actually content to scroll to, and a scrollbar that will allow 
980         you to access it. In some cases, such as this latching case, callers want to know 
981         if the FrameView is allowed to rubber-band, which the main frame might be allowed 
982         to do even if there is no content to scroll to. In that case, callers use 
983         Scrollability::ScrollableOrRubberbandable.
984         * page/FrameView.cpp:
985         (WebCore::FrameView::isScrollable):
986         (WebCore::FrameView::hasScrollableOrRubberbandableAncestor):
987
988         New virtual function on ScrollableArea answers whether a ScrollableArea has any 
989         scrollable or rubber-bandable ancestor.
990         * page/FrameView.h:
991         * platform/ScrollableArea.h:
992
993         Events should only be allowed to prevent stretching if there is some ancestor 
994         ScrollableArea that will be able to make use of the event. 
995         * platform/mac/ScrollAnimatorMac.mm:
996         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
997         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
998
999         New ScrollableArea virtual function.
1000         * platform/win/PopupMenuWin.h:
1001
1002         New RenderBox isScrollableOrRubberbandable() returns just 
1003         canBeScrolledAndHasScrollableArea() for most RenderBox, but will be overridden by 
1004         RenderView.
1005         * rendering/RenderBox.cpp:
1006         (WebCore::RenderBox::isScrollableOrRubberbandable):
1007         * rendering/RenderBox.h:
1008
1009         Recurse up the parent chain to find out if anything is scrollable or just rubber-
1010         bandable.
1011         * rendering/RenderLayer.cpp:
1012         (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
1013         * rendering/RenderLayer.h:
1014
1015         Call into RenderLayer.
1016         * rendering/RenderListBox.cpp:
1017         (WebCore::RenderListBox::hasScrollableOrRubberbandableAncestor):
1018         * rendering/RenderListBox.h:
1019
1020         Override isScrollableOrRubberbandable() to handle the main frame case where the 
1021         main frame is typically allowed to rubber-band even if there is no content to 
1022         scroll to.
1023         * rendering/RenderView.cpp:
1024         (WebCore::RenderView::isScrollableOrRubberbandable):
1025         * rendering/RenderView.h:
1026
1027 2014-08-27  Benjamin Poulain  <bpoulain@apple.com>
1028
1029         Updating attributes on HTML elements do not invalidate the style correctly unless the attribute name is lowercase in the stylesheet
1030         https://bugs.webkit.org/show_bug.cgi?id=136270
1031
1032         Reviewed by Andreas Kling.
1033
1034         In HTML, WebKit treats every attribute name lowercase to implement case-insensitive matching.
1035         When invalidating style, the StyleResolver was ignoring HTML and always using the XML names.
1036
1037         This patch split the names on RuleFeatureSet in two sets: one for XML, one for HTML.
1038         In StyleResolver, the name used depends on the type of the element being updated.
1039
1040         This patch also adds nodeNeedsStyleRecalc() to Internals to test the optimization and various cases
1041         of style update.
1042
1043         Tests: fast/css/attribute-for-content-property-style-update-html.html
1044                fast/css/attribute-for-content-property-style-update-xhtml.xhtml
1045                fast/css/attribute-style-invalidation-optimization-html.html
1046                fast/css/attribute-style-invalidation-optimization-xhtml.xhtml
1047                fast/css/attribute-style-update-html.html
1048                fast/selectors/attribute-style-update-html.html
1049                fast/selectors/attribute-style-update-svg-in-html.html
1050                fast/selectors/attribute-style-update-xhtml.xhtml
1051
1052         * css/RuleFeature.cpp:
1053         (WebCore::RuleFeatureSet::collectFeaturesFromSelector):
1054         (WebCore::RuleFeatureSet::add):
1055         (WebCore::RuleFeatureSet::clear):
1056         * css/RuleFeature.h:
1057         * css/StyleResolver.cpp:
1058         (WebCore::StyleResolver::applyProperty):
1059         * css/StyleResolver.h:
1060         (WebCore::StyleResolver::hasSelectorForAttribute):
1061         * dom/Element.cpp:
1062         (WebCore::Element::willModifyAttribute):
1063         * testing/Internals.cpp:
1064         (WebCore::Internals::address):
1065         (WebCore::Internals::nodeNeedsStyleRecalc):
1066         * testing/Internals.h:
1067         * testing/Internals.idl:
1068
1069 2014-08-27  Benjamin Poulain  <bpoulain@apple.com>
1070
1071         Update the CSS Grammar selector names to get closer to the latest terminology
1072         https://bugs.webkit.org/show_bug.cgi?id=136277
1073
1074         Reviewed by Andreas Kling.
1075
1076         CSS Selector Level 4 gives useful definitions for various parts of a selector
1077         (see http://dev.w3.org/csswg/selectors4/#structure). This patch updates our names to be closer
1078         to that spec.
1079
1080         Stricto sensu, our definition of "simple selector list" is wrong. I did not attempt to fix this
1081         because updates of CSS Selector Level 4 and WebVTT will eventually make that whole concept useless.
1082
1083         * css/CSSGrammar.y.in:
1084
1085 2014-08-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1086
1087         [EFL] Unskip compositing test
1088         https://bugs.webkit.org/show_bug.cgi?id=136151
1089
1090         Reviewed by Csaba Osztrogonác.
1091
1092         * rendering/RenderLayerBacking.cpp: Set true to setContentsOpaque() to support compositing test.
1093         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1094
1095 2014-08-26  Vivek Galatage  <vivek.vg@samsung.com>
1096
1097         Canvas direction should reflect change in dir attribute and also across save/restore operations
1098         https://bugs.webkit.org/show_bug.cgi?id=136098
1099
1100         Reviewed by Darin Adler.
1101
1102         Changed State.m_direction type from TextDirection to Direction enum to accomodate 'inherit'
1103         as a separate value. Modified the getter to compute the 'live' value for the direction attribute.
1104         Removed explicit passing of direction to CanvasRenderingContext2D::State constructor.
1105
1106         Updated existing canvas-direction.html with additional cases to reflect this change.
1107
1108         * html/canvas/CanvasRenderingContext2D.cpp:
1109         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1110         (WebCore::CanvasRenderingContext2D::reset):
1111         (WebCore::CanvasRenderingContext2D::State::State):
1112         (WebCore::CanvasRenderingContext2D::toTextDirection):
1113         (WebCore::CanvasRenderingContext2D::direction):
1114         (WebCore::CanvasRenderingContext2D::setDirection):
1115         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1116         (WebCore::inheritedDirection): Deleted.
1117         * html/canvas/CanvasRenderingContext2D.h:
1118
1119 2014-08-26  Benjamin Poulain  <bpoulain@apple.com>
1120
1121         Minor style tweak on StyleResolveTree
1122         https://bugs.webkit.org/show_bug.cgi?id=136233
1123
1124         Reviewed by Sam Weinig.
1125
1126         * style/StyleResolveTree.cpp:
1127         (WebCore::Style::resolveTree):
1128         Clang likely optimized it away, but I find that explicit style cleaner.
1129
1130 2014-08-26  Brian J. Burg  <burg@cs.washington.edu>
1131
1132         Web Inspector: put feature flags for Inspector domains in the protocol specification
1133         https://bugs.webkit.org/show_bug.cgi?id=136027
1134
1135         Reviewed by Timothy Hatcher.
1136
1137         Add 'featureGuard' settings to wrap domains with ENABLE macros.
1138
1139         No new tests. No behavior was changed.
1140
1141         * inspector/protocol/Database.json:
1142         * inspector/protocol/IndexedDB.json:
1143         * inspector/protocol/Replay.json:
1144
1145 2014-08-26  Andy Estes  <aestes@apple.com>
1146
1147         [Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
1148         https://bugs.webkit.org/show_bug.cgi?id=136267
1149
1150         Reviewed by Dan Bernstein.
1151
1152         INSTALL_PATH was set to $BUILT_PRODUCTS_DIR for engineering configurations in r20225 as part of a build fix.
1153         Not only is this no longer necessary to build, but it causes built products to be incorrectly installed in
1154         engineering configurations.
1155
1156         Remove the setting of INSTALL_PATH from the pbxproj file so that the value specified in the xcconfig files is
1157         used instead.
1158
1159         * WebCore.xcodeproj/project.pbxproj:
1160
1161 2014-08-26  Brent Fulgham  <bfulgham@apple.com>
1162
1163         [Win] WebKit IDL incorrectly passes HWND as OLE_HANDLE
1164         https://bugs.webkit.org/show_bug.cgi?id=136258
1165         <rdar://problem/18134138>
1166
1167         Reviewed by Tim Horton.
1168
1169         Avoid 32/64-bit truncation by preventing 64-bit HWND (and other)
1170         values from passing through the 32-bit OLE_HANDLE data type.
1171
1172         * platform/win/WindowMessageBroadcaster.cpp:
1173         (WebCore::WindowMessageBroadcaster::addListener):
1174         (WebCore::WindowMessageBroadcaster::removeListener):
1175         (WebCore::WindowMessageBroadcaster::destroy):
1176         (WebCore::WindowMessageBroadcaster::unsubclassWindow):
1177         (WebCore::WindowMessageBroadcaster::SubclassedWndProc):
1178
1179 2014-08-25  Maciej Stachowiak  <mjs@apple.com>
1180
1181         Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
1182         https://bugs.webkit.org/show_bug.cgi?id=136082
1183
1184         Reviewed by Alexey Proskuryakov.
1185
1186         * platform/mac/Language.mm:
1187         (WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
1188         with new WebCoreNSStringExtras helper.
1189         * platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
1190         WKCopyCFLocalizationPreferredName.
1191         (preferredBundleLocalizationName): New helper - most preferred localization available
1192         in the main bundle, canonicalized the way we like it.
1193         (canonicalLocalizationName): Convert a lcalization name to a string with language and
1194         country code, using default if necessary (e.g. "en" maps to "en_US").
1195         * WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
1196         * WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
1197         * platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
1198         * platform/mac/WebCoreSystemInterface.h: ditto
1199         * platform/mac/WebCoreSystemInterface.mm: ditto
1200         * platform/spi/cf: Added.
1201         * platform/spi/cf/CFLocaleSPI.h: Added. Declare
1202         CFLocaleGetLanguageRegionEncodingForLocaleIdentifier.
1203
1204 2014-08-26  Zoltan Horvath  <zoltan@webkit.org>
1205
1206         [CSS Shapes] Positioned polygon reftests failing
1207         https://bugs.webkit.org/show_bug.cgi?id=135925
1208
1209         Reviewed by David Hyatt.
1210
1211         We didn't respect the shape-margin before a positioned polygon, since we checked
1212         the shape-margin for only 1 vertex for a polygon edge. This patch fixes the behavior,
1213         removes the tests from the skipped list and updates 1 test, which was incorrect.
1214
1215         Updated existing test and removed tests from skipped list.
1216
1217         * rendering/shapes/PolygonShape.cpp:
1218         (WebCore::clippedCircleXRange):
1219         (WebCore::PolygonShape::getExcludedInterval):
1220
1221 2014-08-26  Zalan Bujtas  <zalan@apple.com>
1222
1223         Subpixel layout: Remove float to LayoutUnit ceil/round function wrappers.
1224         https://bugs.webkit.org/show_bug.cgi?id=136253
1225
1226         Reviewed by Simon Fraser.
1227
1228         These functions wrap LayoutUnit::fromFloatCeil/fromFloatRound() functions to ceil/round float to LayoutUnit.
1229         Their usage is limited and can easily be confused with the snapping functions (snap to css/device pixels).
1230
1231         No change in functionality.
1232
1233         * platform/LayoutUnit.h:
1234         (WebCore::roundedLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatRound() function.
1235         (WebCore::ceiledLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatCeil() function.
1236         * rendering/RenderBlock.cpp:
1237         (WebCore::updatePreferredWidth):
1238         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1239         (WebCore::adjustFloatForSubPixelLayout): Deleted.
1240         * rendering/RenderBox.cpp:
1241         (WebCore::RenderBox::positionLineBox):
1242         * rendering/RenderFlexibleBox.cpp:
1243         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
1244         * rendering/RenderInline.cpp:
1245         (WebCore::RenderInline::offsetForInFlowPositionedInline):
1246         * rendering/RenderTextControlSingleLine.cpp:
1247         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
1248
1249 2014-08-26  Simon Fraser  <simon.fraser@apple.com>
1250
1251         Ensure that layout is up-to-date before hit testing
1252         https://bugs.webkit.org/show_bug.cgi?id=136242
1253         rdar://problem/17435564
1254
1255         Reviewed by Tim Horton.
1256         
1257         Various code paths can call into RenderView::hitTest() but fail to
1258         ensure that layout is up-to-date. This is a conservative change that
1259         fixes the issue for callers of EventHandler::hitTestResultAtPoint(),
1260         including WebPage::acceptsFirstMouse() and WebFrame::hitTest().
1261         
1262         This change is not general enough that we can ASSERT(!needsLayout())
1263         in RenderView::hitTest() yet.
1264         
1265         * page/EventHandler.cpp:
1266         (WebCore::EventHandler::hitTestResultAtPoint):
1267
1268 2014-08-26  Beth Dakin  <bdakin@apple.com>
1269
1270         Rubber-banding in overflow:scroll regions does not work correctly with 
1271         direction:rtl
1272         https://bugs.webkit.org/show_bug.cgi?id=136176
1273
1274         Reviewed by Tim Horton.
1275
1276         Small cleanup.
1277         * rendering/RenderLayer.cpp:
1278         (WebCore::RenderLayer::visibleContentRectInternal):
1279
1280 2014-08-26  Tim Horton  <timothy_horton@apple.com>
1281
1282         Fix the build after r172963
1283
1284         * page/DOMTimer.h:
1285
1286 2014-08-25  Gavin Barraclough  <barraclough@apple.com>
1287
1288         DOMTimer may be deleted during timer fire
1289         https://bugs.webkit.org/show_bug.cgi?id=136198
1290
1291         Reviewed by Geoff Garen.
1292
1293         Consequentially ScheduledActions may also be deleted mid execution.
1294         This is fairly surprising & fragile, let's make this simpler.
1295
1296         Currently DOMTimer instances are effectively owned by the ScriptExecutionContext.
1297         There is a 1-1 mapping between timers and contexts, all timers are help in a map
1298         on the context and if the context goes away all timers are deleted. Rather than
1299         being implemented in a straightforward fashion (a smart pointer type for the map
1300         value) this is currently implemented by having the timer objects listen for the
1301         context going away using contextDestroyed, and deleting themselves if so.
1302
1303         Switch to using a smart pointer for values of m_timeouts in ScriptExecutionContext.
1304         By using a RefCounted object we can also extend the lifetime of the DOMTimer instance
1305         from within the DOMTimer::fired method, so the object is not destroyed while the
1306         member function is still on the stack.
1307
1308         * WebCore.xcodeproj/project.pbxproj:
1309             - project -> private since DOMTimer could no longer be a forward declare in ScriptExecutionContext.h.
1310         * dom/ScriptExecutionContext.cpp:
1311         (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
1312         (WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):
1313             - auto* -> auto& since value type in map is no longer a raw pointer.
1314         * dom/ScriptExecutionContext.h:
1315         (WebCore::ScriptExecutionContext::addTimeout):
1316             - DOMTimer* -> PassRefPtr<DOMTimer>
1317         * page/DOMTimer.cpp:
1318         (WebCore::DOMTimer::DOMTimer):
1319             - adopt the initial ref, and pass to addTimeout.
1320         (WebCore::DOMTimer::install):
1321             - updated comment.
1322         (WebCore::DOMTimer::removeById):
1323             - instead of explicitly deleting the timer and assuming this will implicitly remove it from the context map,
1324               we explicitly remove it from the context map and assume this will implicitly deleting the timer!
1325         (WebCore::DOMTimer::fired):
1326             - Add a RefPtr to keep the DOMTimer object alive until the fired method completes; to cancel a one-shot timer
1327               just remove it from the context's map, rather than explicitly deleting it.
1328         (WebCore::DOMTimer::~DOMTimer): Deleted.
1329         (WebCore::DOMTimer::contextDestroyed): Deleted.
1330             - no need! object lifetime management now handled by smart pointers.
1331         * page/DOMTimer.h:
1332             - added parent class RefCounted<DOMTimer>.
1333
1334 2014-08-26  Carlos Garcia Campos  <cgarcia@igalia.com>
1335
1336         [GTK] Selection background is rendered white when unfocused with recent GTK+
1337         https://bugs.webkit.org/show_bug.cgi?id=136251
1338
1339         Reviewed by Martin Robinson.
1340
1341         This is due to a change in the GTK+ theme, but because we are not
1342         using the right flags to get the selections colors. We should use
1343         GTK_STATE_FLAG_SELECTED | GTK_STATE_FLAG_FOCUSED when focused and
1344         GTK_STATE_FLAG_SELECTED when unfocused, instead of
1345         GTK_STATE_FLAG_ACTIVE when unfocused.
1346
1347         * platform/gtk/RenderThemeGtk3.cpp:
1348         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
1349         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
1350         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
1351         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
1352         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
1353         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
1354         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
1355         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
1356
1357 2014-08-26  Krzysztof Czech  <k.czech@samsung.com>
1358
1359         [EFL] Utilize espeak as a synthesizer back-end for WebSpeech
1360         https://bugs.webkit.org/show_bug.cgi?id=136127
1361
1362         Reviewed by Gyuyoung Kim.
1363
1364         Utilize espeak API to have support for speak, cancel and initializeVoiceList.
1365
1366         * PlatformEfl.cmake:
1367         * platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:
1368         (WebCore::PlatformSpeechSynthesisProviderEfl::PlatformSpeechSynthesisProviderEfl):
1369         (WebCore::PlatformSpeechSynthesisProviderEfl::convertRateToEspeakValue):
1370         (WebCore::PlatformSpeechSynthesisProviderEfl::convertVolumeToEspeakValue):
1371         (WebCore::PlatformSpeechSynthesisProviderEfl::convertPitchToEspeakValue):
1372         (WebCore::PlatformSpeechSynthesisProviderEfl::voiceName):
1373         (WebCore::PlatformSpeechSynthesisProviderEfl::engineInit):
1374         (WebCore::PlatformSpeechSynthesisProviderEfl::currentVoice):
1375         (WebCore::PlatformSpeechSynthesisProviderEfl::initializeVoiceList):
1376         (WebCore::PlatformSpeechSynthesisProviderEfl::speak):
1377         (WebCore::PlatformSpeechSynthesisProviderEfl::cancel):
1378         (WebCore::PlatformSpeechSynthesisProviderEfl::fireSpeechEvent):
1379         * platform/efl/PlatformSpeechSynthesisProviderEfl.h:
1380         * platform/efl/PlatformSpeechSynthesizerEfl.cpp:
1381         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1382         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1383         (WebCore::PlatformSpeechSynthesizer::pause):
1384         (WebCore::PlatformSpeechSynthesizer::resume):
1385         (WebCore::PlatformSpeechSynthesizer::speak):
1386         (WebCore::PlatformSpeechSynthesizer::cancel):
1387
1388 2014-08-26  Ryuan Choi  <ryuan.choi@samsung.com>
1389
1390         [EFL] Build break using clang
1391         https://bugs.webkit.org/show_bug.cgi?id=136245
1392
1393         Reviewed by Gyuyoung Kim.
1394
1395         * css/ViewportStyleResolver.cpp: Includes NodeRenderStyle.h
1396
1397 2014-08-26  Mark Rowe  <mrowe@apple.com>
1398
1399         Build fix after r172951.
1400
1401         * fileapi/Blob.h: Give the argument the name that the predicates expect.
1402
1403 2014-08-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1404
1405         Generate toFile() instead of manual functions.
1406         https://bugs.webkit.org/show_bug.cgi?id=136207
1407
1408         Reviewed by Darin Adler.
1409
1410         No new tests, no behavior changes.
1411
1412         * fileapi/Blob.h: Define BLOB_TYPE_CASTS.
1413         * fileapi/File.h: Use BLOB_TYPE_CASTS to generate toFile().
1414         (WebCore::toFile): Deleted.
1415
1416 2014-08-25  Zalan Bujtas  <zalan@apple.com>
1417
1418         Subpixel layout: remove roundedLayoutPoint/roundedLayoutSize functions.
1419         https://bugs.webkit.org/show_bug.cgi?id=136236
1420
1421         Reviewed by Simon Fraser.
1422
1423         These functions simply call LayoutPoint/LayoutSize c'tors. They don't round the input value at all.
1424
1425         Non change in functionality.
1426
1427         * dom/MouseRelatedEvent.cpp:
1428         (WebCore::MouseRelatedEvent::computePageLocation):
1429         (WebCore::MouseRelatedEvent::computeRelativePosition):
1430         * dom/Touch.cpp:
1431         (WebCore::Touch::Touch):
1432         * html/shadow/SliderThumbElement.cpp:
1433         (WebCore::SliderThumbElement::setPositionFromPoint):
1434         * page/DragController.cpp:
1435         (WebCore::elementUnderMouse):
1436         * page/EventHandler.cpp:
1437         (WebCore::selectionExtentRespectingEditingBoundary):
1438         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
1439         (WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):
1440         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
1441         (WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):
1442         * platform/graphics/LayoutPoint.h:
1443         (WebCore::roundedLayoutPoint): Deleted.
1444         * platform/graphics/LayoutSize.h:
1445         (WebCore::roundedLayoutSize): Deleted.
1446         * rendering/EllipsisBox.cpp:
1447         (WebCore::EllipsisBox::nodeAtPoint):
1448         * rendering/RenderBlock.cpp:
1449         (WebCore::RenderBlock::selectionGapRectsForRepaint):
1450         * rendering/RenderBox.cpp:
1451         (WebCore::RenderBox::mapLocalToContainer):
1452         (WebCore::RenderBox::positionLineBox):
1453         * rendering/RenderEmbeddedObject.cpp:
1454         (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
1455         * rendering/RenderEmbeddedObject.h:
1456         * rendering/RenderInline.cpp:
1457         (WebCore::RenderInline::localCaretRect):
1458         (WebCore::RenderInline::mapLocalToContainer):
1459         * rendering/RenderLayer.cpp:
1460         (WebCore::RenderLayer::absoluteToContents):
1461         (WebCore::RenderLayer::calculateClipRects):
1462         * rendering/RenderMultiColumnFlowThread.cpp:
1463         (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
1464         * rendering/RenderObject.cpp:
1465         (WebCore::RenderObject::mapLocalToContainer):
1466         * rendering/shapes/ShapeOutsideInfo.cpp:
1467         (WebCore::ShapeOutsideInfo::createShapeForImage):
1468         * rendering/svg/RenderSVGContainer.cpp:
1469         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
1470         * rendering/svg/RenderSVGForeignObject.cpp:
1471         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
1472         * rendering/svg/RenderSVGImage.cpp:
1473         (WebCore::RenderSVGImage::nodeAtFloatPoint):
1474         * rendering/svg/RenderSVGShape.cpp:
1475         (WebCore::RenderSVGShape::nodeAtFloatPoint):
1476         * testing/Internals.cpp:
1477         (WebCore::Internals::nodesFromRect):
1478
1479 2014-08-25  Zalan Bujtas  <zalan@apple.com>
1480
1481         Rename RenderObject::showTree() and showTreeForThis() to showNodeTree*().
1482         https://bugs.webkit.org/show_bug.cgi?id=136238
1483
1484         Reviewed by Simon Fraser.
1485
1486         showNodeTree()/showNodeTreeForThis() reflects the functionality better.
1487
1488         No change in functionality.
1489
1490         * rendering/InlineBox.cpp:
1491         (WebCore::InlineBox::showNodeTreeForThis):
1492         (showNodeTree):
1493         (WebCore::InlineBox::showTreeForThis): Deleted.
1494         (showTree): Deleted.
1495         * rendering/InlineBox.h:
1496         * rendering/RenderObject.cpp:
1497         (WebCore::RenderObject::showNodeTreeForThis):
1498         (showNodeTree):
1499         (WebCore::RenderObject::showTreeForThis): Deleted.
1500         (showTree): Deleted.
1501         * rendering/RenderObject.h:
1502
1503 2014-08-25  Antti Koivisto  <antti@apple.com>
1504
1505         Don't pass priority as parameter to ResourceLoadScheduler
1506         https://bugs.webkit.org/show_bug.cgi?id=136232
1507
1508         Reviewed by Sam Weinig.
1509
1510         It is part of the ResourceRequest which is also passed in.
1511
1512         * WebCore.exp.in:
1513         * loader/ResourceLoadScheduler.cpp:
1514         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
1515         (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
1516         (WebCore::ResourceLoadScheduler::scheduleLoad):
1517         * loader/ResourceLoadScheduler.h:
1518         * loader/cache/CachedResource.cpp:
1519         (WebCore::CachedResource::load):
1520         * platform/network/cf/ResourceRequestCFNet.cpp:
1521         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
1522         * platform/network/cocoa/ResourceRequestCocoa.mm:
1523         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
1524
1525             Restore the original request priority when a delegate modifies the request.
1526
1527 2014-08-25  Beth Dakin  <bdakin@apple.com>
1528
1529         Rubber-banding in overflow:scroll regions does not work correctly with direction:rtl
1530         https://bugs.webkit.org/show_bug.cgi?id=136176
1531
1532         Reviewed by Sam Weinig.
1533
1534         Use scrollPosition() instead of scrollXOffset() and scrollYOffset() which both add 
1535         in the scrollOrigin(). Other implementations of visibleContentRectInternal() do 
1536         not add in the scrollOrigin(), so RenderLayer's shouldn't either in order to be
1537         consistent. This makes rubber-banding work for RTL because 
1538         ScrollAnimatorMac::pinnedInDirection() and 
1539         ScrollAnimatorMac::absoluteScrollPosition() both return the expect values now.
1540
1541         * rendering/RenderLayer.cpp:
1542         (WebCore::RenderLayer::visibleContentRectInternal):
1543
1544 2014-08-25  Benjamin Poulain  <benjamin@webkit.org>
1545
1546         Reduce style marking when using the pseudo class :placeholder-shown
1547         https://bugs.webkit.org/show_bug.cgi?id=136203
1548
1549         Reviewed by Darin Adler.
1550
1551         When the :placeholder-shown filter is hit, we were always marking the RenderStyle as unique.
1552         As a result, if :placeholder-shown was used without a more restrictive filter (e.g. "*:placeholder-shown"
1553         or simply ":placeholder-shown"), style sharing was disabled for the whole tree.
1554
1555         This patch rescope the tree marking to any element that can be affected by a placeholder:
1556         any the subclass of HTMLTextFormControlElement. For other elements, any change in internal state
1557         would be irrelevant for "isPlaceholderVisible".
1558
1559         Styling of :placeholder-shown is covered by the existing tests. Style sharing of :placeholder-shown
1560         is covered by LayoutTests/fast/css/placeholder-shown-basics.html.
1561
1562         * css/SelectorChecker.cpp:
1563         (WebCore::SelectorChecker::checkOne):
1564         * css/SelectorCheckerTestFunctions.h:
1565         (WebCore::isPlaceholderShown): Deleted.
1566         * cssjit/SelectorCompiler.cpp:
1567         (WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
1568         (WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
1569         (WebCore::SelectorCompiler::isPlaceholderShown):
1570         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
1571         (WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.
1572
1573 2014-08-25  Antti Koivisto  <antti@apple.com>
1574
1575         Remove ResourceLoader::didChangePriority
1576         https://bugs.webkit.org/show_bug.cgi?id=136230
1577
1578         Reviewed by Andreas Kling.
1579
1580         It doesn't do anything on any platform.
1581
1582         * loader/ResourceLoader.cpp:
1583         (WebCore::ResourceLoader::didChangePriority): Deleted.
1584         * loader/ResourceLoader.h:
1585         * loader/cache/CachedResource.cpp:
1586         (WebCore::CachedResource::setLoadPriority):
1587         * platform/network/ResourceHandle.cpp:
1588         (WebCore::ResourceHandle::didChangePriority): Deleted.
1589         * platform/network/ResourceHandle.h:
1590
1591 2014-08-24  Brian J. Burg  <burg@cs.washington.edu>
1592
1593         Web Inspector: rename Inspector::TypeBuilder to Inspector::Protocol
1594         https://bugs.webkit.org/show_bug.cgi?id=136031
1595
1596         Reviewed by Timothy Hatcher.
1597
1598         Rename TypeBuilder namespace to Protocol. Disambiguate where
1599         necessary. Also rename InspectorTypeBuilder to ProtocolTypes.
1600
1601         * CMakeLists.txt:
1602         * DerivedSources.make:
1603         * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Removed.
1604         * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Removed.
1605         * WebCore.order:
1606         * WebCore.vcxproj/WebCore.vcxproj:
1607         * WebCore.vcxproj/WebCore.vcxproj.filters:
1608         * WebCore.xcodeproj/project.pbxproj:
1609         * inspector/CommandLineAPIHost.cpp:
1610         (WebCore::CommandLineAPIHost::inspectImpl):
1611         * inspector/InspectorApplicationCacheAgent.cpp:
1612         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1613         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
1614         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
1615         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
1616         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
1617         * inspector/InspectorApplicationCacheAgent.h:
1618         * inspector/InspectorCSSAgent.cpp:
1619         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1620         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
1621         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1622         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1623         (WebCore::InspectorCSSAgent::getStyleSheet):
1624         (WebCore::InspectorCSSAgent::setStyleText):
1625         (WebCore::InspectorCSSAgent::setPropertyText):
1626         (WebCore::InspectorCSSAgent::toggleProperty):
1627         (WebCore::InspectorCSSAgent::setRuleSelector):
1628         (WebCore::InspectorCSSAgent::addRule):
1629         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
1630         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
1631         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
1632         (WebCore::InspectorCSSAgent::collectStyleSheets):
1633         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1634         (WebCore::InspectorCSSAgent::detectOrigin):
1635         (WebCore::InspectorCSSAgent::buildObjectForRule):
1636         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
1637         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1638         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1639         (WebCore::InspectorCSSAgent::buildArrayForRegions):
1640         (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
1641         * inspector/InspectorCSSAgent.h:
1642         * inspector/InspectorDOMAgent.cpp:
1643         (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
1644         (WebCore::InspectorDOMAgent::getDocument):
1645         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1646         (WebCore::InspectorDOMAgent::querySelectorAll):
1647         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
1648         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1649         (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
1650         (WebCore::InspectorDOMAgent::getSearchResults):
1651         (WebCore::InspectorDOMAgent::resolveNode):
1652         (WebCore::InspectorDOMAgent::getAttributes):
1653         (WebCore::InspectorDOMAgent::buildObjectForNode):
1654         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1655         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
1656         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1657         (WebCore::InspectorDOMAgent::processAccessibilityChildren):
1658         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1659         (WebCore::InspectorDOMAgent::didCommitLoad):
1660         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1661         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
1662         * inspector/InspectorDOMAgent.h:
1663         * inspector/InspectorDOMDebuggerAgent.cpp:
1664         (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
1665         * inspector/InspectorDOMStorageAgent.cpp:
1666         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
1667         (WebCore::InspectorDOMStorageAgent::storageId):
1668         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
1669         * inspector/InspectorDOMStorageAgent.h:
1670         * inspector/InspectorDatabaseAgent.cpp:
1671         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
1672         * inspector/InspectorDatabaseAgent.h:
1673         * inspector/InspectorDatabaseResource.cpp:
1674         (WebCore::InspectorDatabaseResource::bind):
1675         * inspector/InspectorIndexedDBAgent.cpp:
1676         * inspector/InspectorLayerTreeAgent.cpp:
1677         (WebCore::InspectorLayerTreeAgent::layersForNode):
1678         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
1679         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
1680         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1681         (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
1682         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
1683         * inspector/InspectorLayerTreeAgent.h:
1684         * inspector/InspectorPageAgent.cpp:
1685         (WebCore::InspectorPageAgent::resourceTypeJson):
1686         (WebCore::InspectorPageAgent::cachedResourceTypeJson):
1687         (WebCore::buildObjectForCookie):
1688         (WebCore::buildArrayForCookies):
1689         (WebCore::InspectorPageAgent::getCookies):
1690         (WebCore::InspectorPageAgent::getResourceTree):
1691         (WebCore::InspectorPageAgent::searchInResource):
1692         (WebCore::buildObjectForSearchResult):
1693         (WebCore::InspectorPageAgent::searchInResources):
1694         (WebCore::InspectorPageAgent::buildObjectForFrame):
1695         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
1696         * inspector/InspectorPageAgent.h:
1697         * inspector/InspectorReplayAgent.cpp:
1698         (WebCore::buildInspectorObjectForPosition):
1699         (WebCore::buildInspectorObjectForInput):
1700         (WebCore::buildInspectorObjectForSession):
1701         (WebCore::buildInspectorObjectForSessionState):
1702         (WebCore::buildInspectorObjectForSegmentState):
1703         (WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor):
1704         (WebCore::SerializeInputToJSONFunctor::operator()):
1705         (WebCore::buildInspectorObjectForSegment):
1706         (WebCore::InspectorReplayAgent::switchSession):
1707         (WebCore::InspectorReplayAgent::insertSessionSegment):
1708         (WebCore::InspectorReplayAgent::removeSessionSegment):
1709         (WebCore::InspectorReplayAgent::currentReplayState):
1710         (WebCore::InspectorReplayAgent::getAvailableSessions):
1711         (WebCore::InspectorReplayAgent::getSessionData):
1712         (WebCore::InspectorReplayAgent::getSegmentData):
1713         * inspector/InspectorReplayAgent.h:
1714         * inspector/InspectorResourceAgent.cpp:
1715         (WebCore::buildObjectForTiming):
1716         (WebCore::buildObjectForResourceRequest):
1717         (WebCore::buildObjectForResourceResponse):
1718         (WebCore::buildObjectForCachedResource):
1719         (WebCore::InspectorResourceAgent::willSendRequest):
1720         (WebCore::InspectorResourceAgent::didReceiveResponse):
1721         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1722         (WebCore::InspectorResourceAgent::buildInitiatorObject):
1723         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
1724         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
1725         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
1726         (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
1727         * inspector/InspectorResourceAgent.h:
1728         * inspector/InspectorStyleSheet.cpp:
1729         (WebCore::buildSourceRangeObject):
1730         (WebCore::buildMediaObject):
1731         (WebCore::fillMediaListChain):
1732         (WebCore::InspectorStyle::buildObjectForStyle):
1733         (WebCore::InspectorStyle::buildArrayForComputedStyle):
1734         (WebCore::InspectorStyle::styleWithProperties):
1735         (WebCore::InspectorStyleSheet::create):
1736         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
1737         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1738         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
1739         (WebCore::selectorsFromSource):
1740         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
1741         (WebCore::InspectorStyleSheet::buildObjectForRule):
1742         (WebCore::InspectorStyleSheet::buildObjectForStyle):
1743         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1744         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
1745         (WebCore::InspectorStyleSheetForInlineStyle::create):
1746         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1747         * inspector/InspectorStyleSheet.h:
1748         (WebCore::InspectorStyleSheet::canBind):
1749         * inspector/InspectorTimelineAgent.cpp:
1750         (WebCore::toProtocol):
1751         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
1752         (WebCore::InspectorTimelineAgent::sendEvent):
1753         * inspector/PageRuntimeAgent.cpp:
1754
1755 2014-08-25  Brendan Long  <b.long@cablelabs.com>
1756
1757         [GStreamer] ASSERT failure in WebKitWebSource in StreamingClient
1758         https://bugs.webkit.org/show_bug.cgi?id=136132
1759
1760         adoptGRef() has an ASSERT failure if it's used on a floating pointer. For some reason,
1761         WebKitWebSrc* src in StreamingClient's constructor is floating. Since we
1762         don't construct this ourselves, I assume this is happening in Playbin.
1763
1764         If we remove the ref and adopt, GRefPtr's constructor calls gst_object_ref_sink,
1765         which removes the floating reference and doesn't increment the reference count.
1766         This should work, but actually causes the page to either lock up or crash (different
1767         results for different testers).
1768
1769         In this case, it seems like the adoptGRef / gst_object_ref was the correct thing to do,
1770         but adoptGRef won't actually let us do. Removing the ASSERT is a bad idea, because
1771         usually we don't want to adopt floating pointers.
1772
1773         This is all a long way of saying that making m_src a raw pointer and manually
1774         calling gst_object_ref(), and calling gst_object_unref in the destructor is the
1775         best solution in this case, since it fixes the problem while leaving the ASSERT
1776         to protect us in the much more common case where adopting a floating reference is bad.
1777
1778         Reviewed by Philippe Normand.
1779
1780         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1781         (StreamingClient::StreamingClient): Make m_src a raw pointer instead of a GRefPtr.
1782         (StreamingClient::~StreamingClient): Unref m_src.
1783         (StreamingClient::createReadBuffer): Replace m_src.get() with m_src, since it's a raw pointer now.
1784         (StreamingClient::handleResponseReceived): Same.
1785         (StreamingClient::handleDataReceived): Same.
1786         (StreamingClient::handleNotifyFinished): Same.
1787         (CachedResourceStreamingClient::notifyFinished): Same.
1788         (ResourceHandleStreamingClient::didFail): Same.
1789         (ResourceHandleStreamingClient::wasBlocked): Same.
1790         (ResourceHandleStreamingClient::cannotShowURL): Same.
1791
1792 2014-08-25  Zan Dobersek  <zdobersek@igalia.com>
1793
1794         [GTK] Remove PopupMenuGtk, SearchPopupMenuGtk
1795         https://bugs.webkit.org/show_bug.cgi?id=136211
1796
1797         Reviewed by Carlos Garcia Campos.
1798
1799         Remove the two classes from the codebase. They're not used anymore
1800         after the WebKit1 layer of the GTK port was removed some time ago.
1801
1802         * PlatformGTK.cmake:
1803         * platform/gtk/PopupMenuGtk.cpp: Removed.
1804         * platform/gtk/PopupMenuGtk.h: Removed.
1805         * platform/gtk/SearchPopupMenuGtk.cpp: Removed.
1806         * platform/gtk/SearchPopupMenuGtk.h: Removed.
1807
1808 2014-08-25  Shivakumar JM  <shiva.jm@samsung.com>
1809
1810         Web Core: Fix unused parameter build warning.
1811         https://bugs.webkit.org/show_bug.cgi?id=136208
1812
1813         Reviewed by Darin Adler.
1814
1815         Fix unused build warning by removing parameter, which is not used.
1816
1817         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1818         (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
1819
1820 2014-08-22  Sergio Villar Senin  <svillar@igalia.com>
1821
1822         ASSERTION FAILED: !trackSizes.isEmpty() in WebCore::createGridTrackList
1823         https://bugs.webkit.org/show_bug.cgi?id=136149
1824
1825         Reviewed by Darin Adler.
1826
1827         The second argument of the repeat() function is a <track-list>
1828         that must have at least one <track-size>. Should it not be found,
1829         the declaration must be invalidated.
1830
1831         * css/CSSParser.cpp:
1832         (WebCore::CSSParser::parseGridTrackRepeatFunction):
1833
1834 2014-08-24  Zan Dobersek  <zdobersek@igalia.com>
1835
1836         Move WebCore storage code to C++11 lambdas, std::function
1837         https://bugs.webkit.org/show_bug.cgi?id=126435
1838
1839         Reviewed by Darin Adler.
1840
1841         Use C++11 lambdas instead of WTF::bind and std::function<void ()>
1842         instead of WTF::Function<void ()> in StorageAreaSync, StorageSyncManager,
1843         StorageThread and StorageTracker classes.
1844
1845         * storage/StorageAreaSync.cpp:
1846         (WebCore::StorageAreaSync::StorageAreaSync):
1847         (WebCore::StorageAreaSync::scheduleFinalSync):
1848         (WebCore::StorageAreaSync::syncTimerFired):
1849         * storage/StorageSyncManager.cpp:
1850         (WebCore::StorageSyncManager::dispatch):
1851         * storage/StorageSyncManager.h:
1852         * storage/StorageThread.cpp:
1853         (WebCore::StorageThread::dispatch):
1854         (WebCore::StorageThread::terminate):
1855         (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
1856         * storage/StorageThread.h:
1857         * storage/StorageTracker.cpp:
1858         (WebCore::StorageTracker::importOriginIdentifiers):
1859         (WebCore::StorageTracker::syncImportOriginIdentifiers):
1860         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1861         (WebCore::StorageTracker::setOriginDetails):
1862         (WebCore::StorageTracker::deleteAllOrigins):
1863         (WebCore::StorageTracker::deleteOrigin):
1864
1865 2014-08-24  Alexey Proskuryakov  <ap@apple.com>
1866
1867         ASSERT(extractable()) when storing a non-extractable key in IndexedDB
1868         https://bugs.webkit.org/show_bug.cgi?id=136202
1869         rdar://problem/17993967
1870
1871         Reviewed by Darin Adler.
1872
1873         Test: crypto/subtle/rsa-indexeddb-non-exportable.html
1874
1875         Removed the obsolete assertion.
1876
1877         * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::exportData):
1878         * crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::exportData):
1879         * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::exportData):
1880
1881 2014-08-24  Brian J. Burg  <burg@cs.washington.edu>
1882
1883         Web Inspector: Rename DOM.RGBA and remove workarounds in the bindings generator
1884         https://bugs.webkit.org/show_bug.cgi?id=136025
1885
1886         Reviewed by Joseph Pecoraro.
1887
1888         Rename DOM.RGBA to DOM.RGBAColor to avoid name clashes with headers on Windows CE.
1889         This workaround used to be special-cased in the bindings generator.
1890
1891         Type names are not used in protocol messages, so this does not introduce legacy issues.
1892
1893         * inspector/protocol/DOM.json:
1894
1895 2014-08-24  Michael Catanzaro  <mcatanzaro@igalia.com>
1896
1897         [GTK] Toggle buttons visually broken with GTK+ 3.13.7
1898         https://bugs.webkit.org/show_bug.cgi?id=136130
1899
1900         Reviewed by Martin Robinson.
1901
1902         No new tests. Hopefully covered by existing tests, and our tests only
1903         run with GTK+ 3.6 anyway.
1904
1905         * platform/gtk/RenderThemeGtk3.cpp:
1906         (WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
1907         GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.
1908
1909 2014-08-23  Brady Eidson  <beidson@apple.com>
1910
1911         Random Gamepad cleanup
1912         https://bugs.webkit.org/show_bug.cgi?id=136193
1913
1914         Reviewed by Sam Weinig.
1915
1916         No new tests (Not tested yet, and no change in behavior anyways)
1917
1918         - Use DOMWindow WeakPtrs when iterating
1919         - More references instead of pointers
1920
1921         * Modules/gamepad/GamepadEvent.cpp:
1922         (WebCore::GamepadEvent::GamepadEvent):
1923         * Modules/gamepad/GamepadEvent.h:
1924         (WebCore::GamepadEvent::create):
1925
1926         * Modules/gamepad/GamepadManager.cpp:
1927         (WebCore::GamepadManager::platformGamepadDisconnected):
1928         (WebCore::GamepadManager::makeGamepadVisible):
1929         * Modules/gamepad/NavigatorGamepad.cpp:
1930         (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
1931         (WebCore::NavigatorGamepad::gamepadAtIndex): Deleted.
1932         * Modules/gamepad/NavigatorGamepad.h:
1933
1934         * page/DOMWindow.cpp:
1935         (WebCore::DOMWindow::DOMWindow):
1936         * page/DOMWindow.h:
1937
1938 2014-08-23  Byungseon Shin  <sun.shin@lge.com>
1939
1940         Unify GraphicsLayer::setContentsToMedia and setContentsToCanvas
1941         https://bugs.webkit.org/show_bug.cgi?id=109658
1942
1943         Reviewed by Martin Robinson.
1944  
1945         Based on patch originally written by Tim Horton.
1946         Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.
1947  
1948         * WebCore.exp.in:
1949         Adjust exports.
1950  
1951         * platform/graphics/GraphicsLayer.h:
1952         Move ContentsLayerPurpose enum up out of GraphicsLayer platform implmentations
1953         and into GraphicsLayer, so we can use it as a parameter.
1954         Add ContentsLayerForPlugin.
1955  
1956         (WebCore::GraphicsLayer::setContentsToPlatformLayer):
1957         Remove setContentsToMedia and setContentsToCanvas, and replace them
1958         with setContentsToPlatformLayer, which previously existed but was unused
1959         and simply called setContentsToMedia.
1960         setContentsToPlatformLayer takes a ContentsLayerPurpose, primarily
1961         so that GraphicsLayerCA can know whether it needs to setNeedsDisplay
1962         the layer when parenting it (canvas) or not (everything else).
1963  
1964         * platform/graphics/ca/GraphicsLayerCA.cpp:
1965         (WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
1966         Rename function setContentsToMedia -> setContentsToPlatformLayer.
1967         Rename argument mediaLayer -> platformLayer.
1968         Store the passed-in ContentsLayerPurpose.
1969         Remove setContentsToCanvas.
1970  
1971         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1972         (WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
1973         Remove updateContentsMediaLayer and updateContentsCanvas layer,
1974         add updateContentsPlatformLayer.
1975  
1976         * platform/graphics/ca/GraphicsLayerCA.h:
1977         Do the same to the LayerChange enum.
1978  
1979         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1980         (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
1981         (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
1982         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1983         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1984         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1985         (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
1986         (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
1987         (WebCore::CoordinatedGraphicsLayer::syncPlatformLayer):
1988         (WebCore::CoordinatedGraphicsLayer::destroyPlatformLayerIfNeeded):
1989         (WebCore::CoordinatedGraphicsLayer::createPlatformLayerIfNeeded):
1990         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
1991         Fold these together in the same way as elsewhere.
1992  
1993         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1994         Do the same to the LayerChange enum.
1995  
1996         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1997         (WebCore::CoordinatedGraphicsScene::createPlatformLayerIfNeeded):
1998         (WebCore::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
1999         (WebCore::CoordinatedGraphicsScene::destroyPlatformLayerIfNeeded):
2000         (WebCore::CoordinatedGraphicsScene::setLayerState):
2001         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2002         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2003         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
2004         Rename canvasLayer -> platformLayer.
2005  
2006         * rendering/RenderLayerBacking.cpp:
2007         (WebCore::RenderLayerBacking::updateConfiguration):
2008         Use the new setContentsToPlatformLayer, passing in the relevant ContentsLayerPurpose.
2009
2010 2014-08-23  Joseph Pecoraro  <pecoraro@apple.com>
2011
2012         Web Inspector: Do not copy large module source strings
2013         https://bugs.webkit.org/show_bug.cgi?id=136191
2014
2015         Reviewed by Benjamin Poulain.
2016
2017         * inspector/CommandLineAPIModule.cpp:
2018         (WebCore::CommandLineAPIModule::source):
2019
2020 2014-08-23  Zan Dobersek  <zdobersek@igalia.com>
2021
2022         Remove uses of CrossThreadTask in ThreadableWebSocketChannelClientWrapper, WorkerThreadableWebSocketChannel
2023         https://bugs.webkit.org/show_bug.cgi?id=133954
2024
2025         Reviewed by Darin Adler.
2026
2027         Replace uses of CrossThreadTask with C++11 lambdas in the ThreadableWebSocketChannelClientWrapper
2028         and WorkerThreadableWebSocketChannel classes.
2029
2030         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2031         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
2032         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
2033         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
2034         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
2035         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
2036         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2037         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
2038         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
2039         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback): Deleted.
2040         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback): Deleted.
2041         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback): Deleted.
2042         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback): Deleted.
2043         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback): Deleted.
2044         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback): Deleted.
2045         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback): Deleted.
2046         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback): Deleted.
2047         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2048         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2049         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2050         (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
2051         (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
2052         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
2053         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
2054         (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
2055         (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
2056         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
2057         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
2058         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2059         (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
2060         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2061         (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
2062         (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
2063         (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
2064         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
2065         (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
2066         (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
2067         (WebCore::workerGlobalScopeDidSend): Deleted.
2068         (WebCore::workerGlobalScopeDidGetBufferedAmount): Deleted.
2069         (WebCore::workerGlobalScopeDidConnect): Deleted.
2070         (WebCore::workerGlobalScopeDidReceiveMessage): Deleted.
2071         (WebCore::workerGlobalScopeDidReceiveBinaryData): Deleted.
2072         (WebCore::workerGlobalScopeDidUpdateBufferedAmount): Deleted.
2073         (WebCore::workerGlobalScopeDidStartClosingHandshake): Deleted.
2074         (WebCore::workerGlobalScopeDidClose): Deleted.
2075         (WebCore::workerGlobalScopeDidReceiveMessageError): Deleted.
2076         (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect): Deleted.
2077         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSend): Deleted.
2078         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer): Deleted.
2079         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob): Deleted.
2080         (WebCore::WorkerThreadableWebSocketChannel::mainThreadBufferedAmount): Deleted.
2081         (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose): Deleted.
2082         (WebCore::WorkerThreadableWebSocketChannel::mainThreadFail): Deleted.
2083         (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy): Deleted.
2084         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend): Deleted.
2085         (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume): Deleted.
2086         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2087
2088 2014-08-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2089
2090         Clean up build warnings: control reaches end of non-void function
2091         https://bugs.webkit.org/show_bug.cgi?id=135889
2092
2093         Reviewed by Alexey Proskuryakov.
2094
2095         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2096         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2097         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2098         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
2099         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
2100         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
2101         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
2102         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
2103         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
2104         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2105         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
2106         * crypto/CryptoKey.cpp:
2107         (WebCore::CryptoKey::type):
2108
2109 2014-08-23  Zan Dobersek  <zdobersek@igalia.com>
2110
2111         [TexMap] Only notify of a required flush on the first layer property change
2112         https://bugs.webkit.org/show_bug.cgi?id=136104
2113
2114         Reviewed by Martin Robinson.
2115
2116         The GraphicsLayer's client should only be notified that a flush is required
2117         when the first change of one of the layer's properties is initiated, instead
2118         of requesting the flush on every such change.
2119
2120         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2121         (WebCore::GraphicsLayerTextureMapper::notifyChange):
2122
2123 2014-08-22  Dan Bernstein  <mitz@apple.com>
2124
2125         Try to fix the Mac build using the internal SDK.
2126
2127         * bindings/objc/PublicDOMInterfaces.h:
2128
2129 2014-08-22  Renato Nagy  <nagy.renato@stud.u-szeged.hu>
2130
2131         Remove LevelDB.
2132         https://bugs.webkit.org/show_bug.cgi?id=136170
2133
2134         Reviewed by Gyuyoung Kim.
2135
2136         * CMakeLists.txt:
2137         * Modules/indexeddb/IDBObjectStore.cpp:
2138         (WebCore::IDBObjectStore::createIndex):
2139         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
2140         (WebCore::IDBTransactionCoordinator::canRunTransaction):
2141         (WebCore::doScopesOverlap): Deleted.
2142         * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Removed.
2143         * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Removed.
2144         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Removed.
2145         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Removed.
2146         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Removed.
2147         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h: Removed.
2148         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed.
2149         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed.
2150         * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Removed.
2151         * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Removed.
2152         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Removed.
2153         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Removed.
2154         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Removed.
2155         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Removed.
2156         * WebCore.vcxproj/WebCore.vcxproj:
2157         * WebCore.vcxproj/WebCore.vcxproj.filters:
2158         * WebCore.xcodeproj/project.pbxproj:
2159         * platform/DatabaseStrategy.cpp:
2160         (WebCore::DatabaseStrategy::createIDBFactoryBackend):
2161         * platform/leveldb/LevelDBComparator.h: Removed.
2162         * platform/leveldb/LevelDBDatabase.cpp: Removed.
2163         * platform/leveldb/LevelDBDatabase.h: Removed.
2164         * platform/leveldb/LevelDBIterator.h: Removed.
2165         * platform/leveldb/LevelDBSlice.h: Removed.
2166         * platform/leveldb/LevelDBTransaction.cpp: Removed.
2167         * platform/leveldb/LevelDBTransaction.h: Removed.
2168         * platform/leveldb/LevelDBWriteBatch.cpp: Removed.
2169         * platform/leveldb/LevelDBWriteBatch.h: Removed.
2170
2171 2014-08-22  KwangHyuk Kim  <hyuki.kim@samsung.com>
2172
2173         [EFL] Fix build break caused by ENABLE_GAMEPAD_DEPRECATED.
2174         https://bugs.webkit.org/show_bug.cgi?id=136110
2175
2176         Reviewed by Gyuyoung Kim.
2177
2178         WebCore_INCLUDE_DIRECTORY for gamepad was removed from WK2 Efl in order to fix build break when ENABLE_GAMEPAD_DEPRECATED is on.
2179
2180         No new tests because no functional changes.
2181
2182         * PlatformEfl.cmake:
2183
2184 2014-08-22  Benjamin Poulain  <benjamin@webkit.org>
2185
2186         Style invalidation does not work for adjacent node updates
2187         https://bugs.webkit.org/show_bug.cgi?id=136145
2188
2189         Reviewed by Antti Koivisto.
2190
2191         There were a bunch of cases in which the style would be in an inconsistent
2192         state until the style resolver kicks in for the entire document.
2193
2194         For example, let's take the selector "foo.bar + target". When the class "bar"
2195         changes, the element foo is invalidated. The element target is untouched.
2196
2197         Now, if the style of "target" is accessed, nodeOrItsAncestorNeedsStyleRecalc()
2198         returns false and the old style is accessed.
2199
2200         At some point, when the style of the entire document is resolved, the node
2201         "foo" is styled, and "target" is invalidated.
2202
2203
2204         To fix the issue, this patch adds an extra flag keeping track of subtrees that
2205         have any node needing style recalc: DirectChildNeedsStyleRecalcFlag.
2206
2207         When invalidating the node "foo", its parent is marked with
2208         DirectChildNeedsStyleRecalcFlag to note that one of the child nodes has an invalid style.
2209
2210         When verifying the style state in nodeOrItsAncestorNeedsStyleRecalc(), we check that flag
2211         in addition to the siblings dependencies to find if the node is part of a subtree that may
2212         be invalid due to sibling selectors.
2213
2214         Similarly, in the style resolver, we use the flag to clear the style on all elements
2215         that could potentially be invalid.
2216
2217
2218         This patch removes the changes introduced by r172721
2219         (The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element).
2220         That bug was just a special case of what is solved here.
2221
2222
2223         Tests: fast/selectors/attribute-direct-adjacent-style-update.html
2224                fast/selectors/attribute-sibling-style-update.html
2225                fast/selectors/class-direct-adjacent-style-update.html
2226                fast/selectors/class-sibling-style-update.html
2227                fast/selectors/first-child-direct-adjacent-style-update.html
2228                fast/selectors/first-child-sibling-style-update.html
2229
2230         * css/SelectorChecker.cpp:
2231         (WebCore::SelectorChecker::checkOne):
2232         * cssjit/SelectorCompiler.cpp:
2233         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
2234         (WebCore::SelectorCompiler::setStyleOfSiblingsAffectedByEmpty): Deleted.
2235         * dom/ContainerNode.h:
2236         (WebCore::ContainerNode::directChildNeedsStyleRecalc):
2237         (WebCore::ContainerNode::setDirectChildNeedsStyleRecalc):
2238         Remove the special case for :empty.
2239
2240         * dom/Document.cpp:
2241         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
2242         * dom/Element.cpp:
2243         (WebCore::checkForEmptyStyleChange):
2244         (WebCore::checkForSiblingStyleChanges):
2245         (WebCore::Element::setStyleOfSiblingsAffectedByEmpty): Deleted.
2246         (WebCore::Element::rareDataStyleOfSiblingsAffectedByEmpty): Deleted.
2247         * dom/Element.h:
2248         (WebCore::Element::styleOfSiblingsAffectedByEmpty): Deleted.
2249         * dom/ElementRareData.h:
2250         (WebCore::ElementRareData::ElementRareData):
2251         (WebCore::ElementRareData::styleOfSiblingsAffectedByEmpty): Deleted.
2252         (WebCore::ElementRareData::setStyleOfSiblingsAffectedByEmpty): Deleted.
2253         * dom/Node.cpp:
2254         (WebCore::markAncestorsWithChildNeedsStyleRecalc):
2255         (WebCore::Node::setNeedsStyleRecalc):
2256         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Deleted.
2257         * dom/Node.h:
2258         (WebCore::Node::clearChildNeedsStyleRecalc):
2259         * style/StyleResolveTree.cpp:
2260         (WebCore::Style::resetStyleForNonRenderedDescendants):
2261
2262 2014-08-22  Joseph Pecoraro  <pecoraro@apple.com>
2263
2264         Remove unused legacy InspectorFrontendHost methods
2265         https://bugs.webkit.org/show_bug.cgi?id=136186
2266
2267         Reviewed by Andreas Kling.
2268
2269         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2270         (WebCore::JSInspectorFrontendHost::recordActionTaken): Deleted.
2271         (WebCore::JSInspectorFrontendHost::recordPanelShown): Deleted.
2272         (WebCore::JSInspectorFrontendHost::recordSettingChanged): Deleted.
2273         * inspector/InspectorFrontendHost.idl:
2274
2275 2014-08-22  Joseph Pecoraro  <pecoraro@apple.com>
2276
2277         Remove unnecessary WTFString creation in Dictionary getter
2278         https://bugs.webkit.org/show_bug.cgi?id=136184
2279
2280         Reviewed by Benjamin Poulain.
2281
2282         * bindings/js/Dictionary.cpp:
2283         (WebCore::Dictionary::getWithUndefinedOrNullCheck):
2284         * bindings/js/Dictionary.h:
2285         * bindings/js/JSDictionary.cpp:
2286         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
2287         * bindings/js/JSDictionary.h:
2288
2289 2014-08-22  Commit Queue  <commit-queue@webkit.org>
2290
2291         Unreviewed, rolling out r172866.
2292         https://bugs.webkit.org/show_bug.cgi?id=136177
2293
2294         Broke iOS build (Requested by othermaciej on #webkit).
2295
2296         Reverted changeset:
2297
2298         "Replace use of WKCopyCFLocalizationPreferredName with
2299         NSLocale public API"
2300         https://bugs.webkit.org/show_bug.cgi?id=136082
2301         http://trac.webkit.org/changeset/172866
2302
2303 2014-08-22  David Hyatt  <hyatt@apple.com>
2304
2305         Add proper support for letter-spacing to bopomofo Ruby
2306         https://bugs.webkit.org/show_bug.cgi?id=136171
2307
2308         Reviewed by Sam Weinig.
2309
2310         Added fast/ruby/bopomofo-letter-spacing.html
2311
2312         * rendering/RenderRubyRun.cpp:
2313         (WebCore::RenderRubyRun::layout):
2314         Alter the layout of bopomofo ruby so that the distance between the base characters is the max of
2315         the letter-spacing between the characters and the minimum required width to hold two rows of
2316         Ruby.
2317
2318         Push the bopomofo ruby into the letter-spacing to ensure that it comes right after the base character
2319         and not after all the letter-spacing.
2320
2321 2014-08-22  Simon Fraser  <simon.fraser@apple.com>
2322
2323         Fix showing paint rects when selecting lines in the timeline
2324         https://bugs.webkit.org/show_bug.cgi?id=136173
2325
2326         Reviewed by Joseph Pecoraro.
2327
2328         Fix the condition used to decide when to show the overlay.
2329
2330         * inspector/InspectorOverlay.cpp:
2331         (WebCore::InspectorOverlay::shouldShowOverlay):
2332
2333 2014-08-22  Simon Fraser  <simon.fraser@apple.com>
2334
2335         Use the correct rect for paint flashing
2336         https://bugs.webkit.org/show_bug.cgi?id=136169
2337
2338         Reviewed by Sam Weinig.
2339
2340         Use the rect we've converted to root document coordinates for paint flashing.
2341
2342         * inspector/InspectorPageAgent.cpp:
2343         (WebCore::InspectorPageAgent::didPaint):
2344
2345 2014-08-22  Dean Jackson  <dino@apple.com>
2346
2347         Google Canvas2D maps are too slow and uncontrollable with Safari with full screen mode
2348         https://bugs.webkit.org/show_bug.cgi?id=136168
2349
2350         Reviewed by Tim Horton.
2351
2352         When Google maps are using their 2D "lite" fallback and you're drawing in a huge
2353         window such as fullscreen 4K, we would drop back to unaccelerated mode, thinking
2354         that we'd exceeded the maximum IOSurface size.
2355
2356         Remove the hardcoded limit on IOSurface sizes, and instead ask the system
2357         what it believe the maximum to be. This was significantly higher than our
2358         limit on the systems I tested.
2359
2360         * platform/graphics/cg/ImageBufferCG.cpp:
2361         (WebCore::ImageBuffer::ImageBuffer): Include our IOSurface wrapper, which
2362         has a query for maximum size, and use that instead.
2363
2364 2014-08-22  Simon Fraser  <simon.fraser@apple.com>
2365
2366         Maybe fix Windows.
2367
2368         * inspector/InspectorOverlay.cpp:
2369         (WebCore::InspectorOverlay::showPaintRect):
2370
2371 2014-08-22  Simon Fraser  <simon.fraser@apple.com>
2372
2373         Implement paint flashing in the WK1 InspectorOverlay page
2374         https://bugs.webkit.org/show_bug.cgi?id=136138
2375
2376         Reviewed by Sam Weinig, Joseph Pecoraro.
2377
2378         Implement paint flashing for the WebKit1 InspectorOverlay via a second canvas in the overlay page.
2379         We avoid allocating backing store for this canvas until we have paint rects.
2380         
2381         Because this overlay page is weird and doesn't know how to paint itself, InspectorOverlay manages
2382         an array of rects, and pushes them to the page when they change, before forcing a paint.
2383         
2384         Because iOS doesn't use the InspectorOverlay page, stub out setShowPaintRects on its
2385         WebKit WebInspectorClient, but don't yet implement paint flashing there.
2386
2387         * inspector/InspectorOverlay.cpp:
2388         (WebCore::InspectorOverlay::InspectorOverlay):
2389         (WebCore::InspectorOverlay::shouldShowOverlay):
2390         (WebCore::InspectorOverlay::update):
2391         (WebCore::buildObjectForRect):
2392         (WebCore::InspectorOverlay::setShowingPaintRects):
2393         (WebCore::InspectorOverlay::showPaintRect):
2394         (WebCore::InspectorOverlay::updatePaintRectsTimerFired):
2395         (WebCore::InspectorOverlay::drawPaintRects):
2396         (WebCore::InspectorOverlay::forcePaint):
2397         (WebCore::quadToPath): Deleted.
2398         (WebCore::drawOutlinedQuad): Deleted.
2399         (WebCore::InspectorOverlay::drawOutline): Deleted.
2400         * inspector/InspectorOverlay.h:
2401         * inspector/InspectorOverlayPage.html:
2402         * inspector/InspectorOverlayPage.js:
2403         (updatePaintRects):
2404         (reset):
2405         (_drawShapeHighlight):
2406         * inspector/InspectorPageAgent.cpp:
2407         (WebCore::InspectorPageAgent::setShowPaintRects):
2408         (WebCore::InspectorPageAgent::didPaint):
2409
2410 2014-08-22  Eric Carlson  <eric.carlson@apple.com>
2411
2412         [iOS] Cleanup media code
2413         https://bugs.webkit.org/show_bug.cgi?id=136163
2414
2415         Reviewed by Jer Noble.
2416
2417         No new tests, no functionality was changed.
2418
2419         * html/HTMLMediaElement.cpp:
2420         (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_requestingPlay.
2421         (WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Deleted.
2422         (WebCore::HTMLMediaElement::parseAttribute): Don't call parseMediaPlayerAttribute.
2423         (WebCore::HTMLMediaElement::playInternal): m_requestingPlay is dead, Jim.
2424         (WebCore::HTMLMediaElement::updatePlayState): Ditto.
2425         (WebCore::HTMLMediaElement::updatePlayState): Remove obsolete FIXME.
2426         * html/HTMLMediaElement.h:
2427         * platform/graphics/MediaPlayer.cpp:
2428         (WebCore::MediaPlayer::attributeChanged): Deleted.
2429         (WebCore::MediaPlayer::readyForPlayback): Deleted.
2430         * platform/graphics/MediaPlayer.h:
2431         * platform/graphics/MediaPlayerPrivate.h:
2432         (WebCore::MediaPlayerPrivateInterface::attributeChanged): Deleted.
2433         (WebCore::MediaPlayerPrivateInterface::readyForPlayback): Deleted.
2434
2435 2014-08-20  Maciej Stachowiak  <mjs@apple.com>
2436
2437         Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
2438         https://bugs.webkit.org/show_bug.cgi?id=136082
2439
2440         Reviewed by Alexey Proskuryakov.
2441
2442         * platform/mac/Language.mm:
2443         (WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
2444         with new WebCoreNSStringExtras helper.
2445         * platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
2446         WKCopyCFLocalizationPreferredName.
2447         (preferredBundleLocalizationName): New helper - most preferred localization available
2448         in the main bundle, canonicalized the way we like it.
2449         (canonicalLocalizationName): Convert a lcalization name to a string with language and
2450         country code, using default if necessary (e.g. "en" maps to "en_US").
2451         * WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
2452         * WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
2453         * platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
2454         * platform/mac/WebCoreSystemInterface.h: ditto
2455         * platform/mac/WebCoreSystemInterface.mm: ditto
2456
2457 2014-08-22  Daniel Bates  <dabates@apple.com>
2458
2459         [iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
2460         and ENABLE_XSLT when building with the iOS public SDK
2461         https://bugs.webkit.org/show_bug.cgi?id=135945
2462
2463         Reviewed by Andy Estes.
2464
2465         Towards bringing up the iOS WebKit port using the iOS public SDK, disable the proprietary
2466         iOS gesture and touch event code. For now we also temporarily disable ENABLE_TOUCH_EVENTS
2467         and ENABLE_XSLT while we focus to get the rest of the port built using the public SDK. We'll
2468         look to enable these features once we stabilize the build.
2469
2470         * Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
2471         and ENABLE_XSLT when building with the public SDK.
2472         * Configurations/WebCore.xcconfig:
2473         * DerivedSources.make: Conditionally generate derived sources for touch and gesture events as applicable and pass
2474         define WTF_USE_APPLE_INTERNAL_SDK when generating bindings (if applicable). Make the logic for determining
2475         whether WTF_PLATFORM_IOS is defined consistent with logic for determining whether WTF_USE_APPLE_INTERNAL_SDK and
2476         ENABLE_ORIENTATION_EVENTS are defined. We should look to further cleanup this code.
2477         * bindings/js/ios/TouchConstructors.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
2478         * bindings/objc/DOMEvents.h: Write preprocessor logic in terms of ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS.
2479         * bindings/objc/PublicDOMInterfaces.h: Include private header <WebKitAdditions/PublicDOMInterfacesIOS.h> when
2480         it exists as opposed to assuming it exists when building for iOS.
2481         * dom/Document.cpp:
2482         (WebCore::Document::Document): Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)".
2483         (WebCore::Document::prepareForDestruction): Ditto.
2484         (WebCore::Document::removeAllEventListeners): Ditto.
2485         * dom/Document.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
2486         * dom/Document.idl: Ditto.
2487         * dom/Touch.h: Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS)..
2488         * dom/TouchEvent.h: Ditto.
2489         * dom/TouchList.h: Ditto.
2490         * dom/ios/TouchEvents.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
2491         * history/CachedFrame.cpp: Add PLATFORM(IOS) guard.
2492         * html/shadow/SliderThumbElement.cpp:
2493         (WebCore::SliderThumbElement::SliderThumbElement): Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
2494         (WebCore::SliderThumbElement::willDetachRenderers): Ditto.
2495         * html/shadow/SliderThumbElement.h: Ditto.
2496         * loader/EmptyClients.h: Ditto.
2497         * platform/ios/PlatformEventFactoryIOS.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
2498         Only include header <WebKitAdditions/PlatformTouchEventIOS.h> when building with ENABLE_TOUCH_EVENTS enabled.
2499
2500 2014-08-22  Simon Fraser  <simon.fraser@apple.com>
2501
2502         Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
2503         https://bugs.webkit.org/show_bug.cgi?id=136136
2504
2505         Reviewed by Sam Weinig, Joseph Pecoraro.
2506
2507         Allow InspectorClient to have a custom implementation of showPaintRect(). For
2508         WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
2509         which are parented in a document overlay, with 0.25s fade-out animations.
2510         
2511         Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
2512         it makes no sense to paint the paint rects directly into the context of the web page.
2513         Now that the paint rects are painted into an overlay, the rectangles need to be converted
2514         to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().
2515         
2516         Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
2517         be reimplemented in a later patch.
2518
2519         * WebCore.exp.in:
2520         * inspector/InspectorClient.h:
2521         (WebCore::InspectorClient::showPaintRect):
2522         * inspector/InspectorInstrumentation.cpp:
2523         (WebCore::InspectorInstrumentation::didPaintImpl):
2524         * inspector/InspectorInstrumentation.h:
2525         (WebCore::InspectorInstrumentation::didPaint):
2526         * inspector/InspectorPageAgent.cpp:
2527         (WebCore::InspectorPageAgent::didPaint):
2528         * inspector/InspectorPageAgent.h:
2529         * page/FrameView.cpp:
2530         (WebCore::FrameView::didPaintContents):
2531         * rendering/RenderLayerBacking.cpp:
2532         (WebCore::RenderLayerBacking::paintContents):
2533
2534 2014-08-22  Commit Queue  <commit-queue@webkit.org>
2535
2536         Unreviewed, rolling out r172844.
2537         https://bugs.webkit.org/show_bug.cgi?id=136164
2538
2539         re-applying WEBCORE_EXPORTS patch (Requested by
2540         alexchristensen on #webkit).
2541
2542         Reverted changeset:
2543
2544         "Revert r172831, it broke the Windows build."
2545         http://trac.webkit.org/changeset/172844
2546
2547 2014-08-21  David Hyatt  <hyatt@apple.com>
2548
2549         Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
2550         https://bugs.webkit.org/show_bug.cgi?id=136137
2551         <rdar://problem/12567545>
2552
2553         Reviewed by Sam Weinig.
2554
2555         Added fast/ruby/bopomofo.html and fast/ruby/bopomofo-rl.html.
2556
2557         * css/CSSParser.cpp:
2558         (WebCore::isValidKeywordPropertyAndValue):
2559         * css/CSSPrimitiveValueMappings.h:
2560         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2561         (WebCore::CSSPrimitiveValue::operator RubyPosition):
2562         * css/CSSPropertyNames.in:
2563         * css/CSSValueKeywords.in:
2564         Add support for the new inter-character value for ruby-position and also
2565         add support for a new font-size keyword, -webkit-ruby-text, that is used
2566         to set a smart initial font size based off the type of ruby being presented.
2567
2568         * css/DeprecatedStyleBuilder.cpp:
2569         (WebCore::ApplyPropertyFontSize::determineRubyTextSizeMultiplier):
2570         (WebCore::ApplyPropertyFontSize::applyValue):
2571         Determine the Ruby text size multiplier when -webkit-ruby-text is specified
2572         as the font size. For ruby-position of before/after, we use 50% of the parent
2573         font size. For inter-character ruby, we default to 25% instead. If inter-character
2574         Ruby is nested, we assume it's to display tone marks, and we use 100% to ensure
2575         the tone mark is the same size and does not get smaller.
2576
2577         * css/StyleResolver.cpp:
2578         (WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
2579         (WebCore::StyleResolver::applyMatchedProperties):
2580         * css/StyleResolver.h:
2581         ruby-position is now the highest priority CSS property, and it is resolved
2582         before all other properties to ensure that its value can be checked when
2583         determining a smart default font size. adjustStyleForInterCharacterRuby is a new
2584         function called to auto-adjust inter-character ruby text to be vertical writing mode when
2585         encountered inside horizontal documents.
2586
2587         * css/html.css:
2588         (ruby > rt):
2589         Change the font-size from 50% to -webkit-ruby-text to allow us to customize it as
2590         needed depending on what kind of Ruby we want to show.
2591
2592         * rendering/RenderRubyRun.cpp:
2593         (WebCore::RenderRubyRun::layout):
2594         * rendering/RenderRubyRun.h:
2595         Add layout code to properly position vertical ruby text relative to a horizontal base.
2596
2597         * rendering/style/RenderStyleConstants.h:
2598         Add the new inter-character constant for ruby-position.
2599
2600         * rendering/style/StyleRareInheritedData.h:
2601         Increase the number of storage bits for RubyPosition from 1 to 2 now that we support 3 values.
2602
2603 2014-08-22  Jon Lee  <jonlee@apple.com>
2604
2605         Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
2606         https://bugs.webkit.org/show_bug.cgi?id=136157
2607
2608         Reviewed by Simon Fraser.
2609
2610         * Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
2611
2612 2014-08-22  Iago Toral  <itoral@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
2613
2614         [GTK] Add the Wayland protocol extension
2615         https://bugs.webkit.org/show_bug.cgi?id=136102
2616
2617         Reviewed by Martin Robinson.
2618
2619         Add the Wayland protocol extension that allows mapping GtkWidget
2620         objects (via an ID that's unique to that GtkWidget) to the
2621         corresponding Wayland surface objects. This way the nested
2622         compositor has the proper information about what GtkWidget has
2623         to be updated when surfaces are committed by the LayerTreeHost.
2624
2625         * PlatformGTK.cmake:
2626         * platform/graphics/wayland: Added.
2627         * platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.
2628
2629 2014-08-21  Antti Koivisto  <antti@apple.com>
2630
2631         Animated GIFs scrolled out of view still cause titlebar blur to update, on tumblr.com page
2632         https://bugs.webkit.org/show_bug.cgi?id=136139
2633
2634         Reviewed by Simon Fraser.
2635
2636         The mechanism for pausing GIF images outside the viewport did not work for subframes.
2637
2638         Test: fast/repaint/no-animation-outside-viewport-subframe.html
2639
2640         * WebCore.exp.in:
2641         * page/FrameView.cpp:
2642         (WebCore::FrameView::scrollPositionChanged):
2643         (WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):
2644
2645             Add a function for resuming animations as needed in all subframes.
2646             This is used after scrolling instead of calling the RenderView function directly.
2647
2648         * page/FrameView.h:
2649         * page/Page.cpp:
2650         (WebCore::Page::resumeAnimatingImages):
2651         * rendering/RenderElement.cpp:
2652         (WebCore::RenderElement::newImageAnimationFrameAvailable):
2653
2654             Determine the overall visible rect so that it is correct in subframes too.
2655
2656         * rendering/RenderLayer.cpp:
2657         (WebCore::RenderLayer::scrollTo):
2658         * rendering/RenderView.cpp:
2659         (WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
2660
2661 2014-08-21  Alex Christensen  <achristensen@webkit.org>
2662
2663         More WEBCORE_EXPORT macros!
2664         https://bugs.webkit.org/show_bug.cgi?id=136146
2665
2666         Reviewed by Benjamin Poulain.
2667
2668         * Modules/geolocation/GeolocationClient.h:
2669         * Modules/mediastream/UserMediaClient.h:
2670         * Modules/mediastream/UserMediaRequest.h:
2671         * Modules/notifications/NotificationClient.h:
2672         * Modules/speech/SpeechSynthesis.h:
2673         * bindings/generic/RuntimeEnabledFeatures.h:
2674         * bindings/js/DOMWrapperWorld.h:
2675         * bindings/js/GCController.h:
2676         * bindings/js/IDBBindingUtilities.h:
2677         * bindings/js/JSDOMBinding.h:
2678         * bindings/js/JSNodeCustom.h:
2679         * bindings/js/JSNodeListCustom.h:
2680         * bindings/js/JSPluginElementFunctions.h:
2681         * bindings/js/ScriptController.h:
2682         * bindings/js/SerializedScriptValue.h:
2683         * crypto/SerializedCryptoKeyWrap.h:
2684         * css/LengthFunctions.h:
2685         * css/StyleProperties.h:
2686         * css/StyleSheetContents.h:
2687         * dom/DeviceOrientationClient.h:
2688         * dom/Range.h:
2689         * dom/ScriptExecutionContext.h:
2690         * dom/StyledElement.h:
2691         * dom/TreeScope.h:
2692         * dom/UIEventWithKeyState.h:
2693         * dom/UserGestureIndicator.h:
2694         * dom/UserTypingGestureIndicator.h:
2695         * dom/ViewportArguments.h:
2696         * editing/SmartReplace.h:
2697         * editing/TextIterator.h:
2698         * editing/VisiblePosition.h:
2699         * editing/VisibleSelection.h:
2700         * editing/VisibleUnits.h:
2701         * editing/cocoa/HTMLConverter.h:
2702         * editing/htmlediting.h:
2703         * editing/mac/TextAlternativeWithRange.h:
2704         * editing/mac/TextUndoInsertionMarkupMac.h:
2705         * editing/markup.h:
2706         * history/HistoryItem.cpp:
2707         * history/PageCache.h:
2708         * html/TimeRanges.h:
2709         * html/parser/HTMLParserIdioms.h:
2710         * inspector/InstrumentingAgents.h:
2711         * loader/FrameLoader.h:
2712         * loader/ResourceBuffer.h:
2713         * loader/ResourceLoadScheduler.h:
2714         * loader/ResourceLoader.h:
2715         (WebCore::ResourceLoader::originalRequest):
2716         * loader/SubframeLoader.h:
2717         * loader/SubresourceLoader.h:
2718         * loader/TextResourceDecoder.h:
2719         * loader/appcache/ApplicationCacheStorage.h:
2720         * loader/cache/MemoryCache.h:
2721         * loader/icon/IconDatabaseBase.h:
2722         * loader/ios/DiskImageCacheIOS.h:
2723         * page/Chrome.h:
2724         * page/SecurityOrigin.h:
2725         * page/SecurityPolicy.h:
2726         * page/Settings.h:
2727         * page/UserContentController.h:
2728         * page/UserContentURLPattern.h:
2729         * page/UserMessageHandlerDescriptor.h:
2730         * page/ViewportConfiguration.h:
2731         * page/VisitedLinkStore.h:
2732         * page/WheelEventDeltaTracker.h:
2733         * page/cocoa/UserAgent.h:
2734         * page/scrolling/ScrollingConstraints.h:
2735         * page/scrolling/ScrollingCoordinator.h:
2736         * page/scrolling/ScrollingStateFixedNode.h:
2737         * page/scrolling/ScrollingStateFrameScrollingNode.h:
2738         * page/scrolling/ScrollingStateNode.h:
2739         * page/scrolling/ScrollingStateOverflowScrollingNode.h:
2740         * page/scrolling/ScrollingStateScrollingNode.h:
2741         * page/scrolling/ScrollingStateStickyNode.h:
2742         * page/scrolling/ScrollingStateTree.h:
2743         * page/scrolling/ScrollingThread.h:
2744         * page/scrolling/ScrollingTree.h:
2745         * page/scrolling/ScrollingTreeOverflowScrollingNode.h:
2746         * page/scrolling/ScrollingTreeScrollingNode.h:
2747         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
2748         * page/scrolling/mac/ScrollingTreeFixedNode.h:
2749         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
2750         * page/scrolling/mac/ScrollingTreeStickyNode.h:
2751         * platform/Cursor.h:
2752         * platform/DragImage.h:
2753         * platform/FileSystem.h:
2754         * platform/Language.h:
2755         * platform/LinkHash.h:
2756         * platform/LocalizedStrings.h:
2757         * platform/Logging.h:
2758         * platform/MemoryPressureHandler.h:
2759         * platform/NotImplemented.h:
2760         * platform/PlatformStrategies.h:
2761         * platform/PublicSuffix.h:
2762         * platform/RuntimeApplicationChecks.h:
2763         * platform/RuntimeApplicationChecksIOS.h:
2764         * platform/SchemeRegistry.h:
2765         * platform/ScrollView.h:
2766         * platform/ScrollableArea.h:
2767         * platform/Scrollbar.h:
2768         * platform/ScrollbarTheme.h:
2769         * platform/SharedBuffer.h:
2770         * platform/ThreadCheck.h:
2771         * platform/ThreadGlobalData.h:
2772         * platform/Timer.h:
2773         * platform/URL.h:
2774         * platform/UUID.h:
2775         * platform/UserActivity.h:
2776         * platform/Widget.h:
2777         * platform/cf/CFURLExtras.h:
2778         * platform/cf/RunLoopObserver.h:
2779         * platform/cocoa/SystemVersion.h:
2780         * platform/graphics/Color.h:
2781         * platform/graphics/FloatRect.h:
2782         * platform/graphics/FontCache.h:
2783         * platform/graphics/GeometryUtilities.h:
2784         * platform/graphics/GraphicsContext.h:
2785         * platform/graphics/IntRect.h:
2786         * platform/graphics/LayoutRect.h:
2787         * platform/graphics/StringTruncator.h:
2788         * platform/graphics/TextRun.h:
2789         * platform/graphics/ca/TileController.h:
2790         * platform/graphics/ca/mac/PlatformCAAnimationMac.h:
2791         * platform/graphics/cg/GraphicsContextCG.h:
2792         * platform/graphics/mac/ColorMac.h:
2793         * platform/graphics/transforms/TransformationMatrix.h:
2794         * platform/ios/FileSystemIOS.h:
2795         * platform/ios/PlatformEventFactoryIOS.h:
2796         * platform/ios/SelectionRect.h:
2797         * platform/ios/SystemMemory.h:
2798         * platform/ios/TileControllerMemoryHandlerIOS.h:
2799         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
2800         * platform/mac/PlatformEventFactoryMac.h:
2801         * platform/mac/ScrollbarThemeMac.h:
2802         * platform/mac/WebCoreNSURLExtras.h:
2803         * platform/mac/WebNSAttributedStringExtras.h:
2804         * platform/network/BlobRegistry.h:
2805         * platform/network/CookieStorage.h:
2806         * platform/network/DNS.h:
2807         * platform/network/NetworkStateNotifier.h:
2808         * platform/network/PlatformCookieJar.h:
2809         * platform/network/ProxyServer.h:
2810         * platform/network/ResourceErrorBase.h:
2811         * platform/network/ResourceHandle.h:
2812         * platform/network/ResourceHandleClient.h:
2813         * platform/network/ResourceRequestBase.h:
2814         * platform/network/ResourceResponseBase.h:
2815         * platform/network/SynchronousLoaderClient.h:
2816         * platform/network/cf/ResourceError.h:
2817         * platform/network/cf/ResourceRequest.h:
2818         * platform/network/cf/ResourceResponse.h:
2819         * platform/network/ios/QuickLook.h:
2820         * platform/network/mac/AuthenticationMac.h:
2821         * platform/sql/SQLiteDatabase.cpp:
2822         * platform/text/LocaleToScriptMapping.h:
2823         * platform/text/TextBreakIterator.h:
2824         * platform/text/TextEncoding.h:
2825         (WebCore::TextEncoding::decode):
2826         * platform/text/TextEncodingRegistry.h:
2827         * platform/text/TextStream.h:
2828         * rendering/RenderBlock.h:
2829         * rendering/RenderBox.h:
2830         * rendering/RenderEmbeddedObject.h:
2831         * rendering/RenderLayer.h:
2832         * rendering/RenderLayerBacking.h:
2833         * rendering/RenderLayerCompositor.h:
2834         * rendering/RenderListItem.h:
2835         * rendering/RenderObject.h:
2836         * rendering/RenderText.h:
2837         * rendering/RenderTextControl.h:
2838         * rendering/RenderThemeIOS.h:
2839         * rendering/RenderTreeAsText.h:
2840         * rendering/RenderView.h:
2841         * rendering/RenderWidget.h:
2842         * rendering/ScrollBehavior.cpp:
2843         * rendering/break_lines.cpp:
2844         * rendering/style/RenderStyle.h:
2845         * replay/UserInputBridge.h:
2846         * storage/StorageEventDispatcher.h:
2847         * storage/StorageMap.h:
2848         * storage/StorageStrategy.h:
2849         * storage/StorageTracker.h:
2850         * testing/Internals.h:
2851         * workers/WorkerThread.h:
2852         Added more WEBCORE_EXPORT macros where needed.
2853
2854 2014-08-21  Tim Horton  <timothy_horton@apple.com>
2855
2856         Revert r172831, it broke the Windows build.
2857
2858 2014-08-21  Ryuan Choi  <ryuan.choi@samsung.com>
2859
2860         Unreviewed build fix when RUBBER_BANDING is not enabled.
2861
2862         * rendering/RenderLayer.cpp:
2863         (WebCore::RenderLayer::overhangAmount):
2864         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2865         (WebCore::RenderLayer::setHasVerticalScrollbar):
2866
2867 2014-08-21  Brent Fulgham  <bfulgham@apple.com>
2868
2869         [Win] WebCore.proj is not copying WebKit resource files.
2870         https://bugs.webkit.org/show_bug.cgi?id=136142
2871         <rdar://problem/17733682>
2872
2873         Reviewed by Tim Horton.
2874
2875         * WebCore.vcxproj/WebCore.proj: Copy missing resource files during
2876         post-build step.
2877
2878 2014-08-21  Simon Fraser  <simon.fraser@apple.com>
2879
2880         Try to fix the 32-bit build by using wildcards in the exported non-virtual thunks
2881         for GraphicsLayerCA::platformCALayerAnimationStarted and GraphicsLayerCA::platformCALayerAnimationEnded.
2882
2883         * WebCore.exp.in:
2884
2885 2014-08-21  Simon Fraser  <simon.fraser@apple.com>
2886
2887         Add animationDidEnd callbacks on GraphicsLayer
2888         https://bugs.webkit.org/show_bug.cgi?id=136084
2889
2890         Reviewed by Tim Horton.
2891
2892         Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
2893         can add animations, and know when they finish.
2894
2895         * WebCore.exp.in:
2896         * platform/graphics/GraphicsLayerClient.h:
2897         (WebCore::GraphicsLayerClient::notifyAnimationStarted):
2898         (WebCore::GraphicsLayerClient::notifyAnimationEnded):
2899         * platform/graphics/ca/GraphicsLayerCA.cpp:
2900         (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
2901         (WebCore::GraphicsLayerCA::platformCALayerAnimationEnded):
2902         * platform/graphics/ca/GraphicsLayerCA.h:
2903         * platform/graphics/ca/PlatformCALayer.h:
2904         * platform/graphics/ca/PlatformCALayerClient.h:
2905         (WebCore::PlatformCALayerClient::platformCALayerAnimationStarted):
2906         (WebCore::PlatformCALayerClient::platformCALayerAnimationEnded):
2907         * platform/graphics/ca/mac/PlatformCALayerMac.h:
2908         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2909         (-[WebAnimationDelegate animationDidStart:]):
2910         (-[WebAnimationDelegate animationDidStop:finished:]):
2911         (PlatformCALayerMac::animationStarted):
2912         (PlatformCALayerMac::animationEnded):
2913         * rendering/RenderLayerBacking.cpp:
2914         (WebCore::RenderLayerBacking::notifyAnimationStarted):
2915         * rendering/RenderLayerBacking.h:
2916
2917 2014-08-21  Zalan Bujtas  <zalan@apple.com>
2918
2919         Enable SATURATED_LAYOUT_ARITHMETIC.
2920         https://bugs.webkit.org/show_bug.cgi?id=136106
2921
2922         Reviewed by Simon Fraser.
2923
2924         SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
2925         (No measurable performance regression on Mac.)
2926
2927         Test: fast/dynamic/saturated-layout-arithmetic.html
2928
2929         * Configurations/FeatureDefines.xcconfig:
2930
2931 2014-08-21  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
2932
2933         New ruby parsing rule breaks some real web sites.
2934         https://bugs.webkit.org/show_bug.cgi?id=136062
2935
2936         Reviewed by Ryosuke Niwa.
2937
2938         An RP element should not auto close an RTC element.
2939
2940         The HTML5.1 spec was changed:
2941         http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inbody
2942         This was done at the following commit:
2943         https://github.com/w3c/html/commit/c61397b989b28235ee2228f280aa8d475f3b9ebf
2944
2945         This patch changed the RP element's behavior to follow the spec change.
2946
2947         Test: fast/ruby/rp-inside-rtc.html
2948
2949         * html/parser/HTMLTreeBuilder.cpp:
2950         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2951
2952 2014-08-21  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
2953
2954         REGRESSION: CSS not() selector does not work when it appears after or within @supports
2955         https://bugs.webkit.org/show_bug.cgi?id=136063
2956
2957         Reviewed by Darin Adler.
2958
2959         CSSParser changes its m_parsingMode to SupportsMode when it finds
2960         "@supports" token. However, the mode will be never changed to
2961         NormalMode. This changes parsing algorithm for "not" token forever,
2962         and it cannot parse not pseudo class selector.
2963
2964         When we finish parsing @supports rule, we should change to normal
2965         mode.
2966
2967         @media does the same thing. This patch changed CharacterEndMediaQuery
2968         to CharacterEndConditionQuery, and we change parsing mode from
2969         SupportsMode to NormalMode when the parser finished to parse
2970         @supports rule.
2971
2972         Like "@-webkit-mediaquery", we cannot use '{' to
2973         "@-webkit-supports-condition". Changed "@-webkit-supports-condition"
2974         parsing rule and parseSupportsCondition() not to use '{'.
2975
2976         Tests: css3/supports-not-selector-cssom.html
2977                css3/supports-not-selector.html
2978
2979         * css/CSSGrammar.y.in:
2980         * css/CSSParser.cpp:
2981         (WebCore::CSSParser::parseSupportsCondition):
2982         (WebCore::isCSSLetter):
2983         (WebCore::CSSParser::realLex):
2984
2985 2014-08-21  Beth Dakin  <bdakin@apple.com>
2986
2987         overflow:scroll elements should support rubber-banding
2988         https://bugs.webkit.org/show_bug.cgi?id=91655
2989
2990         Reviewed by Sam Weinig and Darin Adler.
2991
2992         This patch enables rubber-banding in overflow regions and it keeps latching 
2993         working as currently implemented.
2994
2995         We cannot return early here if there is no scroll delta. There won't be a scroll
2996         delta in most cases during event.phase() == PlatformWheelEventPhaseEnded, but that 
2997         phase is required to be processed in order for rubber-banding to work properly. 
2998         * dom/Element.cpp:
2999         (WebCore::Element::dispatchWheelEvent):
3000         * page/EventHandler.cpp:
3001         (WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis):
3002
3003         Add a setting for this, which will default to true. This allows us to disable the 
3004         feature in WebKit1 for now. There is a bug about making it work.
3005         * page/Settings.in:
3006
3007         allowsHorizontalStretching() and allowsVerticalStretching() now take the 
3008         PlatformWheelEvent as a parameter, so that ScrollElasticityAutomatic can use the 
3009         event to decide whether or not stretching should be allowed in this case. 
3010         ScrollElasticityAutomatic will not allow stretching if it is a brand new gesture 
3011         that would result in a rubber-band. We don't want to rubber-band in that case
3012         because we want the event to propagate up to a parent view. Also added some helper 
3013         functions just to make that code easier to read.
3014         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
3015         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
3016         (WebCore::newGestureIsStarting):
3017         (WebCore::ScrollingTreeFrameScrollingNodeMac::isAlreadyPinnedInDirectionOfGesture):
3018         (WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
3019         (WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):
3020         * platform/mac/ScrollAnimatorMac.h:
3021         * platform/mac/ScrollAnimatorMac.mm:
3022         (WebCore::ScrollAnimatorMac::handleWheelEvent):
3023         (WebCore::newGestureIsStarting):
3024         (WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
3025         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
3026         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
3027         * platform/mac/ScrollElasticityController.h:
3028         * platform/mac/ScrollElasticityController.mm:
3029         (WebCore::ScrollElasticityController::handleWheelEvent):
3030
3031         To opt into rubber-banding, all we have to do is implement overhangAmount and set 
3032         scroll elasticity. We'll choose ScrollElasticityAutomatic which means that we'll
3033         only rubber-band in directions that can scroll and that we won't rubber-band for
3034         new gestures when we're already pinned to the edge.
3035         * rendering/RenderLayer.cpp:
3036         (WebCore::RenderLayer::overhangAmount):
3037         (WebCore::RenderLayer::setHasHorizontalScrollbar):
3038         (WebCore::RenderLayer::setHasVerticalScrollbar):
3039
3040 2014-08-21  Alex Christensen  <achristensen@webkit.org>
3041
3042         More WEBCORE_EXPORT macros.
3043         https://bugs.webkit.org/show_bug.cgi?id=136129
3044
3045         Reviewed by Tim Horton.
3046
3047         * Modules/geolocation/Geolocation.h:
3048         * Modules/geolocation/GeolocationController.h:
3049         * Modules/indexeddb/IDBDatabaseBackend.h:
3050         * Modules/indexeddb/IDBDatabaseMetadata.h:
3051         * Modules/indexeddb/IDBKey.h:
3052         * Modules/indexeddb/IDBKeyData.h:
3053         * Modules/indexeddb/IDBKeyPath.h:
3054         * Modules/indexeddb/IDBKeyRange.h:
3055         * Modules/indexeddb/IDBKeyRangeData.h:
3056         * Modules/notifications/Notification.h:
3057         * Modules/notifications/NotificationController.h:
3058         * bindings/js/GCController.h:
3059         * bridge/IdentifierRep.h:
3060         * css/StyleProperties.h:
3061         * dom/ExceptionCodePlaceholder.h:
3062         * dom/KeyboardEvent.h:
3063         * dom/MouseEvent.h:
3064         * dom/MouseRelatedEvent.h:
3065         * dom/Node.h:
3066         (WebCore::Node::hasEditableStyle):
3067         * dom/NodeTraversal.h:
3068         * dom/Position.h:
3069         (WebCore::Position::Position):
3070         * dom/Range.h:
3071         (WebCore::Range::startContainer):
3072         (WebCore::Range::startOffset):
3073         (WebCore::Range::endContainer):
3074         (WebCore::Range::endOffset):
3075         * editing/FrameSelection.h:
3076         (WebCore::DragCaretController::clear):
3077         * history/HistoryItem.h:
3078         * history/PageCache.h:
3079         * html/FormController.h:
3080         * html/HTMLElement.h:
3081         * html/HTMLFormElement.h:
3082         * html/HTMLFrameOwnerElement.h:
3083         * html/HTMLInputElement.h:
3084         * html/HTMLMediaElement.h:
3085         * html/HTMLOptGroupElement.h:
3086         * html/HTMLOptionElement.h:
3087         * html/HTMLPlugInElement.h:
3088         * html/HTMLPlugInImageElement.h:
3089         * html/HTMLSelectElement.h:
3090         * html/HTMLTableCellElement.h:
3091         * html/HTMLTextAreaElement.h:
3092         * html/HTMLTextFormControlElement.h:
3093         * html/HTMLVideoElement.h:
3094         * html/ImageDocument.h:
3095         * html/PluginDocument.h:
3096         * html/forms/FileIconLoader.h:
3097         * html/shadow/InsertionPoint.h:
3098         * inspector/InspectorClient.h:
3099         * inspector/InspectorController.h:
3100         * inspector/InspectorFrontendClientLocal.h:
3101         * inspector/InspectorInstrumentation.h:
3102         * loader/FrameLoadRequest.h:
3103         * loader/FrameLoader.h:
3104         * loader/FrameLoaderStateMachine.h:
3105         * loader/HistoryController.h:
3106         * loader/LoaderStrategy.h:
3107         * loader/NavigationAction.h:
3108         * loader/NetscapePlugInStreamLoader.h:
3109         * loader/ProgressTracker.h:
3110         * loader/archive/cf/LegacyWebArchive.h:
3111         * loader/cache/MemoryCache.h:
3112         * loader/icon/IconController.h:
3113         * loader/icon/IconDatabase.h:
3114         * loader/icon/IconDatabaseBase.h:
3115         * page/FocusController.h:
3116         * page/Frame.h:
3117         * page/FrameDestructionObserver.h:
3118         Replaced WEBCORE_TESTING with WEBCORE_EXPORT.
3119         * page/FrameTree.h:
3120         * page/FrameView.h:
3121         * page/Page.h:
3122         * page/PageConsole.h:
3123         * page/PageGroup.h:
3124         * page/PageThrottler.h:
3125         * page/PrintContext.h:
3126         * page/scrolling/ScrollingConstraints.h:
3127         * page/scrolling/ScrollingStateNode.h:
3128         * platform/FileChooser.h:
3129         * platform/GamepadProvider.h:
3130         * platform/Length.h:
3131         * platform/MIMETypeRegistry.h:
3132         * platform/MemoryPressureHandler.h:
3133         * platform/Pasteboard.h:
3134         * platform/PlatformExportMacros.h:
3135         Removed WEBCORE_TESTING, which I'm replacing with WEBCORE_EXPORT.
3136         * platform/PlatformKeyboardEvent.h:
3137         * platform/PlatformPasteboard.h:
3138         * platform/PlatformSpeechSynthesisVoice.h:
3139         * platform/PlatformSpeechSynthesizer.h:
3140         * platform/audio/MediaSessionManager.h:
3141         * platform/graphics/FloatPoint.h:
3142         * platform/graphics/FloatQuad.h:
3143         * platform/graphics/FloatRect.h:
3144         * platform/graphics/FloatSize.h:
3145         * platform/graphics/Font.h:
3146         * platform/graphics/FontCache.h:
3147         * platform/graphics/FontGlyphs.h:
3148         * platform/graphics/FontPlatformData.h:
3149         * platform/graphics/GlyphPageTreeNode.h:
3150         * platform/graphics/Gradient.h:
3151         * platform/graphics/GraphicsContext.h:
3152         * platform/graphics/GraphicsLayer.h:
3153         * platform/graphics/Icon.h:
3154         * platform/graphics/Image.h:
3155         * platform/graphics/ImageBuffer.h:
3156         * platform/graphics/IntPoint.h:
3157         * platform/graphics/IntRect.h:
3158         * platform/graphics/IntSize.h:
3159         * platform/graphics/LayoutRect.h:
3160         * platform/graphics/MediaPlayer.h:
3161         * platform/graphics/Path.h:
3162         * platform/graphics/Region.h:
3163         * platform/graphics/ca/GraphicsLayerCA.h:
3164         * platform/graphics/ca/LayerFlushScheduler.h:
3165         * platform/graphics/ca/LayerPool.h:
3166         * platform/graphics/ca/PlatformCAFilters.h:
3167         * platform/graphics/ca/PlatformCALayer.h:
3168         * platform/graphics/ca/mac/PlatformCAAnimationMac.h:
3169         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3170         * platform/graphics/cg/IOSurfacePool.h:
3171         * platform/graphics/cocoa/IOSurface.h:
3172         * platform/graphics/filters/FilterOperations.h:
3173         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3174         * platform/ios/LegacyTileCache.h:
3175         * platform/ios/PlatformEventFactoryIOS.h:
3176         * platform/ios/wak/FloatingPointEnvironment.h:
3177         * platform/mac/HIDGamepadProvider.h:
3178         * platform/mock/MockMediaStreamCenter.h:
3179         * platform/network/FormData.h:
3180         * platform/network/HTTPHeaderMap.h:
3181         * platform/network/NetworkStorageSession.h:
3182         * platform/network/ProtectionSpaceBase.h:
3183         * platform/network/cocoa/ProtectionSpaceCocoa.h:
3184         (WebCore::ProtectionSpace::encodingRequiresPlatformData):
3185         * platform/network/ios/QuickLook.h:
3186         * platform/text/TextBreakIterator.h:
3187         * plugins/PluginData.h:
3188         * plugins/PluginMainThreadScheduler.h:
3189         * rendering/HitTestLocation.h:
3190         * rendering/HitTestResult.h:
3191         * rendering/InlineBox.h:
3192         Added more WEBCORE_EXPORT macros, which don't do anything yet.
3193
3194 2014-08-21  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
3195
3196         [GTK] WebkitWebProcess crashing navigating away from ogg video element
3197         https://bugs.webkit.org/show_bug.cgi?id=135348
3198
3199         Reviewed by Philippe Normand.
3200
3201         Let GraphicsLayerTextureMapper know it needs to detach the platform
3202         layer when a MediaPlayerPrivateGStreamerBase is destroyed.
3203
3204         No new test since media/restore-from-page-cache.html covers it.
3205
3206         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3207         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
3208
3209 2014-08-20  Benjamin Poulain  <benjamin@webkit.org>
3210
3211         CSS: Implement the :placeholder-shown pseudo-class from Selectors Level 4
3212         https://bugs.webkit.org/show_bug.cgi?id=118162
3213
3214         Reviewed by Antti Koivisto.
3215
3216         Previously, HTMLTextFormControlElement was using some mix of its own state
3217         and style to change the visibility of the placeholder. That approach was a little
3218         bit too fragile, and we do not want the style to depends on the renderer() since
3219         that creates circular dependencies.
3220
3221         The biggest change here is refactoring HTMLTextFormControlElement to have
3222         1) An explicit "visible placeholder" state.
3223         2) Separate the textUpdate() from the visibilityUpdate().
3224         3) Remove the dependencies between the Element's style and the placeholder's style.
3225            This is done by simply using display:none; on the placeholder so that its parent's visibility
3226            is irrelevant.
3227
3228         When matching the selector, the style is set as unique since style sharing does not deal with
3229         the changes of HTMLTextFormControlElement.
3230
3231         Tests: fast/css/placeholder-shown-basics.html
3232                fast/selectors/placeholder-shown-long-adjacent-backtracking.html
3233                fast/selectors/placeholder-shown-sibling-style-update.html
3234                fast/selectors/placeholder-shown-style-update.html
3235                fast/selectors/placeholder-shown-with-input-basics.html
3236                fast/selectors/placeholder-shown-with-textarea-basics.html
3237
3238         * css/CSSSelector.cpp:
3239         (WebCore::CSSSelector::selectorText):
3240         Add the CSS Selector description for CSSOM.
3241
3242         * css/CSSSelector.h:
3243         * css/SelectorChecker.cpp:
3244         (WebCore::SelectorChecker::checkOne):
3245         * css/SelectorCheckerTestFunctions.h:
3246         (WebCore::isPlaceholderShown):
3247         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
3248         * css/html.css:
3249         (::-webkit-input-placeholder):
3250         Previously, the display was forced through the UA stylesheet. Since the display is now part
3251         of the placeholder visibility, it is explicitly handled by HTMLTextFormControlElement and
3252         its subclasses.
3253
3254         * cssjit/SelectorCompiler.cpp:
3255         (WebCore::SelectorCompiler::addPseudoClassType):
3256         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
3257         (WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown):
3258         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
3259         * html/HTMLInputElement.cpp:
3260         (WebCore::HTMLInputElement::parseAttribute):
3261         * html/HTMLTextAreaElement.cpp:
3262         (WebCore::HTMLTextAreaElement::updateValue):
3263         (WebCore::HTMLTextAreaElement::setValueCommon):
3264         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
3265         * html/HTMLTextFormControlElement.cpp:
3266         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
3267         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
3268         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
3269         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
3270         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
3271         (WebCore::HTMLTextFormControlElement::selectionDirection):
3272         (WebCore::HTMLTextFormControlElement::restoreCachedSelection):
3273         (WebCore::HTMLTextFormControlElement::parseAttribute):
3274         (WebCore::HTMLTextFormControlElement::hidePlaceholder):
3275         (WebCore::HTMLTextFormControlElement::showPlaceholderIfNecessary):
3276         * html/HTMLTextFormControlElement.h:
3277         (WebCore::HTMLTextFormControlElement::isPlaceholderVisible):
3278         (WebCore::HTMLTextFormControlElement::cachedSelectionDirection):
3279         * html/TextFieldInputType.cpp:
3280         (WebCore::TextFieldInputType::updatePlaceholderText):
3281         (WebCore::TextFieldInputType::subtreeHasChanged):
3282         (WebCore::TextFieldInputType::updateInnerTextValue):
3283         * rendering/RenderTextControl.cpp:
3284         (WebCore::RenderTextControl::styleDidChange):
3285         * testing/Internals.cpp:
3286         (WebCore::Internals::visiblePlaceholder):
3287
3288 2014-08-20  Mark Rowe  <mrowe@apple.com>
3289
3290         Fix the release build after r172806.
3291
3292         * Modules/mediasource/SourceBuffer.cpp:
3293         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Add a missing semicolon.
3294
3295 2014-08-20  Benjamin Poulain  <bpoulain@apple.com>
3296
3297         Remove HTMLInputElement's suggestedValue
3298         https://bugs.webkit.org/show_bug.cgi?id=136094
3299
3300         Reviewed by Darin Adler.
3301
3302         That code is Chrome specific. It is unused now.
3303
3304         * WebCore.exp.in:
3305         * html/HTMLInputElement.cpp:
3306         (WebCore::HTMLInputElement::setValue):
3307         (WebCore::HTMLInputElement::setValueFromRenderer):
3308         (WebCore::HTMLInputElement::suggestedValue): Deleted.
3309         (WebCore::HTMLInputElement::setSuggestedValue): Deleted.
3310         * html/HTMLInputElement.h:
3311         * html/HTMLTextFormControlElement.cpp:
3312         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
3313         * html/HTMLTextFormControlElement.h:
3314         (WebCore::HTMLTextFormControlElement::isEmptySuggestedValue): Deleted.
3315         * html/InputType.cpp:
3316         (WebCore::InputType::canSetSuggestedValue): Deleted.
3317         * html/InputType.h:
3318         * html/TextFieldInputType.cpp:
3319         (WebCore::TextFieldInputType::updateInnerTextValue):
3320         (WebCore::TextFieldInputType::canSetSuggestedValue): Deleted.
3321         * html/TextFieldInputType.h:
3322         * testing/Internals.cpp:
3323         (WebCore::Internals::suggestedValue): Deleted.
3324         (WebCore::Internals::setSuggestedValue): Deleted.
3325         * testing/Internals.h:
3326         * testing/Internals.idl:
3327
3328 2014-08-20  Dean Jackson  <dino@apple.com>
3329
3330         WebAudio FFT analysis uses incorrect scaling
3331         https://bugs.webkit.org/show_bug.cgi?id=136120
3332
3333         Reviewed by Tim Horton.
3334
3335         This is a port of Blink r166687 (author rtoy)
3336         https://codereview.chromium.org/156993002
3337
3338         Currently, for a fixed sine-wave input, the peak FFT amplitude changes
3339         depending on the selected FFT size. This is incorrect; the FFT amplitude
3340         should not appreciably change when the FFT size changes.
3341
3342         Layout test added to verify the FFT result stays approximately constant,
3343         independent of the FFT size used.
3344
3345         When this test is run using an older version of WebKit, the peak varies
3346         from about -44 dB (FFT size 32) to -7 dB (FFT size 2048).  With this CL,
3347         the peak is about -7 dB.  (It's not 0 dB because of the Blackman window that is applied.)
3348
3349         Note: this change may break existing applications that depended on this strange scaling effect.
3350
3351         Test: webaudio/realtimeanalyser-fft-scaling.html
3352
3353         * Modules/webaudio/RealtimeAnalyser.cpp:
3354         (WebCore::RealtimeAnalyser::doFFTAnalysis):
3355
3356 2014-08-20  Alex Christensen  <achristensen@webkit.org>
3357
3358         Introducing WEBCORE_EXPORT macro.
3359         https://bugs.webkit.org/show_bug.cgi?id=136108
3360
3361         Reviewed by Antti Koivisto.
3362
3363         This should eventually replace WebCore.exp.in.
3364
3365         * platform/PlatformExportMacros.h:
3366         Define WEBCORE_EXPORT to nothing to not cause problems while I'm working on it.
3367         * Modules/encryptedmedia/CDM.h:
3368         * Modules/speech/DOMWindowSpeechSynthesis.h:
3369         * Modules/webdatabase/DatabaseManager.h:
3370         * Modules/webdatabase/DatabaseTracker.h:
3371         * accessibility/AXObjectCache.h:
3372         * bindings/js/DOMWrapperWorld.h:
3373         * bridge/jsc/BridgeJSC.h:
3374         * bridge/runtime_method.h:
3375         * bridge/runtime_object.h:
3376         * bridge/runtime_root.h:
3377         * css/CSSComputedStyleDeclaration.h:
3378         * css/CSSParserMode.h:
3379         * css/CSSValue.h:
3380         * css/DOMWindowCSS.h:
3381         * css/StyleSheetContents.h:
3382         * dom/CharacterData.h:
3383         * dom/ClientRect.h:
3384         * dom/ClientRectList.h:
3385         * dom/ContainerNode.h:
3386         * dom/ContextDestructionObserver.h:
3387         * dom/DOMImplementation.h:
3388         * dom/DataTransfer.h:
3389         * dom/DeviceMotionData.h:
3390         * dom/DeviceOrientationData.h:
3391         * dom/Document.h:
3392         (WebCore::Document::setAnnotatedRegionsDirty):
3393         * dom/DocumentMarker.h:
3394         * dom/DocumentMarkerController.h:
3395         * dom/DocumentStyleSheetCollection.h:
3396         * dom/Element.h:
3397         * dom/Event.h:
3398         (WebCore::Event::create):
3399         * dom/EventListenerMap.h:
3400         * editing/DictationAlternative.h:
3401         * editing/EditCommand.h:
3402         * editing/EditingStyle.h:
3403         * editing/Editor.h:
3404         * editing/mac/AlternativeTextUIController.h:
3405         * history/BackForwardController.h:
3406         * history/BackForwardList.h:
3407         * history/CachedFrame.h:
3408         * loader/CookieJar.h:
3409         * loader/CrossOriginPreflightResultCache.h:
3410         * loader/DocumentLoader.h:
3411         * loader/DocumentWriter.h:
3412         * loader/appcache/ApplicationCache.h:
3413         * loader/appcache/ApplicationCacheHost.h:
3414         * loader/appcache/ApplicationCacheStorage.h:
3415         * loader/archive/ArchiveResource.h:
3416         * loader/cache/CachedImage.h:
3417         * loader/cache/CachedResource.h:
3418         * loader/cache/CachedResourceHandle.h:
3419         * loader/cache/CachedResourceLoader.h:
3420         * page/Chrome.h:
3421         * page/ContextMenuController.h:
3422         * page/DOMWindow.h:
3423         * page/DOMWindowExtension.h:
3424         * page/DragController.h:
3425         * page/EventHandler.h:
3426         * page/animation/AnimationController.h:
3427         * page/scrolling/AsyncScrollingCoordinator.h:
3428         * platform/CalculationValue.h:
3429         * platform/ContentFilter.h:
3430         * platform/ContextMenu.h:
3431         * platform/ContextMenuItem.h:
3432         * platform/CrossThreadCopier.h:
3433         * platform/Cursor.h:
3434         * platform/DatabaseStrategy.h:
3435         * platform/DisplaySleepDisabler.h:
3436         * platform/DragData.h:
3437         * platform/LocalizedStrings.h:
3438         * platform/audio/AudioHardwareListener.h:
3439         * platform/audio/AudioSession.h:
3440         * platform/audio/ios/MediaSessionManagerIOS.mm:
3441         * platform/graphics/BitmapImage.h:
3442         * platform/graphics/Color.h:
3443         * platform/graphics/DisplayRefreshMonitor.h:
3444         * platform/graphics/transforms/AffineTransform.h:
3445         * platform/ios/WebCoreSystemInterfaceIOS.mm:
3446         * platform/ios/WebVideoFullscreenModelMediaElement.h: