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