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