Avoid upconverting strings in various places in WebCore
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-07-13  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Avoid upconverting strings in various places in WebCore
4         https://bugs.webkit.org/show_bug.cgi?id=118632
5
6         Reviewed by Andreas Kling.
7
8         Avoid calling String::characters() in various places since it upconverts 8-bit strings to 16-bit strings.
9
10         Merge
11         https://chromium.googlesource.com/chromium/blink/+/a6162e2ad7c7870e22445d3c463d17e7ac871e80
12         https://chromium.googlesource.com/chromium/blink/+/18095209b3f467758b83894e7b14f813f6953f81
13         https://chromium.googlesource.com/chromium/blink/+/fefcf2b95d55f24c60fd2e95978cf4544f3c92ca
14         https://chromium.googlesource.com/chromium/blink/+/8e0527b0fb33998318aedfd74b3511025f7ff294
15         https://chromium.googlesource.com/chromium/blink/+/feaf798b04597b0849b4000fc305264895d3eac5
16         https://chromium.googlesource.com/chromium/blink/+/bd1a49103a6e07b1023d2c742d8217769efbffb4
17
18         * css/CSSParser.cpp:
19         (WebCore::CSSParser::setupParser):
20         (WebCore::CSSParser::parseImageSet):
21         (WebCore::CSSParser::rewriteSpecifiers):
22         * css/CSSParserValues.h:
23         (WebCore::CSSParserString::init):
24         (WebCore::CSSParserString::clear):
25         * dom/DatasetDOMStringMap.cpp:
26         (WebCore::isValidAttributeName):
27         (WebCore::convertAttributeNameToPropertyName):
28         (WebCore::propertyNameMatchesAttributeName):
29         (WebCore::isValidPropertyName):
30         (WebCore::convertPropertyNameToAttributeName):
31         * dom/Range.cpp:
32         (WebCore::Range::toString):
33         * dom/SecurityContext.cpp:
34         (WebCore::SecurityContext::parseSandboxPolicy):
35         * html/canvas/CanvasRenderingContext2D.cpp:
36         (WebCore::CanvasRenderingContext2D::measureText):
37         * html/track/TextTrackCue.cpp:
38         (WebCore::TextTrackCue::markFutureAndPastNodes):
39
40 2013-07-13  Ryosuke Niwa  <rniwa@webkit.org>
41
42         parseHTMLInteger shouldn't upconvert 8-bit string
43         https://bugs.webkit.org/show_bug.cgi?id=118629
44
45         Reviewed by Sam Weinig.
46
47         Merge https://chromium.googlesource.com/chromium/blink/+/e0ebab23e0c16b49dc90c9c39b8bbbf4f243a01e.
48
49         * html/parser/HTMLParserIdioms.cpp:
50         (WebCore::parseHTMLInteger):
51
52 2013-07-12  Eric Carlson  <eric.carlson@apple.com>
53
54         [iOS] TextTrackRepresentation not cleared when captions are disabled
55         https://bugs.webkit.org/show_bug.cgi?id=118623
56
57         Reviewed by Dean Jackson.
58
59         * html/shadow/MediaControlElements.cpp:
60         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Do not return immediately
61             when captions are disabled so the necessary cleanup happens.
62
63 2013-07-12  Brent Fulgham  <bfulgham@apple.com>
64
65         [Windows] Attempt to satisfy the Open Source Windows bots.
66
67         * DerivedSources.make: Restore the HAVE_AVCF macro detection.
68         * config.h: Return to using HAVE_AVCF to activate AVFoundation code.
69
70 2013-07-12  peavo@outlook.com  <peavo@outlook.com>
71
72         [WinCairo] Compile fix.
73         https://bugs.webkit.org/show_bug.cgi?id=118461
74
75         Reviewed by Brent Fulgham.
76
77         * config.h: Only enable AVFOUNDATION for Windows if CoreGraphics is used.
78
79 2013-07-12  Oleg Beletski  <oleg.beletski@gmail.com>
80
81         [EFL] --minimal build fails while linking libwebcore_efl.so
82         https://bugs.webkit.org/show_bug.cgi?id=118549
83
84         Reviewed by Christophe Dumez.
85
86         * CMakeLists.txt:
87         Moving file plugins/PluginPackage.cpp to ENABLE_NETSCAPE_PLUGIN_API block.
88
89 2013-07-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
90
91         Insufficient viewport repaints when FrameView::paintsEntireContents
92         https://bugs.webkit.org/show_bug.cgi?id=118562
93
94         Reviewed by Simon Fraser.
95
96         When the frameview paints entire content, the visualOverflowRect of RenderView
97         should be the same as the layoutOverflowRect.
98
99         This affects the requested repaints on resize of the frameview.
100
101         * rendering/RenderView.cpp:
102         (WebCore::RenderView::visualOverflowRect):
103         * rendering/RenderView.h:
104
105 2013-07-10  Roger Fong  <roger_fong@apple.com>
106
107         Plugins that don't support snapshotting should not all autostart.
108         https://bugs.webkit.org/show_bug.cgi?id=118572
109         <rdar://problem/14324391>.
110
111         Reviewed by Dean Jackson.
112
113         Test: plugins/snapshotting/quicktime-plugin-snapshotted.html
114
115         * html/HTMLPlugInImageElement.cpp:
116         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Pass in information about whether or not a snapshot exists
117         to the shadow dom.
118         * plugins/PluginViewBase.h:
119         (WebCore::PluginViewBase::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
120         It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
121         * rendering/RenderLayerBacking.cpp:
122         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): We should only add the layer to the tree when the plugin
123         is actually playing. Otherwise we run into an issue where the contents of the layer initially appear on the screen briefly 
124         on page load before we display the substitute for a plugin that doesn't support snapshotting.
125
126 2013-07-11  Dan Bernstein  <mitz@apple.com>
127
128         [mac] No API for getting the page visibility state of a WebView
129         https://bugs.webkit.org/show_bug.cgi?id=118578
130
131         Reviewed by Simon Fraser.
132
133         * WebCore.exp.in: Export WebCore::Page::visibilityState().
134
135 2013-07-11  Mario Sanchez Prada  <mario.prada@samsung.com>
136
137         [GTK] Layout Test accessibility/deleting-iframe-destroys-axcache.html, platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html are failing
138         https://bugs.webkit.org/show_bug.cgi?id=118552
139
140         Reviewed by Chris Fleizach.
141
142         Do not assume always that we have a RenderText renderer when
143         calling to toRenderText(), since we might be executing that part
144         of the code due to have requested to include all the children.
145
146         * accessibility/AccessibilityRenderObject.cpp:
147         (WebCore::AccessibilityRenderObject::textUnderElement): Add
148         missing guard for RenderText, needed after r152537.
149
150 2013-07-11  Andrei Bucur  <abucur@adobe.com>
151
152         [CSS Regions] In a region chain with auto-height regions, lines get their length based only on the first region
153         https://bugs.webkit.org/show_bug.cgi?id=118531
154
155         Reviewed by Alexandru Chiculita.
156
157         When computing the height a flow thread it's possible to overflow the maximum LayoutUnit and obtain a negative value.
158         This leads to invalid results during layout when computing the region range and the RenderBoxRegion info for the
159         descendant boxes of the flow thread.
160     
161         This issue appears especially during the auto-height algorithm because it initializes the auto-height regions
162         height with the LayoutUnit::max() / 2 value. Summing two such regions overflows and results in a negative value.
163
164         The fix clamps the maximum height of the flow thread to LayoutUnit::max() / 2. This doesn't affect the auto-height
165         algorithm because regionAtBlockOffset() will still return the correct values as the auto-height regions content
166         is established and their height updated.
167
168         Tests: fast/regions/autoheight-correct-region-for-lines-2.html
169                fast/regions/autoheight-correct-region-for-lines.html
170
171         * rendering/RenderBlock.cpp:
172         (WebCore::RenderBlock::updateRegionsAndShapesBeforeChildLayout):
173         * rendering/RenderFlowThread.cpp:
174         (WebCore::RenderFlowThread::computeLogicalHeight):
175         (WebCore::RenderFlowThread::setRegionRangeForBox):
176         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
177         * rendering/RenderFlowThread.h:
178         * rendering/RenderRegion.cpp:
179         (WebCore::RenderRegion::maxPageLogicalHeight):
180
181 2013-07-11  Timothy Hatcher  <timothy@apple.com>
182
183         Revert r152267 and soft link WebInspectorUI.framework again.
184
185         https://bugs.webkit.org/show_bug.cgi?id=118544
186
187         Reviewed by David Kilzer.
188
189         * platform/mac/SoftLinking.h: Rename SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL
190         to SOFT_LINK_STAGED_FRAMEWORK and ASSERT since we don't want to silently
191         fail anymore when using this macro.
192
193 2013-07-11  Jae Hyun Park  <jae.park@company100.net>
194
195         [Coordinated Graphics] Parameter of commitSceneState should be const
196         https://bugs.webkit.org/show_bug.cgi?id=118564
197
198         Reviewed by Noam Rosenthal.
199
200         Parameter of commitSceneState should be const as there should not be any
201         modifications to the passed CoordinatedGraphicsState.
202
203         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
204
205 2013-07-11  Radu Stavila  <stavila@adobe.com>
206
207         NamedFlowCollection getters should follow the same pattern as HTMLCollection
208         https://bugs.webkit.org/show_bug.cgi?id=118561
209
210         Reviewed by Christophe Dumez.
211
212         Modified item and namedItem methods from DOMNamedFlowCollection to return null instead of undefined.
213         https://www.w3.org/Bugs/Public/show_bug.cgi?id=22617
214         Completely removed the TreatReturnedNullObjectAs attribute as it was only used by the DOMNamedFlowCollection interface.
215
216         Test: fast/regions/webkit-named-flow-collection-empty-getters.html
217
218         * bindings/scripts/CodeGeneratorJS.pm:
219         (GenerateImplementationFunctionCall):
220         * bindings/scripts/IDLAttributes.txt:
221         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
222         (WebDOMTestObj::treatReturnedNullObjectAsUndefined):
223         * bindings/scripts/test/CPP/WebDOMTestObj.h:
224         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
225         (webkit_dom_test_obj_treat_returned_null_object_as_undefined):
226         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
227         * bindings/scripts/test/JS/JSTestObj.cpp:
228         (WebCore::jsTestObjPrototypeFunctionTreatReturnedNullObjectAsUndefined):
229         * bindings/scripts/test/JS/JSTestObj.h:
230         * bindings/scripts/test/ObjC/DOMTestObj.h:
231         * bindings/scripts/test/ObjC/DOMTestObj.mm:
232         (-[DOMTestObj treatReturnedNullObjectAsUndefined]):
233         * bindings/scripts/test/TestObj.idl:
234         * dom/DOMNamedFlowCollection.idl:
235
236 2013-07-11  Andreas Kling  <akling@apple.com>
237
238         Revert r149313: Don't check for @media rules affected by viewport changes in every layout.
239         <rdar://problem/14277905>
240
241         Rubber-stamped by Antti Koivisto.
242
243         This changed caused more harm than good. setFrameRect() is not the only path in FrameView
244         that can cause media queries to need invalidation.
245
246         * page/FrameView.cpp:
247         (WebCore::FrameView::setFrameRect):
248         (WebCore::FrameView::layout):
249
250 2013-07-11  Kangil Han  <kangil.han@samsung.com>
251
252         Introduce isHTMLTitleElement and toHTMLTitleElement
253         https://bugs.webkit.org/show_bug.cgi?id=118558
254
255         Reviewed by Andreas Kling.
256
257         To enhance readability, this patch introduces isHTMLTitleElement and toHTMLTitleElement.
258         This also helps out to reduce duplicated use of static_cast.
259
260         * dom/Document.cpp:
261         (WebCore::Document::setTitle):
262         (WebCore::Document::removeTitle):
263         * editing/ReplaceSelectionCommand.cpp:
264         (WebCore::removeHeadContents):
265         * html/HTMLTitleElement.h:
266         (WebCore::isHTMLTitleElement):
267         (WebCore::toHTMLTitleElement):
268
269 2013-07-11  Patrick Gansterer  <paroga@webkit.org>
270
271         Remove unused Windows CE files
272         https://bugs.webkit.org/show_bug.cgi?id=118557
273
274         Reviewed by Andreas Kling.
275
276         * platform/wince/CursorWinCE.cpp: Removed.
277         * platform/wince/PasteboardWinCE.cpp: Removed.
278         * platform/wince/SearchPopupMenuWinCE.cpp: Removed.
279
280 2013-07-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
281
282         Get rid of SVGPathSeg* special casing in the bindings generator
283         https://bugs.webkit.org/show_bug.cgi?id=118525
284
285         Reviewed by Kentaro Hara.
286
287         Have one header per SVGPathSeg* type so that we no longer need special casing
288         for them in the JSC bindings generator.
289
290         No new tests, no behavior change.
291
292         * GNUmakefile.list.am:
293         * Target.pri:
294         * WebCore.vcxproj/WebCore.vcxproj:
295         * WebCore.vcxproj/WebCore.vcxproj.filters:
296         * WebCore.xcodeproj/project.pbxproj:
297         * bindings/js/JSSVGPathSegCustom.cpp:
298         * bindings/scripts/CodeGeneratorJS.pm:
299         (AddIncludesForType):
300         (NativeToJSValue):
301         * svg/SVGPathElement.cpp:
302         * svg/SVGPathSegArc.h:
303         * svg/SVGPathSegArcAbs.h: Added.
304         (WebCore::SVGPathSegArcAbs::create):
305         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
306         (WebCore::SVGPathSegArcAbs::pathSegType):
307         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
308         * svg/SVGPathSegArcRel.h: Added.
309         (WebCore::SVGPathSegArcRel::create):
310         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
311         (WebCore::SVGPathSegArcRel::pathSegType):
312         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
313         * svg/SVGPathSegCurvetoCubic.h:
314         * svg/SVGPathSegCurvetoCubicAbs.h: Added.
315         (WebCore::SVGPathSegCurvetoCubicAbs::create):
316         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
317         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
318         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
319         * svg/SVGPathSegCurvetoCubicRel.h: Added.
320         (WebCore::SVGPathSegCurvetoCubicRel::create):
321         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
322         (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
323         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
324         * svg/SVGPathSegCurvetoCubicSmooth.h:
325         * svg/SVGPathSegCurvetoCubicSmoothAbs.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h.
326         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
327         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
328         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
329         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
330         * svg/SVGPathSegCurvetoCubicSmoothRel.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h.
331         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
332         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
333         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
334         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
335         * svg/SVGPathSegCurvetoQuadratic.h:
336         * svg/SVGPathSegCurvetoQuadraticAbs.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoQuadratic.h.
337         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
338         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
339         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
340         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
341         * svg/SVGPathSegCurvetoQuadraticRel.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoQuadratic.h.
342         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
343         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
344         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
345         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
346         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h.
347         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
348         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
349         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
350         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
351         * svg/SVGPathSegCurvetoQuadraticSmoothRel.h: Renamed from Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h.
352         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
353         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
354         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
355         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
356         * svg/SVGPathSegLinetoAbs.h: Copied from Source/WebCore/svg/SVGPathSegLineto.h.
357         (WebCore::SVGPathSegLinetoAbs::create):
358         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
359         (WebCore::SVGPathSegLinetoAbs::pathSegType):
360         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
361         * svg/SVGPathSegLinetoHorizontal.h:
362         * svg/SVGPathSegLinetoHorizontalAbs.h: Copied from Source/WebCore/svg/SVGPathSegLinetoHorizontal.h.
363         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
364         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
365         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
366         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
367         * svg/SVGPathSegLinetoHorizontalRel.h: Copied from Source/WebCore/svg/SVGPathSegLinetoHorizontal.h.
368         (WebCore::SVGPathSegLinetoHorizontalRel::create):
369         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
370         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
371         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
372         * svg/SVGPathSegLinetoRel.h: Renamed from Source/WebCore/svg/SVGPathSegLineto.h.
373         (WebCore::SVGPathSegLinetoRel::create):
374         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
375         (WebCore::SVGPathSegLinetoRel::pathSegType):
376         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
377         * svg/SVGPathSegLinetoVertical.h:
378         * svg/SVGPathSegLinetoVerticalAbs.h: Copied from Source/WebCore/svg/SVGPathSegLinetoVertical.h.
379         (WebCore::SVGPathSegLinetoVerticalAbs::create):
380         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
381         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
382         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
383         * svg/SVGPathSegLinetoVerticalRel.h: Copied from Source/WebCore/svg/SVGPathSegLinetoVertical.h.
384         (WebCore::SVGPathSegLinetoVerticalRel::create):
385         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
386         (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
387         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
388         * svg/SVGPathSegListBuilder.cpp:
389         * svg/SVGPathSegMovetoAbs.h: Copied from Source/WebCore/svg/SVGPathSegMoveto.h.
390         (WebCore::SVGPathSegMovetoAbs::create):
391         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
392         (WebCore::SVGPathSegMovetoAbs::pathSegType):
393         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
394         * svg/SVGPathSegMovetoRel.h: Renamed from Source/WebCore/svg/SVGPathSegMoveto.h.
395         (WebCore::SVGPathSegMovetoRel::create):
396         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
397         (WebCore::SVGPathSegMovetoRel::pathSegType):
398         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
399
400 2013-07-11  Patrick Gansterer  <paroga@webkit.org>
401
402         Build fix for WinCE after r152426.
403
404         * config.h:
405
406 2013-07-11  Fabienne Semeria   <fsemeria@nds.com>
407
408         [Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont
409         https://bugs.webkit.org/show_bug.cgi?id=118532
410
411         Reviewed by Allan Sandfeld Jensen.
412
413         * platform/graphics/qt/FontCacheQt.cpp:
414         (WebCore::FontCache::getLastResortFallbackFont):
415
416 2013-07-11  Mario Sanchez Prada  <mario.prada@samsung.com>
417
418         [ATK] Refactor code for translating offsets between WebCore a11y and ATK
419         https://bugs.webkit.org/show_bug.cgi?id=118179
420
421         Reviewed by Chris Fleizach.
422
423         Encapsulate better and make more clear the translation of offsets
424         between our ATK implementation and WebCore's accessibility layer.
425
426         Values for offsets can differ sometimes between those two worlds
427         due to some extra flattening we need to do in ATK based ports to
428         properly expose the accessibility hierarchy to ATs, which
429         sometimes means adding extra text elements in the exposed text
430         through the AtkText interface (e.g. list items markers).
431
432         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
433         (offsetAdjustmentForListItem): Helper function to refactor code
434         needed to translate offsets from WebCore to ATK worlds. Currently
435         related to considering list item markers in LTR text only.
436         (webCoreOffsetToAtkOffset): Convenience function for code
437         readability purposes. It just calls offsetAdjustmentForListItem.
438         (atkOffsetToWebCoreOffset): Likewise.
439         (getSelectionOffsetsForObject): Use webCoreOffsetToAtkOffset.
440         (webkitAccessibleTextGetCaretOffset): Use webCoreOffsetToAtkOffset
441         to translate an offset from WebCore to ATK before returning it.
442         (webkitAccessibleTextSetSelection): Use atkOffsetToWebCoreOffset
443         to translate an offset from WebCore to ATK before using it.
444         (webkitAccessibleTextSetCaretOffset): Likewise.
445
446 2013-07-10  Sam Weinig  <sam@webkit.org>
447
448         Range.getClientRects() not working correctly for partially contained vertically styled text nodes
449         <rdar://problem/14305675>
450         https://bugs.webkit.org/show_bug.cgi?id=118447
451
452         Reviewed by David Hyatt.
453
454         Original patch by Mac Murrett, tweaked by me.
455
456         Test: fast/dom/Range/getClientRects-vertical.html
457
458         * rendering/RenderText.cpp:
459         (WebCore::localQuadForTextBox):
460         Use the physical accessors rather than the logical ones to get the correct metrics.
461
462 2013-07-10  Christophe Dumez  <ch.dumez@sisa.samsung.com>
463
464         Reduce number of header includes in SVG
465         https://bugs.webkit.org/show_bug.cgi?id=118474
466
467         Reviewed by Rob Buis.
468
469         Reduce number of header includes in SVG. In particular, SVGAnimatedPropertyMacros.h
470         no longer brings SVGElement.h header include. This means that the SVGElement
471         class can now have animated properties.
472
473         This patch is a prerequirement to merge SVGStyledElement into SVGElement.
474
475         No new tests, no behavior change.
476
477         * CMakeLists.txt:
478         * GNUmakefile.list.am:
479         * Target.pri:
480         * WebCore.vcxproj/WebCore.vcxproj:
481         * WebCore.vcxproj/WebCore.vcxproj.filters:
482         * WebCore.xcodeproj/project.pbxproj:
483         * svg/GradientAttributes.h:
484         * svg/SVGAllInOne.cpp:
485         * svg/SVGAnimateMotionElement.cpp:
486         * svg/SVGAnimateMotionElement.h:
487         * svg/SVGAnimatedTypeAnimator.cpp: Added.
488         (WebCore::SVGElementAnimatedProperties::SVGElementAnimatedProperties):
489         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
490         (WebCore::SVGAnimatedTypeAnimator::~SVGAnimatedTypeAnimator):
491         (WebCore::SVGAnimatedTypeAnimator::calculateFromAndToValues):
492         (WebCore::SVGAnimatedTypeAnimator::calculateFromAndByValues):
493         (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
494         * svg/SVGAnimatedTypeAnimator.h:
495         * svg/SVGAnimationElement.h:
496         * svg/SVGCursorElement.cpp:
497         * svg/SVGDocumentExtensions.h:
498         * svg/SVGElement.cpp:
499         * svg/SVGElementInstanceList.cpp:
500         * svg/SVGElementInstanceList.h:
501         * svg/SVGElementRareData.h:
502         * svg/SVGFEImageElement.cpp:
503         * svg/SVGFilterElement.cpp:
504         * svg/SVGFitToViewBox.h:
505         * svg/SVGFontData.cpp:
506         * svg/SVGFontData.h:
507         * svg/SVGFontElement.h:
508         * svg/SVGForeignObjectElement.cpp:
509         * svg/SVGGlyphMap.h:
510         * svg/SVGGradientElement.cpp:
511         * svg/SVGMPathElement.cpp:
512         * svg/SVGMPathElement.h:
513         * svg/SVGPathBlender.cpp:
514         * svg/SVGPathBlender.h:
515         * svg/SVGPathBuilder.cpp:
516         * svg/SVGPathBuilder.h:
517         * svg/SVGPathParser.cpp:
518         * svg/SVGPathParser.h:
519         * svg/SVGPathSegListBuilder.h:
520         * svg/SVGPathTraversalStateBuilder.cpp:
521         * svg/SVGPathTraversalStateBuilder.h:
522         * svg/SVGPathUtilities.h:
523         * svg/SVGPatternElement.cpp:
524         * svg/SVGPointList.h:
525         * svg/SVGScriptElement.cpp:
526         * svg/SVGStyledElement.h:
527         * svg/SVGTests.h:
528         * svg/SVGTextElement.h:
529         * svg/SVGTextPathElement.cpp:
530         * svg/SVGTransformable.h:
531         * svg/SVGURIReference.cpp:
532         * svg/SVGURIReference.h:
533         * svg/SVGVKernElement.cpp:
534         * svg/SVGVKernElement.h:
535         * svg/SVGZoomAndPan.h:
536         * svg/properties/SVGAnimatedProperty.cpp: Added.
537         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
538         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
539         (WebCore::SVGAnimatedProperty::commitChange):
540         (WebCore::SVGAnimatedProperty::animatedPropertyCache):
541         * svg/properties/SVGAnimatedProperty.h:
542         * svg/properties/SVGAnimatedPropertyMacros.h:
543         (WebCore::SVGSynchronizableAnimatedProperty::synchronize):
544         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
545         * svg/properties/SVGListProperty.h:
546
547 2013-07-10  Dominique Leuenberger  <dimstar@opensuse.org>
548
549         Fix build against GTK+ 2.0
550         https://bugs.webkit.org/show_bug.cgi?id=117895
551
552         Reviewed by Martin Robinson.
553
554         GTK2 build fails for undefined GDK_IS_X11_DISPLAY
555         GTK 2.0 does define GDK_WINDOWING_X11,but GDK_IS_X11_DISPLAY is not
556         present in GTK+ 2.0. A dummy defines is sufficient, as GTK 2.0 is not
557         that multiple backend aware anyway...
558
559         * platform/gtk/GtkVersioning.h: Define GDK_IS_X11_DISPLAY for GTK+ 2.0
560           and compatibility for gtk_widget_get_preferred_size()
561         * plugins/gtk/gtk2xtbin.c: Include config.h
562
563 2013-07-10  Tim Horton  <timothy_horton@apple.com>
564
565         Deferring layer flushes can cause painting without layout being done
566         https://bugs.webkit.org/show_bug.cgi?id=118493
567
568         Reviewed by Simon Fraser.
569
570         r147797 added a mechanism for the TileController to inform RenderLayerCompositor
571         that it had performed an action (setNeedsDisplay, etc.) that would cause CoreAnimation
572         to call back into us to paint in this runloop, and that it shouldn't throttle the next
573         layer flush.
574
575         However, if tiles were created and left unparented (because the TileController was
576         out-of-window), when they are later parented, we failed to inform RenderLayerCompositor
577         that they were about to call back for painting, and so it would happily throttle the
578         next layer flush, and layout would be out of date, and garbage and corruption could result.
579
580         To resolve this, rework the logic surrounding parenting existing-but-unparented tiles
581         to ensure that they get added to the TileController's dirtyRect.
582
583         No new tests; the bug only reproduces under specific timing circumstances, and
584         manifests itself as an assertion failure or garbage on the screen, so it's quite
585         hard to make a workable test.
586
587         * platform/graphics/ca/mac/TileController.mm:
588         (WebCore::TileController::revalidateTiles):
589         - Factor out the code to parent unparented tiles so that it is shared between the
590             created-new-tile and reparenting-existing-tile cases.
591         - Keep track of whether we updated the frame of a pre-existing tile.
592         - If the tile is dirty and needed to be parented (because either it's new
593             or hadn't been parented before), add it to the dirty rect list.
594         - If the tile changed size, add it to the dirty rect list.
595
596         (WebCore::TileController::ensureTilesForRect):
597         Ditto everything from revalidateTiles.
598
599         (WebCore::TileController::createTileLayer):
600         - Explicitly mark fresh tiles as needing display, so that we can depend on
601             [WebTileLayer needsDisplay] in revalidateTiles to tell us that it's dirty.
602
603 2013-07-10  Eric Carlson  <eric.carlson@apple.com>
604
605         [Mac] every enabled text track should be listed in the track menu
606         https://bugs.webkit.org/show_bug.cgi?id=118477
607
608         Reviewed by Jer Noble.
609
610         Test: media/video-controls-captions-trackmenu-includes-enabled-track.html
611
612         * html/shadow/MediaControlElements.cpp:
613         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Don't select the
614             "Off" menu item if a track is enabled.
615
616         * page/CaptionUserPreferencesMediaAF.cpp:
617         (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Always include a track
618             that is showing in the menu. Add more diagnostic logging.
619
620 2013-07-10  Christophe Dumez  <ch.dumez@sisa.samsung.com>
621
622         Remove ElementTimeControl and expose SVGAnimationElement
623         https://bugs.webkit.org/show_bug.cgi?id=118349
624
625         Reviewed by Rob Buis.
626
627         Remove ElementTimeControl IDL interface and move its attributes
628         to the SVGAnimationElement IDL interface as per the latest SVG2
629         specification:
630         https://svgwg.org/svg2-draft/animate.html#InterfaceSVGAnimationElement
631
632         Also remove [NoInterfaceObject] IDL extended attribute from
633         SVGAnimationElement as it is not present in the specification.
634
635         This is one step towards removing IDL multiple inheritance in SVG and
636         complying with the latest SVG2 specification.
637
638         No new tests, covered by existing test cases.
639
640         * DerivedSources.make:
641         * GNUmakefile.list.am:
642         * WebCore.vcxproj/WebCore.vcxproj:
643         * WebCore.vcxproj/WebCore.vcxproj.filters:
644         * WebCore.xcodeproj/project.pbxproj:
645         * bindings/scripts/CodeGeneratorObjC.pm:
646         * svg/ElementTimeControl.h: Removed.
647         * svg/ElementTimeControl.idl: Removed.
648         * svg/SVGAnimationElement.h:
649         * svg/SVGAnimationElement.idl:
650
651 2013-07-10  Arnaud Renevier  <a.renevier@sisa.samsung.com>
652
653         Web Inspector: "Always enable" profiling does not work
654         https://bugs.webkit.org/show_bug.cgi?id=118487
655
656         Enable profiler when loading panel if profiler is enabled in inspector
657         settings.
658
659         Reviewed by Timothy Hatcher.
660
661         * inspector/front-end/ProfilesPanel.js:
662
663 2013-07-09  Roger Fong  <roger_fong@apple.com>
664
665         HTMLPluginElement's state should be Playing before firing mouse click event.
666         https://bugs.webkit.org/show_bug.cgi?id=118398.
667         <rdar://problem/14262126>
668
669         Reviewed by Dean Jackson.
670
671         Test: plugins/snapshotting/plugin-receives-click-event.html
672
673         * html/HTMLPlugInImageElement.cpp:
674         (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired):
675         The defaultEventHandler returns early if the state is not Playing.
676         This is because we only want the plugin to deal with user interaction normally if the
677         plugin is actually enabled (not being snapshotted).
678         When we click on the snapshotted plugin to start it, we mimic what would happen to the plugin
679         normally by dispatching another click event on top of where we just clicked.
680         However, we were sending the click event before setting the state to Playing which meant that our
681         simulated click was not being handled. 
682         We should be setting this state before sending the click, not after.
683
684 2013-07-10  Nick Diego Yamane  <nick.yamane@openbossa.org>
685
686         Fix a bug in MediaStreamDescriptor::removeVideoComponent
687         https://bugs.webkit.org/show_bug.cgi?id=118446
688
689         Reviewed by Eric Carlson.
690
691         MediaStreamDescriptor::removeVideoComponent is currently trying to
692         remove the 'videoComponent' from the wrong vector.
693
694         * platform/mediastream/MediaStreamDescriptor.h:
695         (WebCore::MediaStreamDescriptor::removeVideoComponent):
696
697 2013-07-10  Mario Sanchez Prada  <mario.prada@samsung.com>
698
699         AX: Allow requesting the full plain text for an object with textUnderElement()
700         https://bugs.webkit.org/show_bug.cgi?id=105214
701
702         Reviewed by Chris Fleizach.
703
704         Allow specifying different function modes for textUnderElement(),
705         so we can effectively ask for the "normal" result (e.g to retrieve
706         test to be exposed as the 'title') or for the full text under the
707         element (without omitting any child in the subtree). This is
708         needed for the implementation of atk_text_get_text() in GTK/EFL.
709
710         * accessibility/AccessibilityObject.h: Add new enumeration to
711         specify the different modes for textUnderElement().
712         (WebCore::AccessibilityObject::textUnderElement): Added parameter.
713
714         * accessibility/AccessibilityNodeObject.cpp:
715         (WebCore::shouldUseAccessiblityObjectInnerText): Always return
716         'true' when using the "include all children" mode.
717         (WebCore::AccessibilityNodeObject::textUnderElement): Updated call
718         to shouldUseAccessiblityObjectInnerText().
719         * accessibility/AccessibilityNodeObject.h:
720
721         * accessibility/AccessibilityRenderObject.cpp:
722         (WebCore::AccessibilityRenderObject::textUnderElement): Removed
723         GTK specific code and expand the usage of text iterators beyond
724         text render objects, using it also when in the "include all
725         children" mode.
726         * accessibility/AccessibilityRenderObject.h:
727
728         * accessibility/atk/AccessibilityObjectAtk.cpp:
729         (WebCore::AccessibilityObject::getLengthForTextRange): Updated
730         call to textUnderElement(), preserving the previous behavior.
731
732         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
733         (webkitAccessibleTextGetText): Updated call to textUnderElement(),
734         using the "include all children" mode.
735
736 2013-07-10  Sergio Correia  <sergio.correia@openbossa.org>
737
738         Remove the meshType from CoordinatedCustomFilterOperation
739         https://bugs.webkit.org/show_bug.cgi?id=118529
740
741         Reviewed by Noam Rosenthal.
742
743         Following the removal of the meshType from CustomFilterOperation in r149153,
744         remove also the meshType from CoordinatedCustomFilterOperation.
745
746         No new tests, no new functionality.
747
748         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h:
749         (WebCore::CoordinatedCustomFilterOperation::create): Remove unused meshType parameter.
750         (WebCore::CoordinatedCustomFilterOperation::CoordinatedCustomFilterOperation): Ditto.
751  Ditto.
752 2013-07-10  James Craig  <james@cookiecrook.com>
753
754         AX: AccessibilityNodeObject::supportsRequiredAttribute() should switch on CellRole
755         https://bugs.webkit.org/show_bug.cgi?id=117817
756
757         Reviewed by Chris Fleizach.
758
759         CellRole supports the required attribute now for accessibility, according to ARIA spec. 
760         Updated existing test coverage.
761
762         * accessibility/AccessibilityNodeObject.cpp:
763         (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
764
765 2013-07-10  Csaba Osztrogonác  <ossy@webkit.org>
766
767         REGRESSION(r151957): WebGL textures do not show
768         https://bugs.webkit.org/show_bug.cgi?id=118464
769
770         Reviewed by Christophe Dumez.
771
772         After r151957 decoder.frameIsCompleteAtIndex(0) doesn't trigger image decoding,
773         we have to call decoder.createFrameAtIndex(0) explicitly to ensure it.
774
775         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
776         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
777         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
778         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
779
780 2013-07-10  Karol Świniarski  <k.swiniarsk2@samsung.com>
781
782         Change recently ratified extensions prefixes from WEBKIT_WEBGL_ to WEBGL_
783         https://bugs.webkit.org/show_bug.cgi?id=117786
784
785         Reviewed by Dean Jackson.
786
787         According to WebGL's revision 10, extensions should be named: WEBGL_lose_context,
788         WEBGL_depth_texture, WEBGL_compressed_texture_s3tc.
789
790         No new tests. Covered by existing tests:
791         LayoutTests/webgl/conformance/extensions/get-extension.html
792         LayoutTests/webgl/conformance/context/context-lost.html
793         LayoutTests/webgl/conformance/extensions/webgl-depth-texture.html
794         LayoutTests/webgl/conformance/extensions/webgl-compressed-texture-s3tc.html
795
796         * html/canvas/WebGLRenderingContext.cpp:
797         (WebCore::WebGLRenderingContext::getExtension):
798         (WebCore::WebGLRenderingContext::getSupportedExtensions):
799
800 2013-07-09  Byungwoo Lee  <bw80.lee@samsung.com>
801
802         Unreviewed build fix.
803
804         * svg/SVGImageElement.cpp:
805         (WebCore::SVGImageElement::SVGImageElement):
806
807 2013-07-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
808
809         Introduce isSVGFontElement() and isSVGImageElement(), use them
810         https://bugs.webkit.org/show_bug.cgi?id=118504
811
812         Reviewed by Benjamin Poulain.
813
814         Let's use isFoo() to enhance readibility in svg element classes along with html's.
815
816         No new tests, there is no behavior changes.
817
818         * loader/cache/CachedFont.cpp:
819         (WebCore::CachedFont::getSVGFontById):
820         * rendering/HitTestResult.cpp:
821         (WebCore::HitTestResult::absoluteImageURL):
822         * svg/SVGAnimateMotionElement.cpp:
823         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
824         * svg/SVGElement.cpp:
825         (WebCore::SVGElement::viewportElement):
826         * svg/SVGFontElement.cpp:
827         (WebCore::SVGFontElement::SVGFontElement):
828         * svg/SVGFontElement.h:
829         (WebCore::toSVGFontElement):
830         (WebCore::isSVGFontElement):
831         * svg/SVGFontFaceElement.cpp:
832         (WebCore::SVGFontFaceElement::associatedFontElement):
833         (WebCore::SVGFontFaceElement::rebuildFontFace):
834         * svg/SVGGlyphElement.cpp:
835         (WebCore::SVGGlyphElement::invalidateGlyphCache):
836         * svg/SVGHKernElement.cpp:
837         (WebCore::SVGHKernElement::insertedInto):
838         (WebCore::SVGHKernElement::removedFrom):
839         * svg/SVGImageElement.cpp:
840         (WebCore::SVGImageElement::SVGImageElement):
841         * svg/SVGImageElement.h:
842         (WebCore::toSVGImageElement):
843         (WebCore::isSVGImageElement):
844         * svg/SVGLocatable.cpp:
845         (WebCore::isViewportElement):
846         * svg/SVGVKernElement.cpp:
847         (WebCore::SVGVKernElement::insertedInto):
848         (WebCore::SVGVKernElement::removedFrom):
849
850 2013-07-09  Ryuan Choi  <ryuan.choi@samsung.com>
851
852         [EFL] Add ewk_view_device_pixel_ratio_set
853         https://bugs.webkit.org/show_bug.cgi?id=118521
854
855         Reviewed by Gyuyoung Kim.
856
857         No new tests, covered by existing tests.
858
859         * dom/ViewportArguments.cpp: Remove PLATFORM(EFL) not to use deprecatedTargetDPI
860         * dom/ViewportArguments.h: Ditto.
861         * platform/efl/EflScreenUtilities.cpp: Removed getDPI() which is not used anymore.
862         * platform/efl/EflScreenUtilities.h: Ditto.
863
864 2013-07-09  James Craig  <james@cookiecrook.com>
865
866         @readonly and @aria-readonly="false" are not exposed correctly to accessibility
867         https://bugs.webkit.org/show_bug.cgi?id=118475
868
869         Reviewed by Chris Fleizach.
870
871         Account for implicit and explicit @readonly/@aria-readonly mismatches. Updated existing test coverage.
872
873         * accessibility/AccessibilityRenderObject.cpp:
874         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
875
876 2013-07-09  Jer Noble  <jer.noble@apple.com>
877
878         Reviewed by Simon Fraser.
879
880         Remember the scroll position and restore after exiting full-screen mode.
881         https://bugs.webkit.org/show_bug.cgi?id=61956
882
883         No new tests, adds a client callback used by WebKit and WebKit2 win.
884
885         * platform/graphics/win/FullScreenController.cpp:
886         (FullScreenController::enterFullScreen):
887         (FullScreenController::exitFullScreen):
888         * platform/graphics/win/FullScreenControllerClient.h:
889
890 2013-07-09  Jeff Miller  <jeffm@apple.com>
891
892         AuthenticationMac.mm does not handle NSURLAuthenticationMethodNegotiate in WebCore::mac()
893         https://bugs.webkit.org/show_bug.cgi?id=118518
894
895         Reviewed by Alexey Proskuryakov.
896
897         * platform/network/mac/AuthenticationMac.mm:
898         (WebCore::mac):
899         Map ProtectionSpaceAuthenticationSchemeNegotiate to NSURLAuthenticationMethodNegotiate.
900
901 2013-07-09  Jeff Miller  <jeffm@apple.com>
902
903         AuthenticationMac.mm does not handle NSURLAuthenticationMethodNegotiate
904         https://bugs.webkit.org/show_bug.cgi?id=118517
905
906         Reviewed by Brady Eidson.
907
908         * platform/network/mac/AuthenticationMac.mm:
909         (WebCore::core):
910         Map "NSURLAuthenticationMethodNegotiate" to ProtectionSpaceAuthenticationSchemeNegotiate.
911
912 2013-07-09  peavo@outlook.com  <peavo@outlook.com>
913
914         [Windows] Compile fix.
915         https://bugs.webkit.org/show_bug.cgi?id=106558
916
917         Reviewed by Brent Fulgham.
918
919         On Windows, dispatch.h needs to be included before certain CFNetwork headers.
920
921         * WebCorePrefix.h: Include dispatch.h.
922
923 2013-07-09  Mark Lam  <mark.lam@apple.com>
924
925         Fix 30% JSBench regression (caused by adding column numbers to stack traces).
926         https://bugs.webkit.org/show_bug.cgi?id=118481.
927
928         Reviewed by Mark Hahnenberg and Geoffrey Garen.
929
930         Test: fast/js/line-column-numbers.html
931
932         Updated the bindings to use StackFrame::computeLineAndColumn(). The old
933         StackFrame::line() and StackFrame::column() has been removed. The new
934         algorithm always computes the 2 values together anyway. Hence it is more
935         efficient to return them as a pair instead of doing the same computation
936         twice for each half of the result.
937
938         * bindings/js/ScriptCallStackFactory.cpp:
939         (WebCore::createScriptCallStack):
940         (WebCore::createScriptCallStackFromException):
941         * bindings/js/ScriptSourceCode.h:
942         (WebCore::ScriptSourceCode::ScriptSourceCode):
943
944 2013-07-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
945
946         Use toSVGFontElement() instead of static_cast<SVGFontElement*>
947         https://bugs.webkit.org/show_bug.cgi?id=118496
948
949         Reviewed by Andreas Kling.
950
951         As a step to change static_cast with toXXX, static_cast<SVGFontElement*> can
952         be changed with toSVGFontElement().
953
954         Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=153761
955
956         * svg/SVGFontElement.h:
957         (WebCore::toSVGFontElement):
958         * svg/SVGFontFaceElement.cpp:
959         (WebCore::SVGFontFaceElement::rebuildFontFace):
960         * svg/SVGGlyphElement.cpp:
961         (WebCore::SVGGlyphElement::invalidateGlyphCache):
962         * svg/SVGHKernElement.cpp:
963         (WebCore::SVGHKernElement::insertedInto):
964         (WebCore::SVGHKernElement::removedFrom):
965         * svg/SVGVKernElement.cpp:
966         (WebCore::SVGVKernElement::insertedInto):
967         (WebCore::SVGVKernElement::removedFrom):
968
969 2013-07-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
970
971         Remove support for [PassThisToCallback] extended attribute
972         https://bugs.webkit.org/show_bug.cgi?id=118391
973
974         Reviewed by Kentaro Hara.
975
976         The [PassThisToCallback] Webkit-specific IDL extended attribute is supported
977         by the JSC bindings generator but is no longer used. The attribute is not
978         even documented.
979
980         We can therefore drop support for this from the generator to simplify the
981         code.
982
983         No new tests, no behavior change.
984
985         * bindings/scripts/CodeGeneratorJS.pm:
986         (GenerateCallbackImplementation):
987         * bindings/scripts/IDLAttributes.txt:
988         * bindings/scripts/test/JS/JSTestCallback.cpp:
989         (WebCore::JSTestCallback::callbackRequiresThisToPass):
990         * bindings/scripts/test/TestCallback.idl:
991
992 2013-07-09  Praveen R Jadhav  <praveen.j@samsung.com>
993
994         Update Exception handling in WebAudio.
995         https://bugs.webkit.org/show_bug.cgi?id=118405.
996
997         Reviewed by Chris Rogers.
998
999         AudioBufferSourceNode, OscillatorNode and AnalyserNode don't
1000         propagate exception mentioned in WebAudio spec.
1001         Code updated to throw DOM exception as expected.
1002
1003         Tests: webaudio/analyser-exception.html
1004                webaudio/audiobuffersource-exception.html
1005
1006         * Modules/webaudio/AnalyserNode.cpp:
1007         (WebCore::AnalyserNode::setFftSize):
1008         (WebCore::AnalyserNode::setMinDecibels):
1009         (WebCore::AnalyserNode::setMaxDecibels):
1010         (WebCore::AnalyserNode::setSmoothingTimeConstant):
1011         * Modules/webaudio/AnalyserNode.h:
1012         * Modules/webaudio/AnalyserNode.idl:
1013         * Modules/webaudio/AudioBufferSourceNode.cpp:
1014         (WebCore::AudioBufferSourceNode::startGrain):
1015         (WebCore::AudioBufferSourceNode::noteGrainOn):
1016         * Modules/webaudio/AudioBufferSourceNode.h:
1017         * Modules/webaudio/AudioBufferSourceNode.idl:
1018         * Modules/webaudio/AudioContext.cpp:
1019         (WebCore::AudioContext::createBuffer):
1020         (WebCore::AudioContext::createScriptProcessor):
1021         (WebCore::AudioContext::createPeriodicWave):
1022         * Modules/webaudio/AudioScheduledSourceNode.cpp:
1023         (WebCore::AudioScheduledSourceNode::start):
1024         (WebCore::AudioScheduledSourceNode::stop):
1025         (WebCore::AudioScheduledSourceNode::noteOn):
1026         (WebCore::AudioScheduledSourceNode::noteOff):
1027         * Modules/webaudio/AudioScheduledSourceNode.h:
1028         * Modules/webaudio/OscillatorNode.idl:
1029
1030 2013-07-08  Martin Robinson  <mrobinson@igalia.com>
1031
1032         [CSS Grid Layout] Rename grid-{rows|columns} to grid-definition-{rows|columns}
1033         https://bugs.webkit.org/show_bug.cgi?id=103336
1034
1035         Reviewed by Tony Chang.
1036
1037         Rename -webkit-grid-{rows|columns} to -webkit-grid-definition-{rows|columns}.
1038         The latest version of the spec has renamed these properties.
1039
1040         * css/CSSComputedStyleDeclaration.cpp:
1041         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle the new names.
1042         * css/CSSParser.cpp:
1043         (WebCore::CSSParser::parseValue): Ditto.
1044         * css/CSSProperty.cpp:
1045         (WebCore::CSSProperty::isInheritedProperty): Ditto.
1046         * css/CSSPropertyNames.in: Add support for the new names.
1047         * css/StyleResolver.cpp:
1048         (WebCore::StyleResolver::applyProperty): Handle the new names.
1049
1050 2013-07-08  Enrica Casucci  <enrica@apple.com>
1051
1052         DeleteSelectionCommand does not handle correctly deletion with two consecutive BR element.
1053         https://bugs.webkit.org/show_bug.cgi?id=118457
1054         <rdar://problem/14160912>
1055
1056         Reviewed by Simon Fraser.
1057
1058         In DeleteSelectionCommand::handleSpecialCareBRDelete we did not
1059         handle correctly the case where we had <br><br> in the markup and
1060         nothing was being deleted. We should consider this like
1061         the case where the <br> is on the line by itself and remove it.
1062
1063         Test: editing/deleting/delete-image-followed-by-two-br.html
1064
1065         * editing/DeleteSelectionCommand.cpp:
1066         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):
1067
1068 2013-07-08  Radu Stavila  <stavila@adobe.com>
1069
1070         NamedFlowCollection getters should return undefined when there's no NamedFlow
1071         https://bugs.webkit.org/show_bug.cgi?id=118463
1072
1073         Reviewed by Christophe Dumez.
1074
1075         Added new TreatReturnedNullObjectAs attribute for generated methods and set it to Undefined
1076         for the item and namedItem methods of DOMNamedFlowCollection.
1077
1078         Test: fast/regions/webkit-named-flow-collection-undefined.html
1079
1080         * bindings/scripts/CodeGeneratorJS.pm:
1081         (GenerateImplementationFunctionCall):
1082         * bindings/scripts/IDLAttributes.txt:
1083         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1084         (WebDOMTestObj::treatReturnedNullObjectAsUndefined):
1085         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1086         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1087         (webkit_dom_test_obj_treat_returned_null_object_as_undefined):
1088         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1089         * bindings/scripts/test/JS/JSTestObj.cpp:
1090         (WebCore::jsTestObjPrototypeFunctionTreatReturnedNullObjectAsUndefined):
1091         * bindings/scripts/test/JS/JSTestObj.h:
1092         * bindings/scripts/test/ObjC/DOMTestObj.h:
1093         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1094         (-[DOMTestObj treatReturnedNullObjectAsUndefined]):
1095         * bindings/scripts/test/TestObj.idl:
1096         * dom/DOMNamedFlowCollection.idl:
1097
1098 2013-07-06 Changhun Kang <temoochin@company100.net>
1099
1100         Remove unused variables in FocusCandidate.
1101         https://bugs.webkit.org/show_bug.cgi?id=118449
1102
1103         Reviewed by Antonio Gomes.
1104
1105         The variables for parent in FocusCandidate are not used anymore.
1106
1107         No new tests. No change in behavior.
1108
1109         * page/SpatialNavigation.cpp:
1110         (WebCore::FocusCandidate::FocusCandidate):
1111         * page/SpatialNavigation.h:
1112         (WebCore::FocusCandidate::FocusCandidate):
1113
1114 2013-07-08  Chris Fleizach  <cfleizach@apple.com>
1115
1116         AX: iOS: SVG paths are not offset by the parent bounding box
1117         https://bugs.webkit.org/show_bug.cgi?id=118433
1118
1119         The path for SVG shapes is in terms of its parent's view space. We need to offset
1120         the path by that amount so that it's in the right location.
1121
1122         Reviewed by Tim Horton.
1123
1124         * accessibility/AccessibilityRenderObject.cpp:
1125         (WebCore::AccessibilityRenderObject::elementPath):
1126
1127 2013-07-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1128
1129         Unreviewed. Fix make distcheck.
1130
1131         * GNUmakefile.list.am: Add missing header files.
1132
1133 2013-07-08  Ruth Fong  <ruth_fong@apple.com>
1134
1135         Fix TextTrackCue::cueIndex() to handle the null case of TextTrack::cues(() properly
1136         https://bugs.webkit.org/show_bug.cgi?id=117815
1137         <rdar://problem/14211041>
1138
1139         Reviewed by Eric Carlson.
1140
1141         Merge https://src.chromium.org/viewvc/blink?revision=153206&view=revision
1142         
1143         No new tests, only behavior change is preventing a crash in the release build.
1144         cueIndex() is only used for sorting cues, so returning an invalidCueIndex in the case
1145         where track()->cues() is null makes sense and won't modify behavior.
1146
1147         * html/track/TextTrackCue.cpp:
1148         (WebCore::TextTrackCue::cueIndex):
1149
1150 2013-07-08  Commit Queue  <commit-queue@webkit.org>
1151
1152         Unreviewed, rolling out r152416.
1153         http://trac.webkit.org/changeset/152416
1154         https://bugs.webkit.org/show_bug.cgi?id=118476
1155
1156         Wrong fix for the bug (Requested by ap on #webkit).
1157
1158         * platform/text/TextEncodingRegistry.cpp:
1159         (WebCore::newTextCodec):
1160
1161 2013-07-08  Andreas Kling  <akling@apple.com>
1162
1163         REGRESSION(r125294): A style rule with more than 8192 selectors can cause style corruption.
1164         <http://webkit.org/b/118369>
1165         <rdar://problem/14291428>
1166
1167         Reviewed by Antti Koivisto.
1168
1169         Add a semi-hard cap of 8192 selectors per CSS rule. Rules with longer selector lists will be split into
1170         multiple rules (with 8192 selectors per rule.) The style properties are shared behind the scenes
1171         so it's all pretty efficient.
1172
1173         This does generate a different CSSOM for gigantic selector lists, I've added a test to document this.
1174         Note that setting CSSStyleRule.selectorText with over 8192 selectors will now fail, the splitting into
1175         multiple rules only happens when parsing full style sheets.
1176
1177         Test: fast/css/rule-selector-overflow.html
1178
1179         * css/CSSSelectorList.cpp:
1180         (WebCore::CSSSelectorList::selectorCount):
1181
1182             Add a helper to count the number of selectors in a list (not the number of raw selector components.)
1183
1184         * css/RuleSet.h:
1185         * css/CSSStyleRule.cpp:
1186         (WebCore::CSSStyleRule::setSelectorText):
1187
1188             Add RuleData::maximumSelectorCount constant and cap CSSStyleRule.selectorText to that many selectors.
1189
1190         * css/CSSSelectorList.h:
1191         (WebCore::CSSSelectorList::adoptSelectorArray):
1192         * css/StyleRule.cpp:
1193         (WebCore::StyleRule::create):
1194         (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorCount):
1195         * css/StyleRule.h:
1196         (WebCore::StyleRule::parserAdoptSelectorArray):
1197         * css/StyleSheetContents.cpp:
1198         (WebCore::StyleSheetContents::parserAppendRule):
1199
1200             The meat of this change. Split rules with >8K selectors into multiple rules with 8K selectors in each.
1201
1202         * css/StyleRule.h:
1203         (WebCore::toStyleRule):
1204
1205             Added a toStyleRule() helper for good measure.
1206
1207 2013-07-08  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1208
1209         Introduce DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER() macro
1210         https://bugs.webkit.org/show_bug.cgi?id=118408
1211
1212         Reviewed by Philip Rogers.
1213
1214         Split DEFINE_FORWARDING_ATTRIBUTE_EVENT_LISTENER() macro into separate
1215         DECLARE and DEFINE macros to reduce the number of header includes in
1216         SVG.
1217
1218         No new tests, no behavior change.
1219
1220         * dom/EventTarget.h:
1221         * svg/SVGElementInstance.cpp:
1222         (WebCore::SVGElementInstance::create):
1223         (WebCore::SVGElementInstance::toNode):
1224         (WebCore::SVGElementInstance::ownerDocument):
1225         * svg/SVGElementInstance.h:
1226
1227 2013-07-08  Jae Hyun Park  <jae.park@company100.net>
1228
1229         [Coordinated Graphics] Rename variables in UpdateAtlas
1230         https://bugs.webkit.org/show_bug.cgi?id=118403
1231
1232         Reviewed by Noam Rosenthal.
1233
1234         As of r149292, non-composited contents layer was removed from
1235         CoordinatedGraphics. So, the variables should be renamed for
1236         clarification.
1237
1238         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1239         (WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
1240
1241 2013-07-08  Ádám Kallai  <kadam@inf.u-szeged.hu>
1242
1243         [Qt] Incremental build fix after r145712.
1244         https://bugs.webkit.org/show_bug.cgi?id=112576.
1245
1246         Reviewed by Jocelyn Turcotte.
1247
1248         * DerivedSources.pri: Added dependence to INSPECTOR_JSON.
1249         * inspector/front-end/WebKit.qrc: Added missing JS file.
1250
1251 2013-07-08  Kihong Kwon  <kihong.kwon@samsung.com>
1252
1253         vibrate function have to return boolean value.
1254         https://bugs.webkit.org/show_bug.cgi?id=118288
1255
1256         Reviewed by Gyuyoung Kim.
1257
1258         According to latest Vibration API which is LC, vibrate() needs to return boolean value
1259         and exception code is removed also. In addition, remove condition for canceling vibration
1260         can be called when visibility state is hidden.
1261         http://www.w3.org/TR/vibration/
1262
1263         No new tests. vibration/navigator-vibration.html is changed.
1264
1265         * Modules/vibration/NavigatorVibration.cpp:
1266         (WebCore::NavigatorVibration::vibrate):
1267         * Modules/vibration/NavigatorVibration.h:
1268         * Modules/vibration/NavigatorVibration.idl:
1269         * Modules/vibration/Vibration.cpp:
1270         (WebCore::Vibration::vibrate):
1271         * Modules/vibration/Vibration.h:
1272
1273 2013-07-07  Kangil Han  <kangil.han@samsung.com>
1274
1275         Adopt is/toHTMLTableElement for code cleanup
1276         https://bugs.webkit.org/show_bug.cgi?id=118393
1277
1278         Reviewed by Andreas Kling.
1279
1280         To enhance readability, this patch adopts is/toHTMLTableElement.
1281         This also helps out to reduce duplicated use of static_cast.
1282
1283         * accessibility/AccessibilityRenderObject.cpp:
1284         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1285         * accessibility/AccessibilityTable.cpp:
1286         (WebCore::AccessibilityTable::isDataTable):
1287         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1288         (WebCore::AccessibilityTable::title):
1289         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
1290         (webkitAccessibleTableGetCaption):
1291         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1292         (webkitAccessibleGetDescription):
1293         * css/StyleResolver.cpp:
1294         (WebCore::StyleResolver::adjustRenderStyle):
1295         * dom/Position.cpp:
1296         (WebCore::endsOfNodeAreVisuallyDistinctPositions):
1297         * editing/DeleteSelectionCommand.cpp:
1298         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1299         * editing/InsertLineBreakCommand.cpp:
1300         (WebCore::InsertLineBreakCommand::doApply):
1301         * editing/htmlediting.cpp:
1302         (WebCore::isNonTableCellHTMLBlockElement):
1303         * editing/markup.cpp:
1304         (WebCore::ancestorToRetainStructureAndAppearanceForBlock):
1305         * html/FTPDirectoryDocument.cpp:
1306         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
1307         (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
1308         * html/HTMLFormElement.cpp:
1309         (WebCore::HTMLFormElement::rendererIsNeeded):
1310         * html/HTMLTableElement.h:
1311         (WebCore::isHTMLTableElement):
1312         (WebCore::toHTMLTableElement):
1313         * html/HTMLTablePartElement.cpp:
1314         (WebCore::HTMLTablePartElement::findParentTable):
1315         * html/HTMLTableRowElement.cpp:
1316         (WebCore::HTMLTableRowElement::rowIndex):
1317         * html/HTMLTableRowsCollection.cpp:
1318         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
1319         (WebCore::HTMLTableRowsCollection::virtualItemAfter):
1320         * html/parser/HTMLElementStack.cpp:
1321         (WebCore::HTMLNames::isScopeMarker):
1322         (WebCore::HTMLNames::isTableScopeMarker):
1323         * html/parser/HTMLTreeBuilder.cpp:
1324         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
1325         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
1326         * platform/mac/HTMLConverter.mm:
1327         (-[WebHTMLConverter _computedStringForNode:property:]):
1328         * rendering/RenderObject.cpp:
1329         (WebCore::RenderObject::offsetParent):
1330         * rendering/RenderTable.cpp:
1331         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
1332         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
1333
1334 2013-07-06  Rob Buis  <rbuis@rim.com>
1335
1336         createElement("image") creates an HTMLImageElement, although this hack should exist in parser only
1337         https://bugs.webkit.org/show_bug.cgi?id=88360
1338
1339         Reviewed by Sam Weinig.
1340
1341         Create a HTMLElement when using createElement('image'), but keep the HTML5 parser constructing HTMLImageelement for it.
1342
1343         * html/HTMLTagNames.in:
1344
1345 2013-07-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1346
1347         Stop hardcoding interfaces that have indexed getters returning strings
1348         https://bugs.webkit.org/show_bug.cgi?id=118414
1349
1350         Reviewed by Kentaro Hara.
1351
1352         Stop hardcoding the names of interfaces that have indexed getters returning
1353         strings in the bindings generator. Now that we use the latest Web IDL indexed
1354         getter, more information is provided in the IDL files and the generator is
1355         able to figure out if the indexed getter is returning a DOMString on its own.
1356
1357         No new tests, no behavior change.
1358
1359         * bindings/scripts/CodeGeneratorJS.pm:
1360         (GenerateGetOwnPropertySlotBody):
1361         (GenerateImplementation):
1362
1363 2013-07-05  Tim Horton  <timothy_horton@apple.com>
1364
1365         Tons of crashes on bots after r152425
1366         https://bugs.webkit.org/show_bug.cgi?id=118440
1367         <rdar://problem/14366772>
1368
1369         Reviewed by Sam Weinig.
1370
1371         Null-check the frame's page and early return. It's OK to do this
1372         because it only happens when we're being torn down.
1373
1374         * page/FrameView.cpp:
1375         (WebCore::FrameView::minimumScrollPosition):
1376         (WebCore::FrameView::maximumScrollPosition):
1377
1378 2013-07-05  Tim Horton  <timothy_horton@apple.com>
1379
1380         Fix r152265: FrameView's pagination mode is only one of two, and the logic was totally wrong
1381         https://bugs.webkit.org/show_bug.cgi?id=118439
1382         <rdar://problem/14366120>
1383
1384         Reviewed by Anders Carlsson.
1385
1386         * page/FrameView.cpp:
1387         (WebCore::FrameView::maximumScrollPosition):
1388         - Test both Page and FrameView's pagination modes.
1389         - *Don't* clamp negatives to zero if we are paginated with scroll offset set,
1390             like the original changelog claimed, but the code did the opposite.
1391         - Don't clamp in *all* pagination modes; with 'direction: RTL' it's still possible
1392             to have a negative maximum position in LTR/TB pagination modes.
1393
1394 2013-07-05  Sam Weinig  <sam@webkit.org>
1395
1396         WKPageFindStringMatches with kWKFindOptionsBackwards still doesn't work
1397         <rdar://problem/13881024>
1398         https://bugs.webkit.org/show_bug.cgi?id=118436
1399
1400         Reviewed by Tim Horton.
1401
1402         * page/Page.cpp:
1403         (WebCore::Page::findStringMatchingRanges):
1404         - When searching backwards, use END_TO_START rather than START_TO_END.
1405         - If there is no selection and we are searching backwards, we now select the last item,
1406           not the first.
1407
1408 2013-07-05  Tullio Lucena  <tullio.lucena@openbossa.org>
1409
1410         Nix upstreaming - Adding Nix render theme files
1411         https://bugs.webkit.org/show_bug.cgi?id=118368
1412
1413         Reviewed by Benjamin Poulain.
1414
1415         All files related to render theme stuff.
1416
1417         No new tests. They will be uploaded on another patch during the upstreaming process.
1418
1419         * platform/nix/RenderThemeNix.cpp: Added.
1420         * platform/nix/RenderThemeNix.h: Added.
1421         * platform/nix/ScrollbarThemeNix.cpp: Added.
1422         * platform/nix/ScrollbarThemeNix.h: Added.
1423
1424 2013-07-05  Brent Fulgham  <bfulgham@apple.com>
1425
1426         [Windows] Identify OS-level at build-time.
1427         https://bugs.webkit.org/show_bug.cgi?id=118428
1428
1429         Reviewed by Anders Carlsson.
1430
1431         * DerivedSources.make: Activate legible output features if present.
1432         * WebCorePrefix.h: Activate MSVC 2010 workarounds for CGFloat if
1433         building with VS2010.
1434         * config.h: Activate legible output features if present.
1435
1436 2013-07-05  Tim Horton  <timothy_horton@apple.com>
1437
1438         [wk2] Add API to lock the scroll position at the top or bottom of the page
1439         https://bugs.webkit.org/show_bug.cgi?id=118429
1440         <rdar://problem/14120323>
1441
1442         Reviewed by Anders Carlsson.
1443
1444         Test (API): WebKit2.ScrollPinningBehaviors
1445
1446         * WebCore.exp.in:
1447         Expose FrameView::setScrollPinningBehavior.
1448
1449         * page/FrameView.cpp:
1450         (WebCore::FrameView::FrameView):
1451         Our pinning behavior should be DoNotPin by default.
1452
1453         * page/FrameView.cpp:
1454         (WebCore::FrameView::minimumScrollPosition):
1455         (WebCore::FrameView::maximumScrollPosition):
1456         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1457         (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
1458         (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
1459         Fix the minimum scroll position's vertical location to the maximum if
1460         we're pinned to the bottom, and vice-versa if we're pinned to the top.
1461
1462         (WebCore::FrameView::setScrollPinningBehavior): Added.
1463         If scroll pinning behavior has changed, inform ScrollingCoordinator
1464         and update scrollbars (which will also re-pin the scroll position).
1465
1466         * page/FrameView.h:
1467         Override minimumScrollPosition, add setScrollPinningBehavior,
1468         and storage for m_scrollPinningBehavior.
1469
1470         * page/scrolling/ScrollingCoordinator.h:
1471         (WebCore::ScrollingCoordinator::setScrollPinningBehavior): Added.
1472
1473         * page/scrolling/ScrollingTree.cpp:
1474         (WebCore::ScrollingTree::ScrollingTree):
1475         Our pinning behavior should be DoNotPin by default.
1476
1477         (WebCore::ScrollingTree::setScrollPinningBehavior):
1478         (WebCore::ScrollingTree::scrollPinningBehavior):
1479         Getter/setter for m_scrollPinningBehavior, scrolling-thread-safe.
1480
1481         * page/scrolling/ScrollingTree.h:
1482         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1483         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1484         (WebCore::ScrollingCoordinatorMac::setScrollPinningBehavior):
1485         Inform ScrollingTree of the scroll pinning behavior change.
1486         
1487         * platform/ScrollTypes.h:
1488         Add ScrollPinningBehavior enum.
1489
1490 2013-07-05  Zalan Bujtas  <zalan@apple.com>
1491
1492         iframe constrained by max-width in full screen
1493         https://bugs.webkit.org/show_bug.cgi?id=118250
1494
1495         Reviewed by Antti Koivisto.
1496
1497         Ensure that contents inside iframe can go full screen properly.
1498
1499         Set max-width and max-height values to the default 'none', so that iframes are not
1500         constrained when entering full screen.
1501
1502         Test: fullscreen/full-screen-iframe-with-max-width-height.html
1503
1504         * css/fullscreen.css:
1505         (iframe:-webkit-full-screen):
1506
1507 2013-07-05  Eric Carlson  <eric.carlson@apple.com>
1508
1509         [Mac] .webkitClosedCaptionsVisible doesn't work with "Automatic" caption mode
1510         https://bugs.webkit.org/show_bug.cgi?id=118319
1511
1512         Reviewed by Jer Noble.
1513
1514         Track when captions are enabled with the old 'webkitClosedCaptionsVisible' attribute and
1515         consider that when determining which track should be enabled.
1516
1517         Test: media/track/track-legacyapi-with-automatic-mode.html
1518
1519         * html/HTMLMediaElement.cpp:
1520         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_webkitLegacyClosedCaptionOverride.
1521         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): Set m_webkitLegacyClosedCaptionOverride.
1522         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): Return m_webkitLegacyClosedCaptionOverride.
1523         * html/HTMLMediaElement.h:
1524
1525         * page/CaptionUserPreferencesMediaAF.cpp:
1526         (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Don't apply "automatic"
1527             logic when captions were enabled with .webkitClosedCaptionsVisible.
1528
1529 2013-07-05  Benjamin Dupont   <bdupont@nds.com>
1530
1531         Segmentation fault occurred when ICU data library doesn't embed the expected encoding.
1532         https://bugs.webkit.org/show_bug.cgi?id=118410
1533
1534         Reviewed by Allan Sandfeld Jensen.
1535
1536         * platform/text/TextEncodingRegistry.cpp:
1537         (WebCore::newTextCodec):
1538
1539 2013-07-05  Denis Nomiyama  <d.nomiyama@samsung.com>
1540
1541         [GTK] fast/text/font-kerning.html fails
1542         https://bugs.webkit.org/show_bug.cgi?id=76048
1543
1544         Reviewed by Martin Robinson.
1545
1546         Added kerning to the list of features for hb_shade() according to FontDescription::kerning().
1547         Removed font-kerning.html from gtk/TestExpectations, which was failing before this fix.
1548
1549         * platform/graphics/harfbuzz/HarfBuzzFace.cpp:
1550         (WebCore):
1551         * platform/graphics/harfbuzz/HarfBuzzFace.h:
1552         (HarfBuzzFace):
1553         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1554         (WebCore::HarfBuzzShaper::setFontFeatures):
1555
1556 2013-07-05  Gwang Yoon Hwang  <ryumiel@company100.net>
1557
1558         Build fix GTK after r152404.
1559         https://bugs.webkit.org/show_bug.cgi?id=118407
1560
1561         Reviewed by Christophe Dumez.
1562
1563         * GNUmakefile.list.am:
1564
1565 2013-07-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1566
1567         Have SVGTextContentElement inherit SVGGraphicsElement
1568         https://bugs.webkit.org/show_bug.cgi?id=118351
1569
1570         Reviewed by Dirk Schulze.
1571
1572         Have SVGTextContentElement inherit SVGGraphicsElement instead of
1573         SVGStyledElement in order to match the latest SVG2 specification:
1574         https://svgwg.org/svg2-draft/text.html#InterfaceSVGTextContentElement
1575
1576         This patch also removes the SVGTransformable and SVGLocatable IDL
1577         interfaces as they are no longer needed (were merged into
1578         SVGGraphicsElement in the latest specification).
1579
1580         This is one step towards getting rid of multiple inheritance in
1581         SVG, and complying with the latest SVG2 specification.
1582
1583         No new tests, covered by existing tests.
1584
1585         * DerivedSources.make:
1586         * WebCore.xcodeproj/project.pbxproj:
1587         * bindings/scripts/CodeGeneratorJS.pm:
1588         (GetGnuVTableOffsetForType):
1589         * bindings/scripts/CodeGeneratorObjC.pm:
1590         * svg/SVGAnimateMotionElement.cpp:
1591         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
1592         * svg/SVGElement.cpp:
1593         (WebCore::SVGElement::getBoundingBox):
1594         * svg/SVGLocatable.idl: Removed.
1595         * svg/SVGTextContentElement.cpp:
1596         (WebCore::SVGTextContentElement::SVGTextContentElement):
1597         (WebCore::SVGTextContentElement::isSupportedAttribute):
1598         (WebCore::SVGTextContentElement::isPresentationAttribute):
1599         (WebCore::SVGTextContentElement::collectStyleForPresentationAttribute):
1600         (WebCore::SVGTextContentElement::parseAttribute):
1601         (WebCore::SVGTextContentElement::svgAttributeChanged):
1602         * svg/SVGTextContentElement.h:
1603         * svg/SVGTextContentElement.idl:
1604         * svg/SVGTextElement.cpp:
1605         (WebCore::SVGTextElement::SVGTextElement):
1606         (WebCore::SVGTextElement::animatedLocalTransform):
1607         * svg/SVGTextElement.h:
1608         * svg/SVGTextElement.idl:
1609         * svg/SVGTransformable.idl: Removed.
1610
1611 2013-07-03  Gavin Barraclough  <barraclough@apple.com>
1612
1613         Remove PageThrottler::m_activeThrottleBlockers
1614         https://bugs.webkit.org/show_bug.cgi?id=118375
1615
1616         Reviewed by Mark Rowe.
1617
1618         This is simply m_activityTokens.size().
1619
1620         Also, fold preventThrottling into addActivityToken & allowThrottling into removeActivityToken
1621         (these should no longer be called directly, and should not be public).
1622
1623         * page/PageThrottler.cpp:
1624         (WebCore::PageThrottler::PageThrottler):
1625             - removed m_activeThrottleBlockers
1626         (WebCore::PageThrottler::startThrottleHysteresisTimer):
1627             - m_activeThrottleBlockers -> m_activityTokens.size()
1628         (WebCore::PageThrottler::throttleHysteresisTimerFired):
1629             - m_activeThrottleBlockers -> m_activityTokens.size()
1630         (WebCore::PageThrottler::addActivityToken):
1631             - added functionality from preventThrottling
1632         (WebCore::PageThrottler::removeActivityToken):
1633             - added functionality from allowThrottling
1634         * page/PageThrottler.h:
1635             - removed preventThrottling, allowThrottling, and m_activeThrottleBlockers.
1636
1637 2013-07-01  Antti Koivisto  <antti@apple.com>
1638
1639         Take document height into account when determining when it is considered visually non-empy
1640         https://bugs.webkit.org/show_bug.cgi?id=118272
1641
1642         Reviewed by Darin Adler.
1643
1644         The current visually non-empy mechanism takes into account only the amount of contents in renderers. 
1645         Add a simple layout dependency so that we don't consider page non-empty until the document height
1646         exceed a (low) height threshold (or the load completes).
1647
1648         * page/FrameView.cpp:
1649         (WebCore::FrameView::performPostLayoutTasks):
1650         
1651             Don't send layout callbacks until we have actually some content.
1652
1653         (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
1654         (WebCore::FrameView::updateIsVisuallyNonEmpty):
1655         
1656             Factor into functions.
1657
1658         * page/FrameView.h:
1659         (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
1660         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
1661         * rendering/RenderEmbeddedObject.cpp:
1662         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1663         * rendering/RenderHTMLCanvas.cpp:
1664         (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
1665         
1666              The size is not known but the estimate provided here is always bigger than the threshold so
1667              the functionality is unchanged.
1668
1669 2013-07-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1670
1671         Unreviewed build fix after r152399.
1672
1673         Add missing header include for SVGNames.h.
1674
1675         * svg/SVGImageElement.h:
1676
1677 2013-07-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1678
1679         Change static_cast<SVGImageElement*> with toSVGImageElement
1680         https://bugs.webkit.org/show_bug.cgi?id=118387
1681
1682         Reviewed by Andreas Kling.
1683
1684         As a step to change static_cast with toXXX, static_cast<SVGImageElement*> can
1685         be changed with toSVGImageElement().
1686
1687         Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=153557
1688
1689         * rendering/svg/RenderSVGImage.cpp:
1690         (WebCore::RenderSVGImage::updateImageViewport):
1691         (WebCore::RenderSVGImage::layout):
1692         (WebCore::RenderSVGImage::paintForeground):
1693         * svg/SVGImageElement.h:
1694         (WebCore::toSVGImageElement):
1695         * svg/SVGImageLoader.cpp:
1696         (WebCore::SVGImageLoader::dispatchLoadEvent):
1697
1698 2013-07-04  Brian Holt  <brian.holt@samsung.com>
1699
1700         [GTK] Leak: Free PangoFontDescription* in RenderThemeGtk3
1701         https://bugs.webkit.org/show_bug.cgi?id=118386
1702
1703         Reviewed by Carlos Garcia Campos.
1704
1705         Free PangoFontDescription* allocated by gtk_style_context_get (transfer full).
1706
1707         * platform/gtk/RenderThemeGtk3.cpp:
1708         (WebCore::spinButtonArrowSize):
1709
1710 2013-07-04  Brian Holt  <brian.holt@samsung.com>
1711
1712         [ATK] Leak: AtkAttributeSet* should be freed
1713         https://bugs.webkit.org/show_bug.cgi?id=118307
1714
1715         Reviewed by Christophe Dumez.
1716
1717         Use AtkAttributeSet* instead of GSList*.
1718
1719         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1720         (webkitAccessibleGetObjectLocale):
1721
1722 2013-07-04  Mario Sanchez Prada  <mario.prada@samsung.com>
1723
1724         [ATK] Do not expose '\n' for wrapped lines with ATK_TEXT_BOUNDARY_CHAR
1725         https://bugs.webkit.org/show_bug.cgi?id=118359
1726
1727         Reviewed by Carlos Garcia Campos.
1728
1729         Do not expose a '\n' character for every visual line break.
1730
1731         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1732         (webkitAccessibleTextGetChar): Removed wrong code.
1733
1734 2013-07-04  Patrick Gansterer  <paroga@webkit.org>
1735
1736         Port FileSystemWin.cpp to WinCE
1737         https://bugs.webkit.org/show_bug.cgi?id=117935
1738
1739         Reviewed by Brent Fulgham.
1740
1741         Add #if !OS(WINCE) around a few lines of the code, so it can be used by the WinCE port too.
1742
1743         * PlatformWinCE.cmake:
1744         * platform/win/FileSystemWin.cpp:
1745         (WebCore::storageDirectory):
1746         * platform/wince/FileSystemWinCE.cpp: Removed.
1747
1748 2013-07-04  Balazs Kelemen  <b.kelemen@samsung.com>
1749
1750         [GStreamer] support preload="metadata"
1751         https://bugs.webkit.org/show_bug.cgi?id=116817
1752
1753         Reviewed by Eric Carlson.
1754
1755         Add appropriate behavior for preload="metadata". Delay enabling download buffering
1756         until playback is started in this case. This behavior fits with the standard quite
1757         well and this is the most exact match we can get (at least without adding too much
1758         extra complexity). What matters mostly is that we can avoid loading the media
1759         before playback but we have the first frame and the metadata.
1760
1761         Test: media/video-load-preload-metadata.html
1762
1763         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1764         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Set |m_preload| to |Auto|
1765         so we will start download buffering if we did not start it yet.
1766         (WebCore::MediaPlayerPrivateGStreamer::play): Ditto.
1767         (MediaPlayerPrivateGStreamer::setDownloadBuffering): Only start download
1768         buffering if |m_preload == Auto|. Also make sure we don't clear the download
1769         flag once we started downloading because it would result in not well defined
1770         behavior and it does not really makes sense.
1771         (MediaPlayerPrivateGStreamer::setPreload): Set download buffering accordingly.
1772
1773 2013-07-03  Jae Hyun Park  <jae.park@company100.net>
1774
1775         [Coordinated Graphics] Don't use && operator in ASSERT
1776         https://bugs.webkit.org/show_bug.cgi?id=118377
1777
1778         Reviewed by Noam Rosenthal.
1779
1780         We don't use && opeartor in ASSERT because it's impossible to know which
1781         condition caused the assertion.
1782
1783         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
1784         (WebCore::CoordinatedBackingStoreTile::swapBuffers):
1785         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1786         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
1787
1788 2013-07-03  KyungTae Kim  <ktf.kim@samsung.com>
1789
1790         [EFL] Support some more editing keyboard events
1791         https://bugs.webkit.org/show_bug.cgi?id=118346
1792
1793         Reviewed by Gyuyoung Kim.
1794
1795         For editable contents, support the shortcuts for copy, page, cut, select all, undo and redo.
1796
1797         * platform/efl/EflKeyboardUtilities.cpp:
1798
1799 2013-07-03  Chris Fleizach  <cfleizach@apple.com>
1800
1801         AX: Items the img aria role aren't inserting an object replacement character
1802         https://bugs.webkit.org/show_bug.cgi?id=118259
1803
1804         Reviewed by Tim Horton.
1805
1806         VoiceOver relies on object replacement characters being emitted when asking for selected text.
1807         This has worked if a real <img> is used, but if role="img" is used on a <div>, for example,
1808         no emission is performed, which leads to missed elements in text.
1809
1810         Test: platform/mac/accessibility/aria-image-emits-object-replacement.html
1811
1812         * editing/TextIterator.cpp:
1813         (WebCore::isRendererReplacedElement):
1814         (WebCore::TextIterator::advance):
1815
1816 2013-07-03  Kangil Han  <kangil.han@samsung.com>
1817
1818         Adopt is/toHTMLMapElement for code cleanup
1819         https://bugs.webkit.org/show_bug.cgi?id=118235
1820
1821         Reviewed by Andreas Kling.
1822
1823         To enhance readability, this patch adopts is/toHTMLMapElement.
1824         This also helps out to reduce duplicated use of static_cast.
1825
1826         * accessibility/AccessibilityRenderObject.cpp:
1827         (WebCore::AccessibilityRenderObject::getDocumentLinks):
1828         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
1829         * dom/DocumentOrderedMap.cpp:
1830         (WebCore::keyMatchesMapName):
1831         (WebCore::keyMatchesLowercasedMapName):
1832         * dom/TreeScope.cpp:
1833         (WebCore::TreeScope::getImageMap):
1834         * html/HTMLAreaElement.cpp:
1835         (WebCore::HTMLAreaElement::imageElement):
1836         * html/HTMLMapElement.h:
1837         (WebCore::isHTMLMapElement):
1838         (WebCore::toHTMLMapElement):
1839
1840 2013-07-03  Brent Fulgham  <bfulgham@apple.com>
1841
1842         [Windows] Unreviewed build correction after r15283.
1843
1844         * WebCorePrefix.h: Remove include directive for CGFloat.h, as it
1845         is not present in all Windows build environments.
1846
1847 2013-07-03  Brent Fulgham  <bfulgham@apple.com>
1848
1849         [Windows] Exclude unsupported QuartzCore Features.
1850         https://bugs.webkit.org/show_bug.cgi?id=118374
1851
1852         Reviewed by Anders Carlsson.
1853
1854         * WebCore.vcxproj/WebCoreCG.props: Exclude a few non-Windows
1855         concepts from the QuartzCore headers.
1856
1857 2013-07-03  Gavin Barraclough  <barraclough@apple.com>
1858
1859         Simplify PageThrottler ownership.
1860         https://bugs.webkit.org/show_bug.cgi?id=118372
1861
1862         Reviewed by Sam Weinig.
1863
1864         * page/Page.cpp:
1865         (WebCore::Page::~Page):
1866             - 'clearPage' method removed - just clear the own pointer.
1867         * page/Page.h:
1868             - make m_pageThrottler an OwnPtr.
1869         * page/PageThrottler.cpp:
1870         (WebCore::PageThrottler::~PageThrottler):
1871             - moved 'setThrottled(false)' from 'clearPage' (removed).
1872         (WebCore::PageThrottler::throttlePage):
1873         (WebCore::PageThrottler::unthrottlePage):
1874             - no need to check 'm_page'
1875         * page/PageThrottler.h:
1876         (WebCore::PageThrottler::create):
1877             - create a PassOwnPtr, not PassRefPtr.
1878
1879 2013-07-03  Brent Fulgham  <bfulgham@apple.com>
1880
1881         [Windows] Updates to support changes in CoreGraphics libraries.
1882         https://bugs.webkit.org/show_bug.cgi?id=118373
1883
1884         Reviewed by Anders Carlsson.
1885
1886         * WebCorePrefix.h: Include definitions for isnan/round/roundf for versions of
1887         Visual Studio that do not provide them natively.
1888
1889 2013-07-03  Gordon Sheridan  <gordon_sheridan@apple.com>
1890
1891         Implement mechanism to detect (partially) hidden blocked plugins.
1892         https://bugs.webkit.org/show_bug.cgi?id=117998
1893
1894         Reviewed by Dean Jackson.
1895
1896         * rendering/RenderEmbeddedObject.cpp:
1897         (WebCore::RenderEmbeddedObject::replacementTextRect):
1898         Added private method for calculating the size of the replacement text for blocked plugins.
1899
1900         (WebCore::RenderEmbeddedObject::isReplacementObscured):
1901         Added public method to determine if the EMBED element used for a blocked plugin is inaccessible to the user.
1902         * rendering/RenderEmbeddedObject.h:
1903         Declare the two new methods mentioned above.
1904
1905         * WebCore.exp.in:
1906         Export RenderEmbeddedObject::isReplacementObscured().
1907
1908 2013-07-03  Jessie Berlin  <jberlin@apple.com>
1909
1910         Speculative build fix after r152340.
1911
1912         * WebCore.exp.in:
1913
1914 2013-07-03  Kangil Han  <kangil.han@samsung.com>
1915
1916         Append overloading function for isFooElement
1917         https://bugs.webkit.org/show_bug.cgi?id=118334
1918
1919         Reviewed by Antti Koivisto.
1920
1921         Node::hasTagName needs additional isElementNode() check when it is triggered.
1922         So conversion from Element* to Node* in isFooElement should be avoided.
1923         Therefore, to support both Node* and Element* as an argument of isFooElement,
1924         this patch appends overloading inline function.
1925
1926         * css/CSSStyleSheet.cpp:
1927         (WebCore::isAcceptableCSSStyleSheetParent):
1928         * css/StyleScopeResolver.cpp:
1929         (WebCore::StyleScopeResolver::scopeFor):
1930         * dom/Node.cpp:
1931         (WebCore::Node::numberOfScopedHTMLStyleChildren):
1932         * html/HTMLAnchorElement.h:
1933         (WebCore::isHTMLAnchorElement):
1934         * html/HTMLAreaElement.h:
1935         (WebCore::isHTMLAreaElement):
1936         * html/HTMLAudioElement.h:
1937         (WebCore::isHTMLAudioElement):
1938         * html/HTMLFormElement.h:
1939         (WebCore::isHTMLFormElement):
1940         * html/HTMLImageElement.h:
1941         (WebCore::isHTMLImageElement):
1942         * html/HTMLInputElement.h:
1943         (WebCore::isHTMLInputElement):
1944         * html/HTMLLabelElement.h:
1945         (WebCore::isHTMLLabelElement):
1946         * html/HTMLOptGroupElement.h:
1947         (WebCore::isHTMLOptGroupElement):
1948         * html/HTMLOptionElement.h:
1949         (WebCore::isHTMLOptionElement):
1950         * html/HTMLStyleElement.h:
1951         (WebCore::isHTMLStyleElement):
1952         (WebCore::toHTMLStyleElement):
1953         * html/HTMLTextAreaElement.h:
1954         (WebCore::isHTMLTextAreaElement):
1955
1956 2013-07-03  Balazs Kelemen  <b.kelemen@samsung.com>
1957
1958         Gif: zero filling should use memset instead of setRGBA for every pixel
1959         https://bugs.webkit.org/show_bug.cgi?id=118350
1960
1961         Reviewed by Allan Sandfeld Jensen.
1962
1963         No new tests. Actually it is not covered by existing tests. Surprisingly we haven't got pixel
1964         tests for animated images. Given that this patch is pretty trivial I don't think it's worth the
1965         cost to start introducing such tests.
1966         I added a manual test: animated-gif-dispose-background.html.
1967
1968         GIFImageDecoder::initializeFrameBuffer use a loop to fill a subrect with tranparent pixels.
1969         This is extremely ineffecient. The use case for this code path is not frequent on the web
1970         but it's still better to fix it.
1971
1972         * platform/image-decoders/ImageDecoder.cpp:
1973         (WebCore::ImageFrame::zeroFillFrameRect):
1974         * platform/image-decoders/ImageDecoder.h:
1975         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1976         (WebCore::GIFImageDecoder::initFrameBuffer):
1977         Fixed indentation in addition.
1978
1979 2013-07-03  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
1980
1981         TextureUnit code optimization
1982         https://bugs.webkit.org/show_bug.cgi?id=117868
1983
1984         Reviewed by Noam Rosenthal.
1985
1986         According to OpenGL ES 2.0 specification it is not possible to use both
1987         texture2D and textureCubeMap in one texture unit.
1988         This patch reduces amount of code, slightly increases rendering performance
1989         and makes WebKit more consistent with OpenGL.
1990
1991         No new tests. Covered by existing tests:
1992         LayoutTests/webgl/conformance/textures/tex-image-webgl.html
1993         LayoutTests/webgl/conformance/textures/texture-complete.html
1994
1995         * html/canvas/WebGLRenderingContext.cpp:
1996         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
1997         (WebCore::WebGLRenderingContext::reshape):
1998         (WebCore::WebGLRenderingContext::bindTexture):
1999         (WebCore::WebGLRenderingContext::deleteTexture):
2000         (WebCore::WebGLRenderingContext::getParameter):
2001         (WebCore::WebGLRenderingContext::handleNPOTTextures):
2002         (WebCore::WebGLRenderingContext::validateTextureBinding):
2003         (WebCore::WebGLRenderingContext::restoreCurrentTexture2D):
2004         * html/canvas/WebGLRenderingContext.h:
2005
2006 2013-07-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2007
2008         Stop inheriting SVGFilterPrimitiveStandardAttributes in SVG
2009         https://bugs.webkit.org/show_bug.cgi?id=118305
2010
2011         Reviewed by Kentaro Hara.
2012
2013         Stop inheriting SVGFilterPrimitiveStandardAttributes in SVG and use
2014         Web IDL implements instead to get rid of multiple inheritance and
2015         follow the latest specification:
2016         - http://www.w3.org/TR/filter-effects/#DOMInterfaces
2017
2018         No new tests, no behavior change.
2019
2020         * CMakeLists.txt:
2021         * DerivedSources.pri:
2022         * GNUmakefile.list.am:
2023         * svg/SVGFEBlendElement.idl:
2024         * svg/SVGFEColorMatrixElement.idl:
2025         * svg/SVGFEComponentTransferElement.idl:
2026         * svg/SVGFECompositeElement.idl:
2027         * svg/SVGFEConvolveMatrixElement.idl:
2028         * svg/SVGFEDiffuseLightingElement.idl:
2029         * svg/SVGFEDisplacementMapElement.idl:
2030         * svg/SVGFEDropShadowElement.idl:
2031         * svg/SVGFEFloodElement.idl:
2032         * svg/SVGFEGaussianBlurElement.idl:
2033         * svg/SVGFEImageElement.idl:
2034         * svg/SVGFEMergeElement.idl:
2035         * svg/SVGFEMorphologyElement.idl:
2036         * svg/SVGFEOffsetElement.idl:
2037         * svg/SVGFESpecularLightingElement.idl:
2038         * svg/SVGFETileElement.idl:
2039         * svg/SVGFETurbulenceElement.idl:
2040
2041 2013-07-03  Zalan Bujtas  <zalan@apple.com>
2042
2043         H&R Block 2010 Help window can not be reopened.
2044         https://bugs.webkit.org/show_bug.cgi?id=118342
2045
2046         Reviewed by Antti Koivisto.
2047
2048         http://trac.webkit.org/changeset/118916 changed the window.focus() behaviour so that
2049         only the opener can (re)focus() a particular window.
2050         H&R Block app relies on the relaxed window.focus() rules.
2051
2052         * WebCore.exp.in:
2053         * platform/RuntimeApplicationChecks.cpp:
2054         (WebCore::applicationIsHRBlock):
2055         * platform/RuntimeApplicationChecks.h:
2056
2057 2013-07-03  Zan Dobersek  <zdobersek@igalia.com>
2058
2059         Further build fixing for build configurations that disable CSS regions support.
2060
2061         * dom/PseudoElement.h: Wrap shouldMoveToFlowThread override into the ENABLE(CSS_REGIONS) build guard.
2062
2063 2013-07-03  Zan Dobersek  <zdobersek@igalia.com>
2064
2065         Unreviewed build fix after r152320 and r152345 for build configurations that enable
2066         SVG support but disable CSS regions support.
2067
2068         * svg/SVGElement.cpp: Wrap shouldMoveToFlowThread override into the ENABLE(CSS_REGIONS) build guard.
2069         * svg/SVGElement.h: Ditto.
2070
2071 2013-07-03  Radu Stavila  <stavila@adobe.com>
2072
2073         [CSS Regions] Improve implementation of elements in region being flowed to another flow thread
2074         https://bugs.webkit.org/show_bug.cgi?id=118300
2075
2076         Based on patch by Zoltán Árvai <zarvai@inf.u-szeged.hu>
2077
2078         Reviewed by Csaba Osztrogonác.
2079
2080         Fixed CSS_REGIONS guard.
2081
2082         * dom/Element.h:
2083         * dom/NodeRenderingContext.cpp:
2084         (WebCore::NodeRenderingContext::elementInsideRegionNeedsRenderer):
2085         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2086
2087 2013-07-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2088
2089         Move SVGTests attributes parsing to SVGGraphicsElement
2090         https://bugs.webkit.org/show_bug.cgi?id=118292
2091
2092         Reviewed by Darin Adler.
2093
2094         Move SVGTests attributes parsing to SVGGraphicsElement instead of doing
2095         this in each of its subclasses. SVGGraphicsElement is now the one
2096         subclassing SVGTests after r152167.
2097
2098         No new tests, no behavior change.
2099
2100         * svg/SVGAElement.cpp:
2101         (WebCore::SVGAElement::isSupportedAttribute):
2102         (WebCore::SVGAElement::parseAttribute):
2103         * svg/SVGCircleElement.cpp:
2104         (WebCore::SVGCircleElement::isSupportedAttribute):
2105         (WebCore::SVGCircleElement::parseAttribute):
2106         (WebCore::SVGCircleElement::svgAttributeChanged):
2107         * svg/SVGClipPathElement.cpp:
2108         (WebCore::SVGClipPathElement::isSupportedAttribute):
2109         (WebCore::SVGClipPathElement::parseAttribute):
2110         * svg/SVGEllipseElement.cpp:
2111         (WebCore::SVGEllipseElement::isSupportedAttribute):
2112         (WebCore::SVGEllipseElement::parseAttribute):
2113         (WebCore::SVGEllipseElement::svgAttributeChanged):
2114         * svg/SVGForeignObjectElement.cpp:
2115         (WebCore::SVGForeignObjectElement::isSupportedAttribute):
2116         (WebCore::SVGForeignObjectElement::parseAttribute):
2117         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
2118         * svg/SVGGElement.cpp:
2119         (WebCore::SVGGElement::isSupportedAttribute):
2120         (WebCore::SVGGElement::parseAttribute):
2121         (WebCore::SVGGElement::svgAttributeChanged):
2122         * svg/SVGGraphicsElement.cpp:
2123         (WebCore::SVGGraphicsElement::isSupportedAttribute):
2124         (WebCore::SVGGraphicsElement::parseAttribute):
2125         (WebCore::SVGGraphicsElement::svgAttributeChanged):
2126         * svg/SVGImageElement.cpp:
2127         (WebCore::SVGImageElement::isSupportedAttribute):
2128         (WebCore::SVGImageElement::parseAttribute):
2129         (WebCore::SVGImageElement::svgAttributeChanged):
2130         * svg/SVGLineElement.cpp:
2131         (WebCore::SVGLineElement::isSupportedAttribute):
2132         (WebCore::SVGLineElement::parseAttribute):
2133         (WebCore::SVGLineElement::svgAttributeChanged):
2134         * svg/SVGPathElement.cpp:
2135         (WebCore::SVGPathElement::isSupportedAttribute):
2136         (WebCore::SVGPathElement::parseAttribute):
2137         (WebCore::SVGPathElement::svgAttributeChanged):
2138         * svg/SVGPolyElement.cpp:
2139         (WebCore::SVGPolyElement::isSupportedAttribute):
2140         (WebCore::SVGPolyElement::parseAttribute):
2141         (WebCore::SVGPolyElement::svgAttributeChanged):
2142         * svg/SVGRectElement.cpp:
2143         (WebCore::SVGRectElement::isSupportedAttribute):
2144         (WebCore::SVGRectElement::parseAttribute):
2145         (WebCore::SVGRectElement::svgAttributeChanged):
2146         * svg/SVGSVGElement.cpp:
2147         (WebCore::SVGSVGElement::parseAttribute):
2148         (WebCore::SVGSVGElement::svgAttributeChanged): Fall back to calling
2149         SVGGraphicsElement::svgAttributeChanged() instead of
2150         SVGStyledElement::svgAttributeChanged() as SVGGraphicsElement is the
2151         parent class and it takes care of parsing SVGTests attributes now.
2152         * svg/SVGUseElement.cpp:
2153         (WebCore::SVGUseElement::isSupportedAttribute):
2154         (WebCore::SVGUseElement::parseAttribute):
2155         (WebCore::SVGUseElement::svgAttributeChanged):
2156
2157 2013-07-02  Ryosuke Niwa  <rniwa@webkit.org>
2158
2159         Modernize QualifiedName by wrapping gNameCache in a function and using more early exits
2160         https://bugs.webkit.org/show_bug.cgi?id=118299
2161
2162         Reviewed by Andreas Kling.
2163
2164         Did cleanups.
2165
2166         * dom/QualifiedName.cpp:
2167         (WebCore::qualifiedNameCache): Added to wrap gNameCache.
2168         (WebCore::QualifiedName::QualifiedName):
2169         (WebCore::QualifiedName::QualifiedNameImpl::~QualifiedNameImpl):
2170         (WebCore::QualifiedName::toString): Use early exit and StringBuilder.
2171         (WebCore::QualifiedName::init): Use early exit.
2172
2173 2013-07-02  Simon Fraser  <simon.fraser@apple.com>
2174
2175         Don't set z-index: 0 on lots of elements with -webkit-overflow-scrolling: touch
2176         https://bugs.webkit.org/show_bug.cgi?id=118337
2177
2178         Reviewed by Benjamin Poulain.
2179
2180         -webkit-overflow-scrolling: touch is an inherited property that, on iOS, controls
2181         the behavior of overflow scrolling content, and causes overflow scrolling elements
2182         to become CSS stacking contexts.
2183
2184         However, the code was too aggressive in setting style->setZIndex(0), doing so
2185         for any element with overflow != hidden. Since the default for overflow is visible,
2186         that meant almost every element.
2187
2188         Previously, this didn't really matter. However, since r125693, any renderer with non-auto
2189         z-index gets a RenderLayer, and that RenderLayer will become a stacking context. The result
2190         was too many RenderLayers and incorrect stacking context behavior.
2191
2192         Fix by ensuring that -webkit-overflow-scrolling: touch  only affects elements which
2193         are actually scrollable.
2194
2195         Also move the code that does this to below the code that adjust overflow style
2196         for different elements.
2197
2198         * css/StyleResolver.cpp:
2199         (WebCore::isScrollableOverflow):
2200         (WebCore::StyleResolver::adjustRenderStyle):
2201
2202 2013-07-02  Commit Queue  <commit-queue@webkit.org>
2203
2204         Unreviewed, rolling out r152318.
2205         http://trac.webkit.org/changeset/152318
2206         https://bugs.webkit.org/show_bug.cgi?id=118333
2207
2208         This patch broke media/track/track-automatic-subtitles.html on
2209         Mac (Requested by dfarler on #webkit).
2210
2211         * page/CaptionUserPreferencesMediaAF.cpp:
2212         (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
2213
2214 2013-07-02  Ruth Fong  <ruth_fong@apple.com>
2215
2216         Change event should not be dispatched by clicking a scrollbar of select listbox
2217         https://bugs.webkit.org/show_bug.cgi?id=118019
2218         <rdar://problem/14297760>
2219
2220         Reviewed by Dean Jackson.
2221
2222         Test: fast/forms/select/listbox-click-on-scrollbar.html
2223
2224         Merge the following:
2225         http://src.chromium.org/viewvc/blink?view=revision&revision=151689
2226         https://chromium.googlesource.com/chromium/blink/+/492549b0fcaa58a85aa0797446b62985a263704f
2227
2228         Previously, a select element with the multiple attribute would dispatch
2229         an onChanged event when the scrollbar is clicked. This patch corrects this
2230         issue by only calling listBoxOnChange(), which fires the onChanged event,
2231         when an actual option is clicked.
2232
2233         * html/HTMLSelectElement.cpp:
2234         (WebCore::HTMLSelectElement::childrenChanged): Updated to clear the list
2235         of selected items when when an <option> element is added to/deleted from its <select> element.
2236         (Without this addition, if a option was selected, and then JavaScript was used to modify
2237         the <select> element, and then the scrollbar was clicked, an onChanged event would fire
2238         because it remembers the previously selected option.)
2239
2240         (WebCore::HTMLSelectElement::listBoxOnChange):
2241
2242         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Updated to
2243         only call listBoxOnChange() if at least one option is selected.
2244
2245 2013-07-02  Alex Christensen  <achristensen@apple.com>
2246
2247         Preparing Windows WebGL build system.
2248         https://bugs.webkit.org/show_bug.cgi?id=118325
2249
2250         Reviewed by Brent Fulgham.
2251
2252         * WebCore.vcxproj/WebCore.vcxproj: Added EGL files, removed unused GraphicsContext3DOpenGL.cpp.
2253         * WebCore.vcxproj/WebCore.vcxproj.filters: Added EGL filter and files, removed unused GraphicsContext3DOpenGL.cpp.
2254
2255 2013-07-02  Jessie Berlin  <jberlin@apple.com>
2256
2257         The callback for WKPageGetPlugInInformation needs info about whether or not there are any
2258         non-playing instances of the plug-in on the page
2259         https://bugs.webkit.org/show_bug.cgi?id=118330
2260
2261         Reviewed by Anders Carlsson.
2262
2263         * WebCore.exp.in:
2264         Expose a symbol so it can be used in WebKit2.
2265
2266 2013-07-02  Alex Christensen  <achristensen@apple.com>
2267
2268         Added getProcAddress implementation for Windows in OpenGLShims.
2269         https://bugs.webkit.org/show_bug.cgi?id=118312
2270
2271         Reviewed by Brent Fulgham.
2272
2273         * platform/graphics/OpenGLShims.cpp:
2274         (WebCore::getProcAddress): Added for Windows.
2275
2276 2013-07-02  Jer Noble  <jer.noble@apple.com>
2277
2278         media/unsupported-rtsp.html is failing
2279         https://bugs.webkit.org/show_bug.cgi?id=118327
2280
2281         Reviewed by Eric Carlson.
2282
2283         Fixes the media/unsupported-rtsp.html test.
2284
2285         Set the contentType field of contentInformationRequest in order to trigger AVFoundation to
2286         notice that loading failed and generate an error.
2287
2288         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
2289         (WebCore::WebCoreAVFResourceLoader::notifyFinished):
2290
2291 2013-07-02  Alex Christensen  <achristensen@apple.com>
2292
2293         Fixed compile error in non-X11 platforms using EGL.
2294         https://bugs.webkit.org/show_bug.cgi?id=118323
2295
2296         Reviewed by Brent Fulgham.
2297
2298         * platform/graphics/egl/GLContextEGL.cpp:
2299         (WebCore::GLContextEGL::createPixmapContext): Put all X11-specific code into #if PLATFORM(X11).
2300
2301 2013-07-02  Radu Stavila  <stavila@adobe.com>
2302
2303         [CSS Regions] Improve implementation of elements in region being flowed to another flow thread
2304         https://bugs.webkit.org/show_bug.cgi?id=118300
2305
2306         Reviewed by David Hyatt.
2307
2308         Methods that must be const have been turned back into const. Code has been better organized.
2309         Performance is better. Tests have been added to.
2310
2311         * dom/Element.cpp:
2312         (WebCore::Element::detach):
2313         (WebCore::Element::setIsInsideRegion):
2314         (WebCore::Element::isInsideRegion):
2315         (WebCore::Element::shouldMoveToFlowThread):
2316         * dom/Element.h:
2317         * dom/ElementRareData.h:
2318         (WebCore::ElementRareData::isInsideRegion):
2319         (WebCore::ElementRareData::setIsInsideRegion):
2320         (WebCore::ElementRareData::ElementRareData):
2321         * dom/Node.cpp:
2322         (WebCore::Node::isRegisteredWithNamedFlow):
2323         * dom/Node.h:
2324         * dom/NodeRenderingContext.cpp:
2325         (WebCore::NodeRenderingContext::parentRenderer):
2326         (WebCore::NodeRenderingContext::shouldCreateRenderer):
2327         (WebCore::NodeRenderingContext::elementInsideRegionNeedsRenderer):
2328         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2329         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
2330         * dom/NodeRenderingContext.h:
2331         * dom/PseudoElement.h:
2332         * dom/Text.cpp:
2333         (WebCore::Text::textRendererIsNeeded):
2334         * dom/Text.h:
2335         * rendering/FlowThreadController.cpp:
2336         (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
2337         (WebCore::FlowThreadController::isContentNodeRegisteredWithAnyNamedFlow):
2338         * rendering/FlowThreadController.h:
2339         * rendering/RenderObject.h:
2340         * rendering/RenderRegion.h:
2341         * svg/SVGElement.cpp:
2342         (WebCore::SVGElement::shouldMoveToFlowThread):
2343         * svg/SVGElement.h:
2344
2345 2013-07-02  Eric Carlson  <eric.carlson@apple.com>
2346
2347         [Mac] .webkitClosedCaptionsVisible doesn't work with "Automatic" caption mode
2348         https://bugs.webkit.org/show_bug.cgi?id=118319
2349
2350         Reviewed by Darin Adler.
2351
2352         Test: media/track/track-legacyapi-with-automatic-mode.html
2353
2354         * page/CaptionUserPreferencesMediaAF.cpp:
2355         (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Don't apply "automatic"
2356             logic when captions were enabled with .webkitClosedCaptionsVisible.
2357
2358 2013-07-02  Anders Carlsson  <andersca@apple.com>
2359
2360         Always flip the coordinate system before drawing NSViews from Widget::paint
2361         https://bugs.webkit.org/show_bug.cgi?id=118318
2362         <rdar://problem/13895483>
2363
2364         Reviewed by Beth Dakin.
2365
2366         Undo the change that would not flip on 10.9; turns out the bug was in AppKit. Also remove the
2367         _hasCanDrawSubviewsIntoLayerOrAncestor workaround since drawing works correctly now.
2368
2369         Also, pass flipped:NO when creating the NSGraphicsContext to indicate that the graphics context
2370         is unflipped as far as AppKit knows (since we flipped it earlier).
2371
2372         * platform/mac/WidgetMac.mm:
2373         (WebCore::Widget::paint):
2374
2375 2013-06-26  Robert Hogan  <robert@webkit.org>
2376
2377         empty inlines should not affect line-wrapping
2378         https://bugs.webkit.org/show_bug.cgi?id=25638
2379
2380         Reviewed by David Hyatt.
2381
2382         Don't break on empty inlines if we're in the middle of a word. I took this opportunity to
2383         refactor the series of checks we perform to establish if we can break at the current position.
2384
2385         Test: fast/text/whitespace/inline-whitespace-wrapping-11.html
2386
2387         * rendering/RenderBlockLineLayout.cpp:
2388         (WebCore::textBeginsWithBreakablePosition):
2389         (WebCore::canBreakAtThisPosition):
2390         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2391
2392 2013-07-02  Jae Hyun Park  <jae.park@company100.net>
2393
2394         Implement CoordinatedSurface for Threaded Coordinated Graphics
2395         https://bugs.webkit.org/show_bug.cgi?id=109661
2396
2397         Reviewed by Noam Rosenthal.
2398
2399         This is a preparation patch for Threaded Coordianted Graphics.
2400
2401         This patch implements ThreadSafeCoordinatedSurface using ImageBuffer as a
2402         backend. Also, this patch moves common implementation to CoordinatedSurface to
2403         prevent duplication of code.
2404
2405         * platform/graphics/texmap/coordinated/CoordinatedSurface.cpp:
2406         (WebCore::CoordinatedSurface::CoordinatedSurface):
2407         * platform/graphics/texmap/coordinated/CoordinatedSurface.h:
2408         (WebCore::CoordinatedSurface::size):
2409         (WebCore::CoordinatedSurface::flags):
2410         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp: Added.
2411         (WebCore::ThreadSafeCoordinatedSurface::create):
2412         (WebCore::ThreadSafeCoordinatedSurface::ThreadSafeCoordinatedSurface):
2413         (WebCore::ThreadSafeCoordinatedSurface::~ThreadSafeCoordinatedSurface):
2414         (WebCore::ThreadSafeCoordinatedSurface::paintToSurface):
2415         (WebCore::ThreadSafeCoordinatedSurface::copyToTexture):
2416         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h: Added.
2417
2418 2013-07-02  Geoffrey Garen  <ggaren@apple.com>
2419
2420         plainText() is O(N^2)
2421         https://bugs.webkit.org/show_bug.cgi?id=118282
2422         <rdar://problem/14284360>
2423
2424         Reviewed by Alexey Proskuryakov.
2425
2426         * editing/TextIterator.cpp:
2427         (WebCore::plainText): Linear growth for a vector data type is O(N^2).
2428         Don't do that. Luckily, StringBuilder does the right thing automatically,
2429         so we can just delete code.
2430
2431 2013-07-02  Tim Horton  <timothy_horton@apple.com>
2432
2433         constrainScrollPositionForOverhang needs to handle scrollOrigin correctly
2434         https://bugs.webkit.org/show_bug.cgi?id=118176
2435         <rdar://problem/14301271>
2436
2437         Reviewed by Anders Carlsson.
2438
2439         Test: compositing/geometry/fixed-position-flipped-writing-mode.html
2440
2441         WebCore makes use of constrainScrollPositionForOverhang not only for
2442         constraining fixed- and sticky-positioned elements to the viewport, but
2443         also for clamping the tile cache's visible rect.
2444
2445         Therefore, constrainScrollPositionForOverhang needs to correctly take
2446         the scrollOrigin into account. The easiest way I saw to do this was to
2447         reimplement the function in terms of a pair of rect intersections
2448         between a virtual scrollable "viewport" and the document (with a bit
2449         of complication from headers and footers).
2450
2451         The first intersection is performed, then if the viewport doesn't fit,
2452         it is pushed down and to the right, from the origin. Next, we intersect
2453         again, this time pushing the rect up by the amount it overflowed the document
2454         rect from the bottom right. This performs effectively the same constraint
2455         as previously, but handles the scrollOrigin correctly and is also somewhat
2456         easier to read and understand (with pictures).
2457
2458         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2459         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
2460         Subtract the scrollOrigin out of the offset passed to scrollOffsetForFixedPosition,
2461         it's expecting an offset without the origin included.
2462
2463         * platform/ScrollableArea.cpp:
2464         (WebCore::ScrollableArea::constrainScrollPositionForOverhang):
2465         Reimplement the function as described above.
2466
2467 2013-07-02  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2468
2469         Remove SVGStyledLocatableElement class
2470         https://bugs.webkit.org/show_bug.cgi?id=118283
2471
2472         Reviewed by Dirk Schulze.
2473
2474         Remove SVGStyledLocatableElement class and have SVGGraphicsElement
2475         inherit SVGStyledElement directly instead. SVGStyledLocatableElement
2476         is no longer needed and according to the specification, SVGGraphicsElement
2477         should inherit SVGStyledElement (actually SVGElement once we merge
2478         SVGStyledElement into SVGElement).
2479
2480         No new tests, no behavior change.
2481
2482         * CMakeLists.txt:
2483         * GNUmakefile.list.am:
2484         * Target.pri:
2485         * WebCore.order:
2486         * WebCore.vcxproj/WebCore.vcxproj:
2487         * WebCore.vcxproj/WebCore.vcxproj.filters:
2488         * WebCore.xcodeproj/project.pbxproj:
2489         * bindings/scripts/CodeGeneratorJS.pm:
2490         (GetGnuVTableOffsetForType):
2491         * svg/SVGAllInOne.cpp:
2492         * svg/SVGElement.cpp:
2493         (WebCore::SVGElement::getBoundingBox):
2494         * svg/SVGElement.h:
2495         * svg/SVGGraphicsElement.cpp:
2496         (WebCore::SVGGraphicsElement::SVGGraphicsElement):
2497         (WebCore::SVGGraphicsElement::parseAttribute):
2498         (WebCore::SVGGraphicsElement::svgAttributeChanged):
2499         * svg/SVGGraphicsElement.h:
2500         * svg/SVGLocatable.cpp:
2501         (WebCore::SVGLocatable::getTransformToElement):
2502         * svg/SVGStyledElement.cpp:
2503         (WebCore::SVGStyledElement::localCoordinateSpaceTransform):
2504         * svg/SVGStyledLocatableElement.cpp: Removed.
2505         * svg/SVGStyledLocatableElement.h: Removed.
2506
2507 2013-07-02  peavo@outlook.com  <peavo@outlook.com>
2508
2509         [Curl] Crash after download.
2510         https://bugs.webkit.org/show_bug.cgi?id=118303
2511
2512         Reviewed by Brent Fulgham.
2513
2514         We need to make sure that the Curl easy handle is removed from the Curl multi handle before it's freed.
2515
2516         * platform/network/curl/CurlDownload.cpp:
2517         (CurlDownloadManager::updateHandleList): Use addToCurl() and removeFromCurl() methods.
2518         (CurlDownloadManager::addToCurl): Add method to add easy handle to multi handle.
2519         (CurlDownloadManager::removeFromCurl): Add method to remove easy handle from multi handle, and then delete the handle.
2520         (CurlDownloadManager::downloadThread): Use removeFromCurl() method.
2521         (CurlDownload::~CurlDownload):
2522         * platform/network/curl/CurlDownload.h: Avoid deleting Curl easy handle in destructor.
2523
2524 2013-07-02  Radu Stavila  <stavila@adobe.com>
2525
2526         [CSSRegions] No other SVG elements except the SVGRoot must have RegionInfo objects attached
2527         https://bugs.webkit.org/show_bug.cgi?id=118295
2528
2529         Reviewed by Antti Koivisto.
2530
2531         Only the SVGRoot element can be collected in a named flow. As such, no SVG element below the root should
2532         be attached to a RenderBoxRegionInfo object.
2533
2534         A larger patch's test (https://bugs.webkit.org/show_bug.cgi?id=118300) is failing because of this.
2535         This change will be covered by that test.
2536
2537         * rendering/RenderBoxModelObject.h:
2538         (WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):
2539         * rendering/RenderObject.h:
2540         (WebCore::RenderObject::isRenderSVGBlock):
2541         * rendering/svg/RenderSVGBlock.h:
2542
2543 2013-07-02  Kangil Han  <kangil.han@samsung.com>
2544
2545         is/toHTMLStyleElement should use Element* for its argument
2546         https://bugs.webkit.org/show_bug.cgi?id=118286
2547
2548         Reviewed by Andreas Kling.
2549
2550         To reduce unnecessary call of isElementNode(), this patch replaces argument
2551         of is/toHTMLStyleElement from Node* to Element*. Plus, use Element::hasTagName
2552         in collectActiveStyleSheets function for minor code refactoring since
2553         its cost is cheaper than Node::hasTagName.
2554
2555         * css/CSSStyleSheet.cpp:
2556         (WebCore::isAcceptableCSSStyleSheetParent):
2557         * css/StyleScopeResolver.cpp:
2558         (WebCore::StyleScopeResolver::scopeFor):
2559         * dom/DocumentStyleSheetCollection.cpp:
2560         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
2561         * dom/Node.cpp:
2562         (WebCore::Node::numberOfScopedHTMLStyleChildren):
2563         * html/HTMLStyleElement.h:
2564         (WebCore::isHTMLStyleElement):
2565         (WebCore::toHTMLStyleElement):
2566
2567 2013-07-02  Ryosuke Niwa  <rniwa@webkit.org>
2568
2569         Unexpose EditingPropertiesToInclude in EditingStyle.h after r151772
2570         https://bugs.webkit.org/show_bug.cgi?id=118271
2571
2572         Reviewed by Andreas Kling.
2573
2574         Don't expose EditingPropertiesToInclude in EditingStyle.h and do other cleanups as described below.
2575
2576         No new tests since there should be no behavioral change.
2577
2578         * editing/EditingStyle.cpp:
2579         (WebCore::copyEditingProperties): Use newly defined numAllEditingProperties and numInheritableEditingProperties
2580         instead of a magic number of 2.
2581         (WebCore::copyPropertiesFromComputedStyle): Renamed from editingStyleFromComputedStyle. It now takes ComputedStyleExtractor and
2582         PropertiesToInclude instead of Node* and EditingPropertiesToInclude and handles AllProperties. Also added a helper that takes Node*.
2583         (WebCore::EditingStyle::init): Calls copyPropertiesFromComputedStyle. Unfortunately, we need to special-case EditingPropertiesInEffect
2584         and not set background-color and text-decoration. This is required probably due to a bug elsewhere.
2585         (WebCore::EditingStyle::removeStyleAddedByNode):
2586         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
2587         (WebCore::extractEditingProperties): Renamed from EditingStyle::removeAllButEditingProperties; takes PropertiesToInclude instead of
2588         EditingPropertiesToInclude since the only caller of this function, EditingStyle::mergeInlineAndImplicitStyleOfElement, was converting
2589         the type.
2590         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
2591         * editing/EditingStyle.h:
2592
2593 2013-07-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2594
2595         Introduce toSVGInlineTextBox
2596         https://bugs.webkit.org/show_bug.cgi?id=118289
2597
2598         Reviewed by Andreas Kling.
2599
2600         As a step to change static_cast with toXXX, static_cast<SVGInlineTextBox*> can
2601         be changed with toSVGInlineTextBox().
2602
2603         Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=153345
2604
2605         * rendering/svg/RenderSVGInlineText.cpp:
2606         (WebCore::RenderSVGInlineText::positionForPoint):
2607         * rendering/svg/SVGInlineFlowBox.cpp:
2608         (WebCore::SVGInlineFlowBox::paintSelectionBackground):
2609         (WebCore::SVGInlineFlowBox::paint):
2610         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
2611         * rendering/svg/SVGInlineTextBox.h:
2612         (WebCore::toSVGInlineTextBox):
2613         * rendering/svg/SVGRenderTreeAsText.cpp:
2614         (WebCore::writeSVGInlineTextBoxes):
2615         * rendering/svg/SVGRootInlineBox.cpp:
2616         (WebCore::SVGRootInlineBox::paint):
2617         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
2618         (WebCore::SVGRootInlineBox::layoutChildBoxes):
2619         (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
2620         * rendering/svg/SVGTextQuery.cpp:
2621         (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
2622
2623 2013-07-02  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2624
2625         Simplify SVGTextContentElement::elementFromRenderer()
2626         https://bugs.webkit.org/show_bug.cgi?id=118284
2627
2628         Reviewed by Andreas Kling.
2629
2630         Simplify SVGTextContentElement::elementFromRenderer() by leveraging
2631         SVGElement::isTextContent() methods instead of explicitly checking
2632         for tag names.
2633
2634         No new tests, no behavior change.
2635
2636         * svg/SVGTextContentElement.cpp:
2637         (WebCore::SVGTextContentElement::elementFromRenderer):
2638
2639 2013-07-02  Csaba Osztrogonác  <ossy@webkit.org>
2640
2641         Fix cast-align warnings in WebCore/platform/graphics/texmap/TextureMapperGL.cpp
2642         https://bugs.webkit.org/show_bug.cgi?id=118249
2643
2644         Reviewed by Allan Sandfeld Jensen.
2645
2646         * platform/graphics/texmap/TextureMapperGL.cpp:
2647         (WebCore::BitmapTextureGL::updateContents):
2648
2649 2013-07-02  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2650
2651         [Qt][WK1] Support WebGL with EGL on Linux
2652         https://bugs.webkit.org/show_bug.cgi?id=118251
2653
2654         Reviewed by Kenneth Rohde Christiansen.
2655
2656         Let GraphicsContext3D work without a GraphicsSurface.
2657
2658         * Target.pri:
2659         * platform/graphics/OpenGLShims.cpp:
2660         (WebCore::getProcAddress):
2661         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2662         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2663         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2664
2665 2013-07-02  Catalin Badea  <badea@adobe.com>
2666
2667         [CSS-Regions] OverrideLogicalHeight used by both regions and flexbox
2668         https://bugs.webkit.org/show_bug.cgi?id=118057
2669
2670         Reviewed by David Hyatt.
2671
2672         Remove the use of overrideLogicalContentHeight() from regions and
2673         use a local variable instead. The change was needed to avoid
2674         overlapping with flexbox containers.
2675
2676         Test: fast/regions/autoheight-flexbox.html
2677
2678         * rendering/RenderFlowThread.cpp:
2679         (WebCore::RenderFlowThread::validateRegions):
2680         (WebCore::RenderFlowThread::layout):
2681         (WebCore::RenderFlowThread::applyBreakAfterContent):
2682         (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
2683         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
2684         (WebCore::RenderFlowThread::addForcedRegionBreak):
2685         * rendering/RenderFlowThread.h:
2686         * rendering/RenderRegion.cpp:
2687         (WebCore::RenderRegion::RenderRegion):
2688         (WebCore::RenderRegion::pageLogicalHeight):
2689         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
2690         (WebCore::RenderRegion::updateRegionHasAutoLogicalHeightFlag):
2691         (WebCore::RenderRegion::layoutBlock):
2692         (WebCore::RenderRegion::updateLogicalHeight):
2693         * rendering/RenderRegion.h:
2694         (WebCore::RenderRegion::computedAutoHeight):
2695         (WebCore::RenderRegion::setComputedAutoHeight):
2696         (WebCore::RenderRegion::clearComputedAutoHeight):
2697         (WebCore::RenderRegion::hasComputedAutoHeight):
2698         * rendering/RenderView.cpp:
2699
2700 2013-07-01  Alex Christensen  <achristensen@apple.com>
2701
2702         Windows should be included in the list of platforms that can use OpenGL ES 2.
2703         https://bugs.webkit.org/show_bug.cgi?id=118264
2704
2705         Reviewed by Dean Jackson.
2706
2707         * platform/graphics/GraphicsContext3D.h: Added PLATFORM(WIN) to platforms using OpenGL ES 2.
2708
2709 2013-07-01  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2710
2711         [GTK] Remove unsupported AC backends
2712         https://bugs.webkit.org/show_bug.cgi?id=117362
2713
2714         Reviewed by Martin Robinson.
2715
2716         * GNUmakefile.am:
2717         * GNUmakefile.list.am:
2718         * Source/WebCore/platform/graphics/PlatformLayer.h: Removed mentions of clutter
2719         and the texmap cairo backend.
2720         * platform/graphics/clutter/DrawingBufferClutter.cpp: Removed.
2721         * platform/graphics/clutter/GraphicsContext3DClutter.cpp: Removed.
2722         * platform/graphics/clutter/GraphicsContext3DPrivate.cpp: Removed.
2723         * platform/graphics/clutter/GraphicsContext3DPrivate.h: Removed.
2724         * platform/graphics/clutter/GraphicsLayerActor.cpp: Removed.
2725         * platform/graphics/clutter/GraphicsLayerActor.h: Removed.
2726         * platform/graphics/clutter/GraphicsLayerClutter.cpp: Removed.
2727         * platform/graphics/clutter/GraphicsLayerClutter.h: Removed.
2728         * platform/graphics/clutter/PlatformClutterAnimation.cpp: Removed.
2729         * platform/graphics/clutter/PlatformClutterAnimation.h: Removed.
2730         * platform/graphics/clutter/PlatformClutterLayerClient.h: Removed.
2731         * platform/graphics/clutter/TransformationMatrixClutter.cpp: Removed.
2732         * Source/WebCore/platform/graphics/transforms/TransformationMatrix.h: Removed cogl
2733         matrix type conversion.
2734
2735 2013-07-01  Alex Christensen  <achristensen@apple.com>
2736
2737         DrawingBuffer constructor and destructor were not defined for Windows.
2738         I moved duplicate code from Cairo and Qt to DrawingBuffer.cpp to be used by Qt, Cairo, and Windows.
2739         https://bugs.webkit.org/show_bug.cgi?id=118262
2740
2741         Reviewed by Dean Jackson.
2742
2743         * platform/graphics/cairo/DrawingBufferCairo.cpp: Removed duplicate DrawingBuffer constructor and destructor.
2744         * platform/graphics/gpu/DrawingBuffer.cpp:
2745         (WebCore::DrawingBuffer::DrawingBuffer):
2746         (WebCore::DrawingBuffer::~DrawingBuffer): Moved from Cairo and Qt implementation.
2747         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: Removed duplicate DrawingBuffer constructor and destructor.
2748
2749 2013-07-01  Alex Christensen  <achristensen@apple.com>
2750
2751         Fixed unreachable return when GLX or EGL are used with WebGL.
2752         https://bugs.webkit.org/show_bug.cgi?id=118263
2753
2754         Reviewed by Noam Rosenthal.
2755
2756         * platform/graphics/opengl/GLPlatformContext.cpp:
2757         (WebCore::createOffScreenContext): Fixed unreachable return.
2758
2759 2013-07-01  Tim Horton  <timothy_horton@apple.com>
2760
2761         Maximum scroll position can be negative in some cases
2762         https://bugs.webkit.org/show_bug.cgi?id=118175
2763         <rdar://problem/14301217>
2764
2765         Reviewed by Anders Carlsson.
2766
2767         Test (API): WebKit2.ResizeReversePaginatedWebView
2768
2769         * page/FrameView.cpp:
2770         (WebCore::FrameView::maximumScrollPosition):
2771         * page/FrameView.h:
2772         Override maximumScrollPosition() in FrameView and don't clamp to zero if
2773         a reverse pagination mode is enabled, as it is possible (and common) to
2774         have a negative maximum scroll position with reverse pagination.
2775
2776         * platform/ScrollView.cpp:
2777         (WebCore::ScrollView::updateScrollbars):
2778         Drive-by adoption of toIntSize().
2779
2780 2013-07-01  Alex Christensen  <achristensen@apple.com>
2781
2782         Removed all references to DrawingBuffer methods unused since the removal of Chromium:
2783         DrawingBuffer::prepareBackBuffer,
2784         DrawingBuffer::requiresCopyFromBackToFrontBuffer, and
2785         DrawingBuffer::clearPlatformLayer.
2786         https://bugs.webkit.org/show_bug.cgi?id=118257
2787
2788         Reviewed by Darin Adler.
2789
2790         * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
2791         (WebCore::DrawingBuffer::platformLayer):
2792         * platform/graphics/cairo/DrawingBufferCairo.cpp:
2793         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2794         * platform/graphics/clutter/DrawingBufferClutter.cpp:
2795         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2796         * platform/graphics/gpu/DrawingBuffer.cpp:
2797         (WebCore::DrawingBuffer::clear):
2798         * platform/graphics/gpu/DrawingBuffer.h:
2799         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2800         (WebCore::DrawingBuffer::frontColorBuffer):
2801         * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
2802         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2803
2804 2013-07-01  Jochen Eisinger  <jochen@chromium.org>
2805
2806         Remove support for consumable user gestures
2807         https://bugs.webkit.org/show_bug.cgi?id=118247
2808
2809         Reviewed by Geoffrey Garen.
2810
2811         The features was not enabled on any port, and is meanwhile broken, so we
2812         should delete it.
2813
2814         No new tests, just deleting dead code.
2815
2816         * accessibility/AccessibilityNodeObject.cpp:
2817         (WebCore::AccessibilityNodeObject::increment):
2818         (WebCore::AccessibilityNodeObject::decrement):
2819         * accessibility/AccessibilityObject.cpp:
2820         (WebCore::AccessibilityObject::press):
2821         * bindings/ScriptControllerBase.cpp:
2822         (WebCore::ScriptController::executeScript):
2823         * bindings/js/ScriptController.cpp:
2824         (WebCore::ScriptController::executeScriptInWorld):
2825         * dom/UserGestureIndicator.cpp:
2826         (WebCore::isDefinite):
2827         (WebCore::UserGestureIndicator::UserGestureIndicator):
2828         (WebCore::UserGestureIndicator::~UserGestureIndicator):
2829         * dom/UserGestureIndicator.h:
2830         (WebCore::UserGestureIndicator::processingUserGesture):
2831         * inspector/InspectorFrontendClientLocal.cpp:
2832         (WebCore::InspectorFrontendClientLocal::openInNewTab):
2833         * inspector/InspectorFrontendHost.cpp:
2834         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
2835         * inspector/InspectorPageAgent.cpp:
2836         (WebCore::InspectorPageAgent::navigate):
2837         * loader/NavigationScheduler.cpp:
2838         (WebCore::ScheduledURLNavigation::fire):
2839         (WebCore::ScheduledURLNavigation::didStartTimer):
2840         (WebCore::ScheduledRedirect::fire):
2841         (WebCore::ScheduledRefresh::fire):
2842         (WebCore::ScheduledHistoryNavigation::fire):
2843         (WebCore::ScheduledFormSubmission::fire):
2844         (WebCore::ScheduledFormSubmission::didStartTimer):
2845         * page/DOMTimer.cpp:
2846         (WebCore::DOMTimer::DOMTimer):
2847         (WebCore::DOMTimer::fired):
2848         * page/DOMTimer.h:
2849         * page/DOMWindow.cpp:
2850         (WebCore::DOMWindow::showModalDialog):
2851         * page/EventHandler.cpp:
2852         (WebCore::EventHandler::clear):
2853         (WebCore::EventHandler::handleMousePressEvent):
2854         (WebCore::EventHandler::handleMouseReleaseEvent):
2855         * page/EventHandler.h:
2856         * rendering/HitTestResult.cpp:
2857         (WebCore::HitTestResult::toggleMediaFullscreenState):
2858         (WebCore::HitTestResult::enterFullscreenForVideo):
2859
2860 2013-07-01  Frédéric Wang  <fred.wang@free.fr>
2861
2862         Add Support for mspace element
2863         https://bugs.webkit.org/show_bug.cgi?id=115610
2864
2865         Reviewed by Chris Fleizach.
2866
2867         This patch adds basic support for the MathML mspace element. This is
2868         important to let people control spacing of mathematical formulas.
2869         Attributes width, height and depth are implemented. For the moment,
2870         only nonnegative width are accepted.
2871
2872         * CMakeLists.txt: add references to the RenderMathMLSpace files.
2873         * GNUmakefile.list.am: ditto.
2874         * Target.pri: ditto.
2875         * WebCore.vcxproj/WebCore.vcxproj: ditto.
2876         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
2877         * WebCore.xcodeproj/project.pbxproj: ditto.
2878         * css/mathml.css:
2879         (mtable[columnlines="dashed"] > mtr > mtd + mtd): remove the obsolete linebreaking rule.
2880         * mathml/MathMLTextElement.cpp:
2881         (WebCore::MathMLTextElement::createRenderer): map mspaceTag to RenderMathMLSpace.
2882         * mathml/mathattrs.in: add width, height and depth attributes
2883         * mathml/mathtags.in: add mspace element
2884         * rendering/mathml/RenderMathMLBlock.cpp:
2885         (WebCore::parseMathMLLength): fix int to float conversion.
2886         * rendering/mathml/RenderMathMLBlock.h: declare isRenderMathMLSpace.
2887         (WebCore::RenderMathMLBlock::isRenderMathMLSpace):
2888         * rendering/mathml/RenderMathMLSpace.cpp: Added.
2889         (WebCore::RenderMathMLSpace::RenderMathMLSpace):
2890         (WebCore::RenderMathMLSpace::isChildAllowed):
2891         (WebCore::RenderMathMLSpace::computePreferredLogicalWidths):
2892         (WebCore::RenderMathMLSpace::updateFromElement):
2893         (WebCore::RenderMathMLSpace::updateLogicalWidth):
2894         (WebCore::RenderMathMLSpace::updateLogicalHeight):
2895         (WebCore::RenderMathMLSpace::layout):
2896         (WebCore::RenderMathMLSpace::styleDidChange):
2897         (WebCore::RenderMathMLSpace::firstLineBoxBaseline):
2898         * rendering/mathml/RenderMathMLSpace.h: Added.
2899         (WebCore::RenderMathMLSpace::isRenderMathMLSpace):
2900         (WebCore::RenderMathMLSpace::renderName):
2901         (WebCore::toRenderMathMLSpace):
2902
2903 2013-06-27  Jer Noble  <jer.noble@apple.com>
2904
2905         Audio in apps which embed WebViews is corrupted.
2906         https://bugs.webkit.org/show_bug.cgi?id=118163
2907
2908         Reviewed by Maciej Stachowiak.
2909
2910         Add a preference, which defaults to off, which controls whether the
2911         AudioSessionManager will switch to a large audio buffer setting for
2912         power-savings during <video> playback.
2913
2914         * WebCore.exp.in:
2915         * page/Settings.cpp:
2916         (WebCore::Settings::setLowPowerVideoAudioBufferSizeEnabled): Added.  Simple setter.
2917         * page/Settings.h:
2918         (WebCore::Settings::lowPowerVideoAudioBufferSizeEnabled): Added.  Simple getter.
2919         * platform/audio/mac/AudioSessionManagerMac.cpp:
2920         (AudioSessionManager::updateSessionState): Only set the large audio buffer
2921             size if lowPowerVideoAudioBufferSize is enabled.
2922
2923 2013-07-01  Brian Holt  <brian.holt@samsung.com>
2924
2925         [ATK] Leak: leaks in WebKitAccessibleInterfaceText
2926         https://bugs.webkit.org/show_bug.cgi?id=118248
2927
2928         Fixed memory leaks.
2929
2930         Reviewed by Christophe Dumez.
2931
2932         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2933         (getPangoLayoutForAtk):
2934         (webkitAccessibleTextGetText):
2935
2936 2013-07-01  Roger Fong  <roger_fong@apple.com>
2937
2938         Unreviewed. Make WebCore.make copy over QTMovieWin DLL's and PDB's.
2939         <rdar://problem/14321403>
2940
2941         * WebCore.vcxproj/WebCore.make:
2942
2943 2013-07-01  peavo@outlook.com  <peavo@outlook.com>
2944
2945         [Win] Crash when scrolling page with images.
2946         https://bugs.webkit.org/show_bug.cgi?id=117832
2947
2948         Reviewed by Brent Fulgham.
2949
2950         Avoid access violation by returning early from method if image frame doesn't have pixel data.
2951
2952         * platform/image-decoders/ImageDecoder.h:
2953         (WebCore::ImageFrame::hasPixelData): Added method to check if frame has pixel data.
2954         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2955         (WebCore::GIFImageDecoder::haveDecodedRow): Early return if frame doesn't have pixel data.
2956
2957 2013-07-01  Noam Rosenthal  <noam@webkit.org>
2958
2959         Avoid calling RenderLayerBacking::resetContentsRect() if possible
2960         https://bugs.webkit.org/show_bug.cgi?id=118217
2961
2962         Reviewed by Simon Fraser.
2963
2964         Call resetContentsRect() only if the layer has a contentsLayer.
2965         Otherwise the contentsRect is redundant for the GraphicsLayer.
2966
2967         No new tests - optimization only. This is covered by plenty of existing
2968         tests in webgl/ and compositing/.
2969
2970         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2971         (WebCore::GraphicsLayerTextureMapper::hasContentsLayer):
2972         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2973             Added hasContentsLayer calls for TextureMapper/CoordinatedGraphics
2974
2975         * rendering/RenderLayerBacking.cpp:
2976         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2977
2978 2013-07-01  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2979
2980         [Qt] Avoid creating a QWindow for offscreen GraphicsContext3D
2981         https://bugs.webkit.org/show_bug.cgi?id=118244
2982
2983         Reviewed by Noam Rosenthal.
2984
2985         In Qt 5.0 we had to create invisible windows, but in Qt 5.1
2986         we can now create specific offscreen surfaces.
2987
2988         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2989         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2990
2991 2013-07-01  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2992
2993         [Qt] Remove long unused Qt4 forward definitions
2994
2995         Unreviewed cleanu-up.
2996
2997         * platform/graphics/GraphicsContext3D.h:
2998
2999 2013-07-01  Antti Koivisto  <antti@apple.com>
3000
3001         Use DeferrableOneShotTimer for deleting decoded data
3002         https://bugs.webkit.org/show_bug.cgi?id=118150
3003
3004         Reviewed by Andreas Kling.
3005
3006         Adam Barth pointed out that the virtual function for overriding the default delay doesn't work
3007         as expected from base class constructor.
3008
3009         * loader/cache/CachedResource.cpp:
3010         (WebCore::deadDecodedDataDeletionIntervalForResourceType):
3011         (WebCore::CachedResource::CachedResource):
3012
3013             Use static function instead of calling a virtual.
3014
3015         * loader/cache/CachedResource.h:
3016         * loader/cache/CachedScript.cpp:
3017         * loader/cache/CachedScript.h:
3018
3019 2013-07-01  Kangil Han  <kangil.han@samsung.com>
3020
3021         Adopt toHTMLTextAreaElement for code cleanup
3022         https://bugs.webkit.org/show_bug.cgi?id=118226
3023
3024         Reviewed by Andreas Kling.
3025
3026         To enhance readability, this patch adopts toHTMLTextAreaElement.
3027         This also helps out to reduce duplicated use of static_cast.
3028
3029         * accessibility/AccessibilityNodeObject.cpp:
3030         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
3031         (WebCore::AccessibilityNodeObject::isNativeTextControl):
3032         (WebCore::AccessibilityNodeObject::isReadOnly):
3033         (WebCore::AccessibilityNodeObject::text):
3034         * accessibility/AccessibilityRenderObject.cpp:
3035         (WebCore::AccessibilityRenderObject::setValue):
3036         * css/StyleResolver.cpp:
3037         (WebCore::StyleResolver::adjustRenderStyle):
3038         * editing/markup.cpp:
3039         (WebCore::StyledMarkupAccumulator::appendText):
3040         * html/HTMLFormControlElement.cpp:
3041         (WebCore::shouldAutofocus):
3042         * html/HTMLTextAreaElement.h:
3043         (WebCore::toHTMLTextAreaElement):
3044         * page/FocusController.cpp:
3045         (WebCore::clearSelectionIfNeeded):
3046         * rendering/HitTestResult.cpp:
3047         (WebCore::HitTestResult::isContentEditable):
3048         * rendering/RenderBox.cpp:
3049         (WebCore::RenderBox::sizesLogicalWidthToFitContent):
3050         * rendering/RenderTextControlMultiLine.cpp:
3051         (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
3052         (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
3053         (WebCore::RenderTextControlMultiLine::computeControlLogicalHeight):
3054         * testing/Internals.cpp:
3055         (WebCore::Internals::wasLastChangeUserEdit):
3056
3057 2013-07-01  Kwang Yul Seo  <skyul@company100.net>
3058
3059         Add missing string headers that are used when LOG_DISABLED is 0.
3060         https://bugs.webkit.org/show_bug.cgi?id=118227
3061
3062         Reviewed by Andreas Kling.
3063
3064         Build fix for LOG_DISABLED=0.
3065
3066         No new tests, no behavior change.
3067
3068         * html/track/InbandTextTrack.cpp:
3069         * rendering/RenderLayerCompositor.cpp:
3070
3071 2013-06-29  Simon Fraser  <simon.fraser@apple.com>
3072
3073         Avoid calling into Objective-C every time we get the scrollbar width
3074         https://bugs.webkit.org/show_bug.cgi?id=118216
3075
3076         Reviewed by Geoffrey Garen.
3077
3078         Profiling shows that calling Scrollbar::isOverlayScrollbar() is somewhat
3079         expensive, because it calls down into Objective-C. Fix by caching in
3080         ScrollbarThemeMac whether we're using overlay scrollbars. We update this
3081         cache on creation, and when preferences change; ScrollAnimatorMac::updateScrollerStyle()
3082         is the function that gets called when the user changes the setting in System Preferences.
3083
3084         * platform/ScrollbarTheme.h:
3085         (WebCore::ScrollbarTheme::usesOverlayScrollbarsChanged):
3086         * platform/mac/ScrollAnimatorMac.mm:
3087         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
3088         * platform/mac/ScrollbarThemeMac.h:
3089         * platform/mac/ScrollbarThemeMac.mm:
3090         (WebCore::ScrollbarThemeMac::preferencesChanged):
3091         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
3092         (WebCore::ScrollbarThemeMac::usesOverlayScrollbarsChanged):
3093
3094 2013-06-29  Simon Fraser  <simon.fraser@apple.com>
3095
3096         Avoid calling isSimpleContainerCompositingLayer() an extra time
3097         https://bugs.webkit.org/show_bug.cgi?id=118218
3098
3099         Reviewed by Tim Horton.
3100
3101         containsPaintedContent() called isSimpleContainerCompositingLayer(), which
3102         is not particularly cheap. But the caller already has this information,
3103         so pass it in.
3104
3105         * rendering/RenderLayerBacking.cpp:
3106         (WebCore::RenderLayerBacking::updateDrawsContent):
3107         (WebCore::RenderLayerBacking::containsPaintedContent):
3108         * rendering/RenderLayerBacking.h:
3109
3110 2013-06-29  Simon Fraser  <simon.fraser@apple.com>
3111
3112         Avoid doing work in RenderBox::outlineBoundsForRepaint() when the repaintContainer is this
3113         https://bugs.webkit.org/show_bug.cgi?id=118215
3114
3115         Reviewed by Tim Horton.
3116
3117         When the RenderGeometryMap code path was added, RenderBox::outlineBoundsForRepaint()
3118         actually got slower if no coordinate mapping was needed. So avoid doing work when
3119         we can, including avoiding the FloatQuad construction.
3120
3121         Speeds up scrolling overflow:scroll areas with large numbers of layer children.
3122
3123         * rendering/RenderBox.cpp:
3124         (WebCore::RenderBox::outlineBoundsForRepaint):
3125
3126 2013-06-29  Kangil Han  <kangil.han@samsung.com>
3127
3128         Adopt is/toHTMLOptGroupElement for code cleanup
3129         https://bugs.webkit.org/show_bug.cgi?id=118213
3130
3131         Reviewed by Andreas Kling.
3132
3133         To enhance readability, this patch adopts is/toHTMLOptGroupElement.
3134         This also helps out to reduce duplicated use of static_cast.
3135
3136         * accessibility/AccessibilityListBoxOption.cpp:
3137         (WebCore::AccessibilityListBoxOption::isEnabled):
3138         (WebCore::AccessibilityListBoxOption::stringValue):
3139         (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
3140         * css/SelectorChecker.cpp:
3141         (WebCore::SelectorChecker::checkOne):
3142         * css/StyleResolver.cpp:
3143         (WebCore::StyleResolver::canShareStyleWithElement):
3144         * html/HTMLOptGroupElement.h:
3145         (WebCore::isHTMLOptGroupElement):
3146         (WebCore::toHTMLOptGroupElement):
3147         * html/HTMLOptionElement.cpp:
3148         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
3149         (WebCore::HTMLOptionElement::isDisabledFormControl):
3150         * html/HTMLSelectElement.cpp:
3151         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
3152         (WebCore::HTMLSelectElement::recalcListItems):
3153         * html/parser/HTMLConstructionSite.cpp:
3154         (WebCore::hasImpliedEndTag):
3155         * html/parser/HTMLElementStack.cpp:
3156         (WebCore::HTMLNames::isSelectScopeMarker):
3157         * html/parser/HTMLTreeBuilder.cpp:
3158         (WebCore::HTMLTreeBuilder::processStartTag):
3159         (WebCore::HTMLTreeBuilder::processEndTag):
3160         * rendering/RenderListBox.cpp:
3161         (WebCore::RenderListBox::updateFromElement):
3162         (WebCore::RenderListBox::paintItemForeground):
3163         * rendering/RenderMenuList.cpp:
3164         (WebCore::RenderMenuList::itemText):
3165         (WebCore::RenderMenuList::itemIsEnabled):
3166         (WebCore::RenderMenuList::itemIsLabel):
3167
3168 2013-06-29  ChangSeok Oh  <changseok.oh@collabora.com>
3169
3170         Build fix for unguarded SVGGraphicsElement
3171         https://bugs.webkit.org/show_bug.cgi?id=118214
3172
3173         Reviewed by Christophe Dumez.
3174
3175         Add the SVG condition to SVGGraphicsElement.idl
3176
3177         No new tests required since no functionality changed.
3178
3179         * svg/SVGGraphicsElement.idl:
3180
3181 2013-06-29  Kangil Han  <kangil.han@samsung.com>
3182
3183         Adopt is/toHTMLOptionElement for code cleanup
3184         https://bugs.webkit.org/show_bug.cgi?id=118212
3185
3186         Reviewed by Andreas Kling.
3187
3188         To enhance readability, this patch adopts is/toHTMLOptionElement.
3189         This also helps out to reduce duplicated use of static_cast.
3190
3191         * accessibility/AccessibilityListBoxOption.cpp:
3192         (WebCore::AccessibilityListBoxOption::isSelected):
3193         (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
3194         (WebCore::AccessibilityListBoxOption::stringValue):
3195         (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
3196         * accessibility/AccessibilityMenuListOption.cpp:
3197         (WebCore::AccessibilityMenuListOption::setElement):
3198         (WebCore::AccessibilityMenuListOption::isEnabled):
3199         (WebCore::AccessibilityMenuListOption::isSelected):
3200         (WebCore::AccessibilityMenuListOption::setSelected):
3201         (WebCore::AccessibilityMenuListOption::stringValue):
3202         * accessibility/AccessibilityMenuListPopup.cpp:
3203         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
3204         * accessibility/AccessibilityRenderObject.cpp:
3205         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
3206         * css/SelectorChecker.cpp:
3207         (WebCore::SelectorChecker::checkOne):
3208         * css/StyleResolver.cpp:
3209         (WebCore::StyleResolver::canShareStyleWithElement):
3210         * html/HTMLCollection.cpp:
3211         (WebCore::isMatchingElement):
3212         * html/HTMLOptionElement.cpp:
3213         (WebCore::HTMLOptionElement::index):
3214         * html/HTMLOptionElement.h:
3215         (WebCore::isHTMLOptionElement):
3216         (WebCore::toHTMLOptionElement):
3217         * html/HTMLOptionsCollection.cpp:
3218         (WebCore::HTMLOptionsCollection::add):
3219         * html/HTMLSelectElement.cpp:
3220         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
3221         (WebCore::HTMLSelectElement::value):
3222         (WebCore::HTMLSelectElement::setValue):
3223         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
3224         (WebCore::HTMLSelectElement::nextValidIndex):
3225         (WebCore::HTMLSelectElement::saveLastSelection):
3226         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
3227         (WebCore::HTMLSelectElement::updateListBoxSelection):
3228         (WebCore::HTMLSelectElement::listBoxOnChange):
3229         (WebCore::HTMLSelectElement::recalcListItems):
3230         (WebCore::HTMLSelectElement::selectedIndex):
3231         (WebCore::HTMLSelectElement::selectOption):
3232         (WebCore::HTMLSelectElement::optionToListIndex):
3233         (WebCore::HTMLSelectElement::listToOptionIndex):
3234         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
3235         (WebCore::HTMLSelectElement::saveFormControlState):
3236         (WebCore::HTMLSelectElement::searchOptionsForValue):
3237         (WebCore::HTMLSelectElement::restoreFormControlState):
3238         (WebCore::HTMLSelectElement::appendFormData):
3239         (WebCore::HTMLSelectElement::reset):
3240         (WebCore::HTMLSelectElement::updateSelectedState):
3241         (WebCore::HTMLSelectElement::lastSelectedListIndex):
3242         (WebCore::HTMLSelectElement::optionAtIndex):
3243         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
3244         (WebCore::HTMLSelectElement::length):
3245         * html/parser/HTMLConstructionSite.cpp:
3246         (WebCore::hasImpliedEndTag):
3247         * html/parser/HTMLElementStack.cpp:
3248         (WebCore::HTMLNames::isSelectScopeMarker):
3249         * html/parser/HTMLTreeBuilder.cpp:
3250         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3251         (WebCore::HTMLTreeBuilder::processStartTag):
3252         (WebCore::HTMLTreeBuilder::processEndTag):
3253         * rendering/RenderListBox.cpp:
3254         (WebCore::RenderListBox::updateFromElement):
3255         (WebCore::RenderListBox::addFocusRingRects):
3256         (WebCore::RenderListBox::paintItemForeground):
3257         (WebCore::RenderListBox::paintItemBackground):
3258         * rendering/RenderMenuList.cpp:
3259         (WebCore::RenderMenuList::updateOptionsWidth):
3260         (WebCore::RenderMenuList::setTextFromOption):
3261         (WebCore::RenderMenuList::itemText):
3262         (WebCore::RenderMenuList::itemIsEnabled):
3263         (WebCore::RenderMenuList::itemIsSelected):
3264         * rendering/RenderTheme.cpp:
3265         (WebCore::RenderTheme::paintSliderTicks):
3266
3267 2013-06-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3268
3269         REGRESSION(151586): multipart/x-mixed-replace images are broken
3270         https://bugs.webkit.org/show_bug.cgi?id=118169
3271
3272         Reviewed by Alexey Proskuryakov.
3273
3274         When loading multipart content the resource data will change as
3275         the next part is loaded, so we need to make a copy of the data
3276         before sending it to the resource.
3277
3278         * loader/SubresourceLoader.cpp:
3279         (WebCore::SubresourceLoader::didReceiveResponse):
3280
3281 2013-06-28  Eric Carlson  <eric.carlson@apple.com>
3282
3283         [Mac] adopt new AVFoundation caption API
3284         https://bugs.webkit.org/show_bug.cgi?id=118207
3285
3286         Reviewed by Dean Jackson.
3287
3288         No new tests, I was not able to come up with a reliable layout test.
3289
3290         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3291         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3292         (WebCore::MediaPlayerPrivateAVFoundationObjC::flushCues): New, call currentTrack->resetCueValues().
3293         (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]): New delegate method.
3294
3295 2013-06-28  Kangil Han  <kangil.han@samsung.com>
3296
3297         Adopt is/toHTMLImageElement for code cleanup
3298         https://bugs.webkit.org/show_bug.cgi?id=118182
3299
3300         Reviewed by Andreas Kling.
3301
3302         To enhance readability, this patch adopts is/toHTMLImageElement.
3303         This also helps out to reduce duplicated use of static_cast.
3304
3305         * accessibility/AccessibilityNodeObject.cpp:
3306         (WebCore::AccessibilityNodeObject::isNativeImage):
3307         * accessibility/AccessibilityRenderObject.cpp:
3308         (WebCore::AccessibilityRenderObject::url):
3309         * bindings/js/JSNodeCustom.cpp:
3310         (WebCore::isReachableFromDOM):
3311         * bridge/qt/qt_pixmapruntime.cpp:
3312         (JSC::Bindings::assignToHTMLImageElement):
3313         (JSC::Bindings::QtPixmapRuntime::toQt):
3314         * dom/Clipboard.cpp:
3315         (WebCore::Clipboard::setDragImage):
3316         * dom/Node.cpp:
3317         (WebCore::Node::enclosingLinkEventParentOrSelf):
3318         * editing/Editor.cpp:
3319         (WebCore::imageElementFromImageDocument):
3320         * html/HTMLAnchorElement.cpp:
3321         (WebCore::appendServerMapMousePosition):
3322         * html/HTMLImageElement.h:
3323         (WebCore::isHTMLImageElement):
3324         (WebCore::toHTMLImageElement):
3325         * html/HTMLMapElement.cpp:
3326         (WebCore::HTMLMapElement::imageElement):
3327         * html/HTMLNameCollection.cpp:
3328         (WebCore::WindowNameCollection::nodeMatchesIfNameAttributeMatch):
3329         (WebCore::DocumentNameCollection::nodeMatchesIfIdAttributeMatch):
3330         (WebCore::DocumentNameCollection::nodeMatchesIfNameAttributeMatch):
3331         (WebCore::DocumentNameCollection::nodeMatches):
3332         * page/DragController.cpp:
3333         (WebCore::DragController::draggableElement):
3334         * page/PageSerializer.cpp:
3335         (WebCore::PageSerializer::serializeFrame):
3336         * platform/gtk/PasteboardGtk.cpp:
3337         (WebCore::getURLForImageNode):
3338         * platform/mac/HTMLConverter.mm:
3339         (+[WebHTMLConverter editingAttributedStringFromRange:]):
3340         * rendering/HitTestResult.cpp:
3341         (WebCore::HitTestResult::altDisplayString):
3342         (WebCore::HitTestResult::absoluteImageURL):
3343         * rendering/RenderImage.cpp:
3344         (WebCore::RenderImage::paintIntoRect):
3345         (WebCore::RenderImage::imageMap):
3346         (WebCore::RenderImage::updateAltText):
3347         * rendering/RenderObject.cpp:
3348         (WebCore::RenderObject::shouldRespectImageOrientation):
3349
3350 2013-06-28  Gavin Barraclough  <barraclough@apple.com>
3351
3352         PageThrottler::shouldThrottleTimers is wrong.
3353         https://bugs.webkit.org/show_bug.cgi?id=118210
3354
3355         Reviewed by Anders Carlson.
3356
3357         m_throttleState == PageNotThrottledState
3358             -> page NOT throttled, so should NOT throttle timers
3359         m_throttleState != PageNotThrottledState
3360             -> page NOT NOT throttled, so should throttle timers
3361
3362         This needs cleaning up, but for now, 1 character fix.
3363
3364         * page/PageThrottler.h:
3365         (WebCore::PageThrottler::shouldThrottleTimers):
3366             == -> !=
3367
3368 2013-06-28  Ryosuke Niwa  <rniwa@webkit.org>
3369
3370         An element with -webkit-user-select: all should be selected on single click
3371         https://bugs.webkit.org/show_bug.cgi?id=117864
3372
3373         Reviewed by Darin Adler.
3374
3375         Set m_mouseDownMayStartSelect true even when the node cannot start selection
3376         if the node was inside an element with -webkit-user-select: all.
3377
3378         Test: editing/selection/user-select-all-with-single-click.html
3379
3380         * page/EventHandler.cpp:
3381         (WebCore::canMouseDownStartSelect):
3382
3383 2013-06-28  Ryosuke Niwa  <rniwa@webkit.org>
3384
3385         Remove unused attachChildrenLazily method and make attach/detachChildren private
3386         https://bugs.webkit.org/show_bug.cgi?id=118016
3387
3388         Reviewed by Darin Adler.
3389
3390         Merge https://chromium.googlesource.com/chromium/blink/+/009520dc31c9458e0cf71cf212fa5688c4ca68b0
3391
3392         No one should be manually trying to attach or detach all their children so there's
3393         no reason for these methods to be public.
3394
3395         In doing this I realized that attachChildrenLazily is not used and can be removed.
3396
3397         I also realized that we were detaching all our children before the ShadowRoots which
3398         is sad since the InsertionPoints will call detach() on them as well, and then when we
3399         call ContainerNode::detach at the end of Element::detach we'll go detach them again!
3400         This patch makes it so we only go through and detach them twice instead of three times.
3401         In the future we should figure out a way to only do this once.
3402
3403         * dom/ContainerNode.h:
3404         * dom/Element.cpp:
3405         (WebCore::Element::detach):
3406
3407 2013-06-28  Alexey Proskuryakov  <ap@apple.com>
3408
3409         [Mac] Crash when loading is stopped from -didReceiveResponse
3410         https://bugs.webkit.org/show_bug.cgi?id=118209
3411         <rdar://problem/14259249>
3412
3413         Reviewed by Brady Eidson.
3414
3415         Test: TestWebKitAPI/Tests/mac/StopLoadingFromDidReceiveResponse.mm.
3416
3417         * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didReceiveResponse):
3418         Added yet another check for reachedTerminalState().
3419
3420 2013-06-28  Beth Dakin  <bdakin@apple.com>
3421
3422         Cached pages don't update their backing scale factor when it changes
3423         https://bugs.webkit.org/show_bug.cgi?id=118206
3424         -and-
3425         <rdar://problem/14261627>
3426
3427         Reviewed by Tim Horton.
3428
3429         It is not sufficient to mark pages in the PageCache as needing a full style
3430         recalc. We also need to ensure that the RenderLayerCompositors for the CachesPages
3431         get updated.
3432
3433         Keep track of whether device scale has been updated with
3434         m_needsDeviceScaleChanged. If that has been marked true, then restore() will call
3435         Frame::deviceOrPageScaleFactorChanged().
3436         * history/CachedPage.cpp:
3437         (WebCore::CachedPage::CachedPage):
3438         (WebCore::CachedPage::restore):
3439         * history/CachedPage.h:
3440         (WebCore::CachedPage::markForDeviceScaleChanged):
3441
3442         Propagate markForDeviceScaleChanged() to all of the CachedPages.
3443         * history/PageCache.cpp:
3444         (WebCore::PageCache::markPagesForDeviceScaleChanged):
3445         * history/PageCache.h:
3446
3447         Call PageCache::markPagesForDeviceScaleChanged()
3448         * page/Page.cpp:
3449         (WebCore::Page::setDeviceScaleFactor):
3450
3451 2013-06-28  Alex Christensen  <achristensen@apple.com>
3452
3453         Added template parameters to std::min to fix compile errors in Visual Studio x64.
3454         https://bugs.webkit.org/show_bug.cgi?id=118204
3455
3456         Reviewed by Geoffrey Garen.
3457
3458         * platform/win/PasteboardWin.cpp:
3459         (WebCore::Pasteboard::writeURLToDataObject): Added <unsigned> to std::min.
3460         (WebCore::createGlobalImageFileDescriptor): Added <int> to std::min.
3461
3462 2013-06-28  Alex Christensen  <achristensen@apple.com>
3463
3464         Added WebGL files to Windows build.
3465         https://bugs.webkit.org/show_bug.cgi?id=118200
3466
3467         Reviewed by Brent Fulgham.
3468
3469         * WebCore.vcxproj/WebCore.vcxproj: Added WebGL files, removed unused GraphicsContext3DOpenGLES.cpp.
3470         * WebCore.vcxproj/WebCore.vcxproj.filters: Added WebGL files, removed unused GraphicsContext3DOpenGLES.cpp.
3471         * platform/graphics/cairo/GLContext.cpp: Only include GLContextEGL.h or GLContextGLX.h if they're needed.
3472         * platform/graphics/cg/GraphicsContext3DCG.cpp: Only include GraphicsContext3DNEON.h if it's needed.
3473
3474 2013-06-28  Ryosuke Niwa  <rniwa@webkit.org>
3475
3476         -webkit-line-break: after-white-space sometimes truncates DOM on copy & paste
3477         https://bugs.webkit.org/show_bug.cgi?id=118164
3478
3479         Reviewed by Sam Weinig.
3480
3481         We can't assume that all subsequent ancestors contain exactly one child since they could have been
3482         added in the first if statement matching: currentNode->parentNode() != rootNode && isRemovableBlock(currentNode)
3483
3484         Exit early when we encounter such an ancestor since removing its ancestor (that contains multiple children
3485         some of which aren't in nodesToRemove) can clobber more nodes than we're allowed to remove.
3486
3487         Test: editing/pasteboard/simplfiying-markup-should-not-strip-content.html
3488
3489         * editing/SimplifyMarkupCommand.cpp:
3490         (WebCore::SimplifyMarkupCommand::doApply):
3491         (WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
3492
3493 2013-06-28  Gwang Yoon Hwang  <ryumiel@company100.net>
3494
3495         Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator
3496         https://bugs.webkit.org/show_bug.cgi?id=104360
3497
3498         Reviewed by Noam Rosenthal.
3499
3500         The CoordinatedLayerTreeHost has too many responsibilities. It
3501         implements LayerTreeHost, GraphicsLayerClient,
3502         CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client,
3503         UpdateAtlas::Client, GraphicsLayerFactory and
3504         WebCustomFilterProgramProxyClient.
3505