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