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