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