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