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