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