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