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