REGRESSION(r152313): Links in certain twitter postings don't warp correctly on page
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-07-23  Zalan Bujtas  <zalan@apple.com>
2
3         REGRESSION(r152313): Links in certain twitter postings don't warp correctly on page
4         https://bugs.webkit.org/show_bug.cgi?id=118435
5
6         Reviewed by David Hyatt.
7
8         When we find an empty inline in the middle of the word, prefer breaking it before 
9         instead of after to match other browsers' rendering.
10
11         Test: fast/text/whitespace/inline-whitespace-wrapping-12.html
12
13         * rendering/RenderBlockLineLayout.cpp:
14         (WebCore::canBreakAtThisPosition):
15
16 2013-07-23  Alexey Proskuryakov  <ap@apple.com>
17
18         Dictionary hotkey does not work on vertical text
19         https://bugs.webkit.org/show_bug.cgi?id=118993
20         <rdar://problem/14478260>
21
22         Reviewed by Enrica Casucci.
23
24         Test: platform/mac/editing/input/firstrectforcharacterrange-vertical.html
25
26         * editing/Editor.cpp:
27         (WebCore::collapseCaretWidth): A helper function.
28         (WebCore::Editor::firstRectForRange): Many changes:
29         - use RenderObject::absoluteBoundingBoxRectForRange() in regular case, because
30         that's more direct that getting caret rects and computing bounding rect from those.
31         - handle collapsed ranges separately, because absoluteBoundingBoxRectForRange()
32         doesn't provide the needed result, and because it can be done faster.
33         - wherever we use carets to compute the result, account for vertical text (in a hackish
34         way, as we don't have layout information at Editor level).
35
36         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::localCaretRect): Removed
37         dead code.
38
39 2013-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>
40
41         [CSS Shapes] New positioning model: Borders
42         https://bugs.webkit.org/show_bug.cgi?id=118822
43
44         Reviewed by Dean Jackson.
45
46         Converting to the shape coordinate system was not properly accounting
47         for borders and padding. This has been fixed and a new convienence
48         method added because of the added complexity of the conversion.
49
50         Test: csswg/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html
51
52         * rendering/RenderBlock.cpp:
53         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine): Update to use
54             computeSegmentsForContainingBlockLine to do the coordinate
55             conversion.
56         (WebCore::RenderBlock::logicalRightFloatOffsetForLine): Ditto.
57         * rendering/RenderBlockLineLayout.cpp:
58         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Ditto.
59         * rendering/shapes/ShapeOutsideInfo.cpp:
60         (WebCore::ShapeOutsideInfo::computeSegmentsForContainingBlockLine):
61             Add new method to do the coordinate conversion from the containing
62             block coordinate system to the coordinate system of the shape so
63             that the segments can be correctly calculated.
64
65 2013-07-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
66
67         Remove deprecated and unused compositing settings
68         https://bugs.webkit.org/show_bug.cgi?id=119014
69
70         Reviewed by Andreas Kling.
71
72         * page/Settings.in:
73
74 2013-07-23  Tim Horton  <timothy_horton@apple.com>
75
76         Add a test for plug-in unavailability indicator obscurity detection
77         https://bugs.webkit.org/show_bug.cgi?id=119007
78
79         Reviewed by Anders Carlsson.
80
81         Test: plugins/unavailable-plugin-indicator-obscurity.html
82
83         Expose the ability to test whether the unavailable plugin indicator
84         is obscured via the internals object.
85
86         * testing/Internals.cpp:
87         (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
88         * testing/Internals.h:
89         * testing/Internals.idl:
90         Expose RenderEmbeddedObject::isReplacementObscured as
91         internals.isPluginUnavailabilityIndicatorObscured for testing purposes.
92
93 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
94
95         [Soup] Clean up header inclusions in ResourceRequest(Soup), SocketStreamHandle
96         https://bugs.webkit.org/show_bug.cgi?id=118984
97
98         Reviewed by Darin Adler.
99
100         Execute a minor cleanup of the header inclusions in Soup-specific ResourceRequestSoup.cpp, ResourceRequest.h
101         and SocketStreamHandle.h source files. The inclusions are sorted into proper order, with blank lines and unnecessary
102         reinclusions removed.
103
104         * platform/network/soup/ResourceRequest.h:
105         * platform/network/soup/ResourceRequestSoup.cpp:
106         * platform/network/soup/SocketStreamHandle.h:
107
108 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
109
110         [Soup] Remove unnecessary header inclusions in ResourceHandleSoup.cpp
111         https://bugs.webkit.org/show_bug.cgi?id=118983
112
113         Reviewed by Martin Robinson.
114
115         Remove inclusions of the CachedResourceLoader, ChromeClient, Frame and Page headers. These are not
116         necessary (anymore) and only prevent the source file to be built independently of WebCore, as it should be.
117
118         * platform/network/soup/ResourceHandleSoup.cpp:
119
120 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
121
122         Remove unnecessary header inclusions in GraphicsContext3D.cpp, GraphicsContext3DOpenGLCommon.cpp
123         https://bugs.webkit.org/show_bug.cgi?id=118989
124
125         Reviewed by Darin Adler.
126
127         * platform/graphics/GraphicsContext3D.cpp: Remove the unnecessary DrawingBuffer header inclusion.
128         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Remove the unnecessary
129         CanvasRenderingContext and WebGLObject header inclusions.
130
131 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
132
133         Remove the topDocumentURL member of the GraphicsContext3D::Attributes struct
134         https://bugs.webkit.org/show_bug.cgi?id=118987
135
136         Reviewed by Darin Adler.
137
138         Remove the topDocumentURL member that currently resides in the GraphicsContext3D::Attributes struct.
139         It's not used anywhere and only has one place where it is set, in WebGLRenderingContext::create.
140
141         * html/canvas/WebGLRenderingContext.cpp:
142         (WebCore::WebGLRenderingContext::create):
143         * platform/graphics/GraphicsContext3D.h:
144
145 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
146
147         Remove unused DrawingBuffer::paintRenderingResultsToImageData
148         https://bugs.webkit.org/show_bug.cgi?id=118986
149
150         Reviewed by Darin Adler.
151
152         Remove the paintRenderingResultsToImageData method of the DrawingBuffer class. It is not used anywhere
153         and also introduces a nasty layering violation by including and operating with the ImageData class.
154
155         * platform/graphics/gpu/DrawingBuffer.cpp:
156         * platform/graphics/gpu/DrawingBuffer.h:
157
158 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
159
160         Remove unnecessary includes in FormDataBuilder.cpp
161         https://bugs.webkit.org/show_bug.cgi?id=118991
162
163         Reviewed by Darin Adler.
164
165         * platform/network/FormDataBuilder.cpp: Remove the Frame and FrameLoader header inclusions,
166         nothing these two headers provide is used in this source file.
167
168 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
169
170         Fix the style of the ContentDispositionType enum definition
171         https://bugs.webkit.org/show_bug.cgi?id=118990
172
173         Reviewed by Darin Adler.
174
175         * platform/network/HTTPParsers.h: Align the style of the ContentDispositionType enumeration
176         definition with the other enumeration definitions in the HTTPParsers header, using the
177         'enum Name { ... }' style instead of a typedef.
178
179 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
180
181         [GTK] Mock GDK_IS_X11_DISPLAY macro can be redefined unnecessarily
182         https://bugs.webkit.org/show_bug.cgi?id=118980
183
184         Reviewed by Martin Robinson.
185
186         * platform/gtk/GtkVersioning.h: Only define the GDK_IS_X11_DISPLAY macro when using the GTK+ 2 API version
187         as that's the only supported configuration where the macro is not defined. Definining it only if it's not
188         yet defined at the time of inclusion of this header can cause redefinitions in GTK+ headers that are normally
189         included later.
190
191 2013-07-22  Beth Dakin  <bdakin@apple.com>
192
193         StickyPositionConstraints should store the constrainingRectAtLastLayout
194         https://bugs.webkit.org/show_bug.cgi?id=118999
195
196         Reviewed by Simon Fraser.
197
198         Much like how FixedPositionConstraints store a viewportRectAtLastLayout, 
199         StickyConstraints should store a constrainingRectAtLastLayout. We'll need this to 
200         get sticky right in overflow areas once overflow areas scroll on the scrolling 
201         thread. 
202
203         * page/scrolling/ScrollingConstraints.h:
204         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
205         (WebCore::StickyPositionViewportConstraints::constrainingRectAtLastLayout):
206         (WebCore::StickyPositionViewportConstraints::setConstrainingRectAtLastLayout):
207         * rendering/RenderBoxModelObject.cpp:
208         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
209
210 2013-07-22  Santosh Mahto  <santosh.ma@samsung.com>
211
212         DateInputType constructor initiate incorrect base class
213         https://bugs.webkit.org/show_bug.cgi?id=118962
214
215         Reviewed by Gyuyoung Kim.
216
217         No new test required since solving code error
218
219         * html/DateInputType.cpp:
220         (WebCore::DateInputType::DateInputType):
221         Corrected the base class instantiation in constructor.
222
223 2013-07-22  Tim Horton  <timothy_horton@apple.com>
224
225         Plug-in unavailability indicator should not be displayed if a blocked plugin's indicator is clipped
226         https://bugs.webkit.org/show_bug.cgi?id=118998
227         <rdar://problem/14511268>
228
229         Reviewed by Anders Carlsson.
230         
231         * html/HTMLEmbedElement.cpp:
232         (WebCore::HTMLEmbedElement::updateWidget):
233         * html/HTMLObjectElement.cpp:
234         (WebCore::HTMLObjectElement::updateWidget):
235         * html/HTMLPlugInElement.cpp:
236         (WebCore::HTMLPlugInElement::defaultEventHandler):
237         (WebCore::HTMLPlugInElement::supportsFocus):
238         * html/HTMLPlugInImageElement.cpp:
239         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
240         * loader/SubframeLoader.cpp:
241         (WebCore::SubframeLoader::createJavaAppletWidget):
242         (WebCore::SubframeLoader::loadPlugin):
243         * page/FrameView.cpp:
244         (WebCore::FrameView::updateWidget):
245         Rename showsUnavailablePluginIndicator to isPluginUnavailable, since being unavailable
246         and actually showing the indicator are two totally different things.
247
248         * WebCore.exp.in: Expose setUnavailablePluginIndicatorIsHidden.
249
250         * rendering/RenderEmbeddedObject.cpp:
251         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
252         Rename m_showsUnavailablePluginIndicator to m_isPluginUnavailable.
253         Add m_isUnavailablePluginIndicatorHidden, defaulting to false.
254
255         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription):
256         Set m_isPluginUnavailable when we get an unavailability reason.
257
258         (WebCore::RenderEmbeddedObject::paint):
259         (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden): Added.
260
261         * rendering/RenderEmbeddedObject.h:
262         (WebCore::RenderEmbeddedObject::isPluginUnavailable): Added.
263
264         (WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
265         Repurpose "showsUnavailablePluginIndicator" to actually represent whether
266         the indicator is displayed (i.e. the plugin is unavailable, and the
267         indicator is not hidden).
268
269 2013-07-22  Tim Horton  <timothy_horton@apple.com>
270
271         RenderEmbeddedObject::isReplacementObscured should include the arrow in its area-of-interest
272         https://bugs.webkit.org/show_bug.cgi?id=118995
273         <rdar://problem/14516421>
274
275         Reviewed by Anders Carlsson.
276
277         * rendering/RenderEmbeddedObject.cpp:
278         (WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
279         Rename method from replacementTextRect to unavailablePluginIndicatorBounds for accuracy.
280         Use the bounding box of the indicator's path, which includes the rounded rect behind
281         the text as well as the arrow button.
282
283         (WebCore::RenderEmbeddedObject::isReplacementObscured):
284         * rendering/RenderEmbeddedObject.h:
285
286 2013-07-22  Tim Horton  <timothy_horton@apple.com>
287
288         <applet> plugins are instantiated post-attach (instead of post-layout like for object and embed)
289         https://bugs.webkit.org/show_bug.cgi?id=118994
290         <rdar://problem/14511232>
291
292         Reviewed by Anders Carlsson.
293
294         Make <applet> consistent with <object> and <embed>, deferring plugin
295         instantiation to post-layout, so that layout is up-to-date if anything
296         needs it (like RenderEmbeddedObject::isReplacementObscured) during creation.
297
298         * html/HTMLAppletElement.cpp:
299         (WebCore::HTMLAppletElement::updateWidget):
300         Copy code from HTMLObjectElement/HTMLEmbedElement that defers plugin
301         creation until post-layout tasks. Java is always an NPAPI plugin, so
302         we should always defer if requested.
303
304 2013-07-22  Benjamin Poulain  <benjamin@webkit.org>
305
306         Do not allocate 2 AtomicString just to do a comparison in HTMLAnchorElement::setRel()
307         https://bugs.webkit.org/show_bug.cgi?id=118941
308
309         Reviewed by Gavin Barraclough.
310
311         Currently, the only type of link relation supported by HTMLAnchorElement is RelationNoReferrer.
312
313         To find the value, we create a SpaceSplitString with the input value of the attribute (which
314         create one or more AtomicString depending on the input). Then we create a new AtomicString for
315         the literal "noreferrer". Finally, we compare the pointers and throw away all the AtomicStrings.
316
317         This causes a lot of memory operations for something really simple.
318
319         This patch adds a little helper method to SpaceSplitString to find a literal in the input. The only
320         allocation happens if we need to foldCase(). The following operations are done without allocating
321         new buffer and without hashing the input.
322
323         * dom/SpaceSplitString.cpp:
324         (WebCore::tokenizeSpaceSplitString):
325         (WebCore::AppendTokenToVectorTokenProcessor::AppendTokenToVectorTokenProcessor):
326         (WebCore::AppendTokenToVectorTokenProcessor::processToken):
327         (WebCore::SpaceSplitStringData::createVector):
328         (WebCore::TokenIsEqualToCStringTokenProcessor::TokenIsEqualToCStringTokenProcessor):
329         (WebCore::TokenIsEqualToCStringTokenProcessor::processToken):
330         (WebCore::TokenIsEqualToCStringTokenProcessor::referenceStringWasFound):
331         (WebCore::SpaceSplitString::spaceSplitStringContainsValue):
332         * dom/SpaceSplitString.h:
333         (WebCore::SpaceSplitString::spaceSplitStringContainsValue):
334         * html/HTMLAnchorElement.cpp:
335         (WebCore::HTMLAnchorElement::setRel):
336
337 2013-07-22  Zalan Bujtas  <zalan@apple.com>
338
339         segfault in RenderLayerCompositor when the iframe's position attribute is changed and it embeds <object>.
340         https://bugs.webkit.org/show_bug.cgi?id=118965
341
342         Reviewed by Simon Fraser.
343
344         Do not change the composition state unless we can reliably figure out the iframe's size.
345         If the renderer is not yet attached, its size is not computable.
346
347         Test: compositing/iframes/iframe-position-absolute-with-padding-percentage-crash.html
348
349         * rendering/RenderLayerCompositor.cpp:
350         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
351
352 2013-07-22  Chris Fleizach  <cfleizach@apple.com>
353
354         AX: VoiceOver only read the first column in a safari table
355         https://bugs.webkit.org/show_bug.cgi?id=118992
356
357         Reviewed by Tim Horton.
358
359         In case the first section has fewer columns than the rest of the table, the AXTable was only reporting the number of
360         columns for the first section. We need to take the max number of columns out of all sections.
361
362         Test: accessibility/table-with-mismatch-column-count-in-initial-section.html
363
364         * accessibility/AccessibilityTable.cpp:
365         (WebCore::AccessibilityTable::addChildren):
366
367 2013-07-22  Beth Dakin  <bdakin@apple.com>
368
369         StickyPositionContraints should not need to change to account for a RenderLayer's 
370         scrollOffset
371         https://bugs.webkit.org/show_bug.cgi?id=118958
372         -and corresponding-
373         <rdar://problem/12469203>
374
375         Reviewed by Simon Fraser.
376
377         Before this patch, to get sticky offsets right in overflow areas, the 
378         StickyPositionConstraints changed on every scroll to factor it in. This will be a 
379         problem once we can scroll overflow areas on the scrolling thread. The constraints 
380         should never have to change to account for the scroll position. This patch fixes 
381         that issue by changing the StickyPositionViewportConstraints’s containerBlockRect 
382         and stickyBoxRect to be in a coordinate space that is relative to the scrolling 
383         ancestor rather than being absolute. This patch also removes ‘absolute’ from those 
384         variable names since they are no longer absolute.
385
386         A few re-names in the StickyPositionViewportConstraints class. The parameter to 
387         computeStickyOffset() used to be called viewportRect, and is now called 
388         constrainingRect. m_absoluteStickyBoxRect is now m_stickyBoxRect, and 
389         m_absoluteContainingBlockRect is now m_containingBlockRect. And finally, 
390         layerPositionForViewportRect() is now layerPositionForConstrainingRect()
391         * page/scrolling/ScrollingConstraints.cpp:
392         (WebCore::StickyPositionViewportConstraints::computeStickyOffset):
393         (WebCore::StickyPositionViewportConstraints::layerPositionForConstrainingRect):
394         * page/scrolling/ScrollingConstraints.h:
395         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
396         (WebCore::StickyPositionViewportConstraints::containingBlockRect):
397         (WebCore::StickyPositionViewportConstraints::setContainingBlockRect):
398         (WebCore::StickyPositionViewportConstraints::stickyBoxRect):
399         (WebCore::StickyPositionViewportConstraints::setStickyBoxRect):
400         (WebCore::StickyPositionViewportConstraints::operator==):
401
402         Accounting for the re-names. 
403         * page/scrolling/ScrollingStateStickyNode.cpp:
404         (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
405         (WebCore::ScrollingStateStickyNode::dumpProperties):
406         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
407         (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
408
409         Compute all values relative to the scrolling ancestor. This requires some juggling 
410         in the overflow case to factor border and padding in or out.
411         * rendering/RenderBoxModelObject.cpp:
412         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
413
414         This is where the scrollOffset should be factored in.
415         (WebCore::RenderBoxModelObject::stickyPositionOffset):
416
417 2013-07-22  Dean Jackson  <dino@apple.com>
418
419         PlugIn content can disappear after restarting
420         https://bugs.webkit.org/show_bug.cgi?id=118982
421
422         Reviewed by Simon Fraser.
423
424         When a snapshotted plug-in is restarted, we inserted its compositing
425         layer back into the tree, but didn't recalculate style. This meant
426         that a subsequent compositing tree operation (such as any hardware
427         animation) could cause the content to disappear.
428
429         * html/HTMLPlugInImageElement.cpp:
430         (WebCore::HTMLPlugInImageElement::setDisplayState): Force a style recalc.
431         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Ditto.
432
433 2013-07-22  Zalan Bujtas  <zalan@apple.com>
434
435         REGRESSION(r152227) Images with compositing layer don't show up unless the containing window is resized.
436         https://bugs.webkit.org/show_bug.cgi?id=118951
437
438         Reviewed by Simon Fraser.
439
440         Ensure that the content rect is initialized when the image is set on the graphics layer.
441
442         RenderLayerBacking::updateGraphicsLayerGeometry() only updates the contents rect when
443         the associated graphics layer has a content layer. Since the image gets committed 
444         on the graphics layer after the update calls, the contents rect is left uninitialized.
445
446         Test: compositing/images/positioned-image-content-rect.html
447
448         * rendering/RenderLayerBacking.cpp:
449         (WebCore::RenderLayerBacking::updateImageContents):
450
451 2013-07-22  Diego Pino Garcia  <dpino@igalia.com>
452
453         [Old Web Inspector] When right-clicking on a DataGrid column, show editing menu option as "Edit <columnName>" instead of just "Edit"
454         https://bugs.webkit.org/show_bug.cgi?id=118971
455
456         Reviewed by Timothy Hatcher.
457
458         * English.lproj/localizedStrings.js: 
459         * inspector/front-end/DataGrid.js: Change "Edit" for "Edit <columnTitle>"
460         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
461
462 2013-07-22  Alex Christensen  <achristensen@apple.com>
463
464         Added assembly files to Windows 64-bit builds.
465         https://bugs.webkit.org/show_bug.cgi?id=118931
466
467         Reviewed by Brent Fulgham.
468
469         * WebCore.vcxproj/WebCore.vcxproj: Added PaintHooks.asm for x64 and enabled MASM.
470         * WebCore.vcxproj/WebCore.vcxproj.filters: Added PaintHooks.asm.
471
472 2013-07-22  Jakob Petsovits  <jpetsovits@blackberry.com>
473
474         [BlackBerry] Fix WebGL to a 2D canvas copies.
475         https://bugs.webkit.org/show_bug.cgi?id=118921
476         https://jira.bbqnx.net/browse/BRWSR-12714
477         JIRA 449577
478
479         Reviewed by George Staikos.
480
481         The transform here was converted incorrectly when it
482         replaced the pixel copy that was there before.
483         As a true draw transformation, it doesn't need the "- 1"
484         modification that pixel copies often require.
485
486         Fixes existing webgl/conformance/canvas tests.
487
488         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
489         (WebCore::GraphicsContext3D::paintToCanvas):
490
491 2013-07-22  peavo@outlook.com  <peavo@outlook.com>
492
493         [Curl] Download fails for certain urls.
494         https://bugs.webkit.org/show_bug.cgi?id=118468
495
496         Reviewed by Brent Fulgham.
497
498         The current Curl download implementation has a few shortcomings:
499         1) Downloading from secure locations fails. We need to provide Curl with the path to a certificate file (.pem file).
500         2) Cookies are not set in the download request. We need to give Curl the path to the cookie file.
501         3) When a normal load is converted to a download, some of the headers from the original request is not sent (e.g. Referer, User agent).
502
503         * platform/network/curl/CurlDownload.cpp:
504         (WebCore::CurlDownload::CurlDownload): Initialize custom headers member.
505         (WebCore::CurlDownload::~CurlDownload): Free custom headers member.
506         (WebCore::CurlDownload::init): Set certificate and cookie file path.
507         (WebCore::CurlDownload::closeFile): Check file handle against value for invalid platform handle.
508         (WebCore::CurlDownload::writeDataToFile): Added utility method to write download data to file.
509         (WebCore::CurlDownload::addHeaders): Added utility method to add headers to request.
510         (WebCore::CurlDownload::didReceiveData): Use writeDataToFile utility method.
511         * platform/network/curl/CurlDownload.h:
512         Put class in WebCore namespace.
513         Added method to init download from resource handle, request, and response object.
514         Added utility method to write download data to file.
515         Added utility method to add headers to request.
516         Added custom headers member.
517
518 2013-07-22  Eric Carlson  <eric.carlson@apple.com>
519
520         [iOS] captions sometimes positioned incorrectly after fullscreen state change
521         https://bugs.webkit.org/show_bug.cgi?id=118912
522
523         Reviewed by Jer Noble.
524
525         * html/shadow/MediaControlElements.cpp:
526         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Call clearTextTrackRepresentation.
527         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Call updateDisplay so
528             cues are re-rendered with the updated size.
529         (WebCore::MediaControlTextTrackContainerElement::clearTextTrackRepresentation): Cleanup the
530             text track representation.
531         (WebCore::MediaControlTextTrackContainerElement::enteredFullscreen): New, force cues to be updated.
532         (WebCore::MediaControlTextTrackContainerElement::exitedFullscreen): Ditto.
533         * html/shadow/MediaControlElements.h:
534
535         * html/shadow/MediaControls.cpp:
536         (WebCore::MediaControls::enteredFullscreen): Call MediaControlTextTrackContainerElement::enteredFullscreen.
537         (WebCore::MediaControls::exitedFullscreen): Call MediaControlTextTrackContainerElement::exitedFullscreen.
538
539 2013-07-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
540
541         [Qt][WK1] Support direct painting without GraphicsSurface
542         https://bugs.webkit.org/show_bug.cgi?id=118302
543
544         Reviewed by Jocelyn Turcotte.
545
546         Configure the WebGL OpenGL context to share texture with
547         the HostWindow OpenGL if available, and paint accelerated
548         using the the now shared textures.
549
550         This should return the performance without GraphicsSurface
551         on the WK1 code path to what it was before r135995 (28/11 2012).
552
553         * platform/graphics/qt/GraphicsContext3DQt.cpp:
554         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
555         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
556
557 2013-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
558
559         Introduce toSVGUseElement(), use it
560         https://bugs.webkit.org/show_bug.cgi?id=118942
561
562         Reviewed by Allan Sandfeld Jensen.
563
564         As a step to change static_cast with toSVGXXX, static_cast<SVGUseElement*> can
565         be changed with toSVGUseElement().
566
567         No new tests, no behavior change.
568
569         * dom/EventRetargeter.h:
570         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
571         * page/EventHandler.cpp:
572         (WebCore::instanceAssociatedWithShadowTreeElement):
573         * rendering/svg/RenderSVGResourceClipper.cpp:
574         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
575         * rendering/svg/RenderSVGTransformableContainer.cpp:
576         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
577         * svg/SVGStyledElement.cpp:
578         (WebCore::SVGStyledElement::title):
579         * svg/SVGUseElement.cpp:
580         (WebCore::dumpInstanceTree):
581         (WebCore::SVGUseElement::buildInstanceTree):
582         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
583         * svg/SVGUseElement.h:
584         (WebCore::toSVGUseElement):
585
586 2013-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
587
588         Use toSVGPathElement() instead of static_cast<>
589         https://bugs.webkit.org/show_bug.cgi?id=118960
590
591         Reviewed by Allan Sandfeld Jensen.
592
593         Though there is toSVGPathElement(), some files still use static_cast<SVGPathElement*>.
594         To remove all static_cast<> use, we need to change argument from SVGElement to Element.
595
596         Merge from https://src.chromium.org/viewvc/blink?view=rev&revision=154621
597
598         No new tests, no behavior change.
599
600         * rendering/svg/RenderSVGTextPath.cpp:
601         (WebCore::RenderSVGTextPath::layoutPath):
602         * rendering/svg/SVGPathData.cpp:
603         (WebCore::updatePathFromPathElement):
604         * rendering/svg/SVGRenderTreeAsText.cpp:
605         (WebCore::operator<<):
606         * svg/SVGMPathElement.cpp:
607         (WebCore::SVGMPathElement::pathElement):
608         * svg/SVGPathElement.h:
609         (WebCore::toSVGPathElement):
610         * svg/SVGPathSegList.cpp:
611         (WebCore::SVGPathSegList::commitChange):
612         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
613         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
614         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
615         (WebCore::SVGPathSegListPropertyTearOff::contextElement):
616
617 2013-07-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
618
619         [Qt] Implement more of DOM3 KeyEvent key-identifiers
620         https://bugs.webkit.org/show_bug.cgi?id=118566
621
622         Reviewed by Jocelyn Turcotte.
623
624         Implemented as many of the key values from http://www.w3.org/TR/DOM-Level-3-Events/#key-values-list
625         as Qt keycodes support.
626
627         Also corrected the mapping of the Menu key, which was confused because MENU
628         is also the ancient Microsoft speak for the Alt keys.
629
630         * platform/qt/PlatformKeyboardEventQt.cpp:
631         (WebCore::keyIdentifierForQtKeyCode):
632
633 2013-07-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
634
635         Introduce toSVGGradientElement(), use it
636         https://bugs.webkit.org/show_bug.cgi?id=118943
637
638         Reviewed by Andreas Kling.
639
640         As a step to change static_cast with toSVGXXX, static_cast<SVGGradientElement*> can
641         be changed with toSVGGradientElement().
642
643         No new tests, no behavior change.
644
645         * rendering/svg/RenderSVGGradientStop.cpp:
646         (WebCore::RenderSVGGradientStop::gradientElement):
647         * rendering/svg/RenderSVGResourceGradient.cpp:
648         (WebCore::RenderSVGResourceGradient::applyResource):
649         * rendering/svg/SVGResources.cpp:
650         (WebCore::targetReferenceFromResource):
651         * svg/SVGGradientElement.h:
652         (WebCore::toSVGGradientElement):
653         * svg/SVGLinearGradientElement.cpp:
654         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
655         * svg/SVGRadialGradientElement.cpp:
656         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
657
658 2013-07-21  Andreas Kling  <akling@apple.com>
659
660         KURL creates duplicate strings when completing data: URIs.
661         <http://webkit.org/b/118952>
662         <rdar://problem/14504480>
663
664         Reviewed by Anders Carlsson.
665
666         When checking if the original URL input string can be reused, compare against the part
667         of the parsing buffer that we would actually return, not the entire buffer.
668
669         632 kB progression on <http://www.nytimes.com/>
670
671         Test: KURLTest.KURLDataURIStringSharing
672
673         * platform/KURL.cpp:
674         (WebCore::KURL::parse):
675
676 2013-07-20  Benjamin Poulain  <benjamin@webkit.org>
677
678         Add ASCIILiteral() on strings allocated often enough to appear in my Instruments
679         https://bugs.webkit.org/show_bug.cgi?id=118937
680
681         Reviewed by Alexey Proskuryakov.
682
683         * html/BaseCheckableInputType.cpp:
684         (WebCore::BaseCheckableInputType::saveFormControlState):
685         (WebCore::BaseCheckableInputType::fallbackValue):
686         * html/HTMLTextFormControlElement.cpp:
687         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
688         * inspector/InspectorApplicationCacheAgent.cpp:
689         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
690         * loader/cache/CachedScript.cpp:
691         (WebCore::CachedScript::CachedScript):
692         * platform/network/ResourceRequestBase.h:
693         (WebCore::ResourceRequestBase::ResourceRequestBase):
694
695 2013-07-20  Dean Jackson  <dino@apple.com>
696
697         Updated ANGLE is leaking like a sieve
698         https://bugs.webkit.org/show_bug.cgi?id=118939
699
700         Rollout 152863, r152821, r152929 and r152755.
701
702         * CMakeLists.txt:
703
704 2013-07-19  Jer Noble  <jer.noble@apple.com>
705
706         Pagination: Do not paint the baseBackgroundColor if asked to skipRootBackground.
707         https://bugs.webkit.org/show_bug.cgi?id=118933
708
709         Reviewed by Simon Fraser.
710
711         Captions rendered through TextTrackRepresentation are rendered with a background
712         color when in paginated views. Do not fill the paint area with the
713         baseBackgroundColor when the paint flags include SkipRootBackground.
714
715         * rendering/RenderView.cpp:
716         (WebCore::RenderView::paint):
717
718 2013-07-19  Brady Eidson  <beidson@apple.com>
719
720         Pages should not be able to abuse users inside beforeunload handlers.
721         <rdar://problem/14475779> and https://bugs.webkit.org/show_bug.cgi?id=118871.
722
723         Reviewed by Alexey Proskuryakov.
724
725         Tests: fast/loader/show-only-one-beforeunload-dialog.html
726                http/tests/misc/iframe-beforeunload-dialog-matching-ancestor-securityorigin.html
727                http/tests/misc/iframe-beforeunload-dialog-not-matching-ancestor-securityorigin.html
728
729         * loader/FrameLoader.cpp:
730         (WebCore::FrameLoader::FrameLoader):
731         (WebCore::FrameLoader::shouldClose):
732         (WebCore::FrameLoader::handleBeforeUnloadEvent):
733         (WebCore::FrameLoader::shouldCloseFiringBeforeUnloadEvent): Renamed from fireBeforeUnloadEvent.
734           Add logic to enforce "1 beforeunload dialog per navigation" as well as "iframes can only show beforeunload 
735           dialogs if their entire ancestry's security origins match the navigating frame."
736         * loader/FrameLoader.h:
737         * loader/FrameLoader.h:
738
739         Add the ability for Page to know when any frame is dispatching beforeunload:
740         * page/Page.cpp:
741         (WebCore::Page::Page):
742         (WebCore::Page::incrementFrameHandlingBeforeUnloadEventCount):
743         (WebCore::Page::decrementFrameHandlingBeforeUnloadEventCount):
744         (WebCore::Page::isAnyFrameHandlingBeforeUnloadEvent):
745         * page/Page.h:
746
747         * page/DOMWindow.cpp:
748         (WebCore::DOMWindow::print): Disallow if any frame is in beforeunload dispatch.
749         (WebCore::DOMWindow::alert): Ditto.
750         (WebCore::DOMWindow::confirm): Ditto.
751         (WebCore::DOMWindow::prompt): Ditto.
752         (WebCore::DOMWindow::showModalDialog): Ditto.
753
754 2013-07-19  Chris Fleizach  <cfleizach@apple.com>
755
756         AX: VoiceOver not detecting misspelled words don't work in all cases
757         https://bugs.webkit.org/show_bug.cgi?id=118924
758
759         Reviewed by Tim Horton.
760
761         VoiceOver is now looking for a new misspelled attribute.
762
763         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
764         (AXAttributeStringSetSpelling):
765         (AXAttributedStringAppendText):
766
767 2013-07-19  Ryosuke Niwa  <rniwa@webkit.org>
768
769         Extract computeRenderStyleForProperty and nodeOrItsAncestorNeedsStyleRecalc from ComputedStyleExtractor::propertyValue
770         https://bugs.webkit.org/show_bug.cgi?id=118930
771
772         Reviewed by Andreas Kling.
773
774         Extracted two functions as a preparation to fix bugs 118032 and 118618.
775
776         * css/CSSComputedStyleDeclaration.cpp:
777         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
778         (WebCore::computeRenderStyleForProperty):
779         (WebCore::ComputedStyleExtractor::propertyValue):
780
781 2013-07-19  Andreas Kling  <akling@apple.com>
782
783         Cache style declaration CSSOM wrappers directly on MutableStylePropertySet.
784         <http://webkit.org/b/118883>
785
786         Reviewed by Gavin Barraclough
787
788         Merge https://chromium.googlesource.com/chromium/blink/+/183bcd51eb0e79cab930cf46695df05dc793630f
789         From Blink r153700 by <ager@chromium.org>:
790
791         In my measurements the mapping is adding more overhead than just having a field
792         in all MutableStylePropertySet objects. So this saves memory and makes access
793         faster.
794
795         * css/StylePropertySet.cpp:
796         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
797         (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
798         (WebCore::StylePropertySet::hasCSSOMWrapper):
799         (WebCore::MutableStylePropertySet::cssStyleDeclaration):
800         (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
801         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
802         * css/StylePropertySet.h:
803         (WebCore::StylePropertySet::StylePropertySet):
804
805 2013-07-19  Brent Fulgham  <bfulgham@apple.com>
806
807         [Windows] Avoid passing addresses of temporaries to Windows API.
808         https://bugs.webkit.org/show_bug.cgi?id=118917
809
810         Reviewed by Anders Carlsson.
811
812         The temporary Vector returned by String::charactersWithNullTermination
813         was going out of scope before its first use, causing Windows API to
814         receive garbage memory.
815
816         * platform/win/ContextMenuWin.cpp:
817         (WebCore::ContextMenu::createPlatformContextMenuFromItems):
818         * platform/win/PasteboardWin.cpp:
819         (WebCore::createGlobalHDropContent):
820         * platform/win/SSLKeyGeneratorWin.cpp:
821         (WebCore::WebCore::signedPublicKeyAndChallengeString):
822
823 2013-07-19  Zoltan Horvath  <zoltan@webkit.org>
824
825         [CSS Shapes] Remove lineWithinShapeBounds() from ShapeInfo since it's no longer used
826         https://bugs.webkit.org/show_bug.cgi?id=118913
827
828         Reviewed by Andreas Kling.
829
830         No new tests, no behavior change.
831
832         * rendering/shapes/ShapeInfo.h: Remove lineWithinShapeBounds().
833
834 2013-07-19  Alex Christensen  <achristensen@apple.com>
835
836         Added x64 configuration to Visual Studio build.
837         https://bugs.webkit.org/show_bug.cgi?id=118888
838
839         Reviewed by Brent Fulgham.
840
841         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
842         * WebCore.vcxproj/WebCore.vcxproj:
843         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
844         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
845
846 2013-07-19  Abhijeet Kandalkar  <abhijeet.k@samsung.com>
847
848         Spatial Navigation handling of space key in <select> appears to confuse listIndex and optionIndex.
849         https://bugs.webkit.org/show_bug.cgi?id=99525
850
851         HTMLSelect Element inherently contains the logic to focus option node and thus, implementing an explicit logic to find the focus index is not required.
852
853         Reviewed by Joseph Pecoraro.
854
855         Test: fast/spatial-navigation/snav-multiple-select-optgroup.html
856
857         * html/HTMLSelectElement.cpp:
858         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
859         * page/SpatialNavigation.cpp:
860         (WebCore::canScrollInDirection):
861         * rendering/RenderListBox.cpp:
862         (WebCore::RenderListBox::addFocusRingRects):
863
864 2013-07-19  David Hyatt  <hyatt@apple.com>
865
866         OSX: ePub: Unable to select text in vertical Japanese book
867         https://bugs.webkit.org/show_bug.cgi?id=118864
868         <rdar://problem/14109351>
869
870         Reviewed by Dan Bernstein and Sam Weinig.
871
872         This patch fixes all of the various writing-mode and pagination combinations
873         so that the columns are painted in the correct location. The code that sets up
874         the initial painting translation offset in the block direction and that advances
875         that offset has been pulled into two helper functions, initialBlockOffsetForPainting
876         and blockDeltaForPaintingNextColumn, and that code is now shared by the four call
877         sites that need it (painting and hit testing in RenderBlock and painting and hit testing
878         in RenderLayer).
879         
880         This patch also backs out the maximumScrollPosition change, since it only occurred because
881         of incorrect sizing of the RenderView, and this sizing issue has now been corrected by
882         ensuring that computeLogicalHeight() always makes sure you are the size of the viewport
883         and does not shrink you to the column height.
884         
885         There was also a race condition that caused pagination to be incorrect if layout occurred
886         before the html/body renderer that set the writing-mode were available. When this happened,
887         the writing mode got propagated up to the view, but the column styles didn't get
888         adjusted to compensate for the writing mode change.
889
890         Added tests for every pagination and writing-mode combination in fast/multicol/pagination.
891
892         * css/StyleResolver.cpp:
893         (WebCore::StyleResolver::styleForDocument):
894         (WebCore::StyleResolver::adjustRenderStyle):
895         Move setStylesForPaginationMode into RenderStyle and make it a member function. This is
896         necessary so that the style can be adjusted dynamically to fix the race condition mentioned
897         above.
898
899         * page/FrameView.cpp:
900         (WebCore::FrameView::maximumScrollPosition):
901         Back out this change since the symptom it was fixing only occurred because the logical
902         height of the view was being set incorrectly.
903
904         * rendering/RenderBlock.cpp:
905         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
906         Patch the column code that sets up the initial page height to use the pagination API's
907         page height rather than the viewport logical height. This allows the view to still match
908         the viewport in dimensions rather than being incorrectly sized to the column height.
909         
910         (WebCore::RenderBlock::initialBlockOffsetForPainting):
911         (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
912         Two new helper functions used to set up the block direction paint/hit testing translation.
913         The major bug fix that occurred in this code is that the old block axis code didn't handle
914         reversal correctly and it also used physical coordinates to try to determine the translation
915         offset, when you really need to use logical coordinates in the original writing mode coordinate
916         system to determine the offset.
917
918         (WebCore::RenderBlock::paintColumnContents):
919         Patched to call the new helper functions.
920
921         (WebCore::ColumnRectIterator::ColumnRectIterator):
922         (WebCore::ColumnRectIterator::adjust):
923         (WebCore::ColumnRectIterator::update):
924         Patched to call the new helper functions.
925
926         * rendering/RenderBlock.h:
927         Add the two new helper functions to the RenderBlock header.
928
929         * rendering/RenderBox.cpp:
930         (WebCore::RenderBox::styleDidChange):
931         If the writing mode of the html/body propagates to the viewport and changes its writing mode,
932         also change our column styles to match if we're in paginated mode.
933
934         (WebCore::RenderBox::computeLogicalHeight):
935         (WebCore::RenderBox::computePercentageLogicalHeight):
936         Call the new pageOrViewLogicalHeight function on RenderView instead of
937         RenderBox::viewLogicalHeightForPercentages (which is now removed).
938
939         * rendering/RenderLayer.cpp:
940         (WebCore::RenderLayer::paintChildLayerIntoColumns):
941         (WebCore::RenderLayer::hitTestChildLayerColumns):
942         Patched to use the two new helper functions for block direction paint offset setup and
943         advancement.
944
945         * rendering/RenderView.cpp:
946         (WebCore::RenderView::pageOrViewLogicalHeight):
947         New helper function that does what viewLogicalHeightForPercentages used to do but also
948         handles returning the page length for block axis column progression. Again, this is to
949         allow the view to retain its correct size (matching the viewport).
950
951         (WebCore::RenderView::viewLogicalHeight):
952         Back out the code that made the view grow or shrink to the size of the Pagination API page
953         length when the progression was block axis. This was the source of most of the scroll origin
954         and scrolling issues.
955
956         * rendering/RenderView.h:
957         Add the new pageOrViewLogicalHeight() function.
958
959         * rendering/style/RenderStyle.cpp:
960         (WebCore::RenderStyle::setColumnStylesFromPaginationMode):
961         This is the old StyleResolver function for setting up the column styles. It's in RenderStyle
962         now so that it can be called at any time to change a style rather than only at style resolution
963         time.
964
965         * rendering/style/RenderStyle.h:
966         Declaration of the setColumnStylesFromPaginationMode function.
967
968 2013-07-19  peavo@outlook.com  <peavo@outlook.com>
969
970         [Curl] Http response code 401 (Authentication required) is not handled.
971         https://bugs.webkit.org/show_bug.cgi?id=118849
972
973         Reviewed by Brent Fulgham.
974
975         The current Curl implementation does not handle a 401 response.
976         When receiving http code 401, we need to give a notification that authorization is required, by calling the appropriate notification method.
977         This gives a WebKit client the possibility to present a password dialog to the user.
978         In response to this, we should provide Curl with the given username and password, so another request can be sent with the given credentials.
979
980         * platform/network/ResourceHandle.h:
981             Added method to check if credential storage should be used.
982         * platform/network/ResourceHandleInternal.h:
983             Added member to keep track of number of authentication failures.
984         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
985         * platform/network/curl/ResourceHandleCurl.cpp:
986         (WebCore::ResourceHandle::shouldUseCredentialStorage):
987             Added method to check if credential storage should be used.
988         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
989             Implement method; notify client when authentication is required.
990         (WebCore::ResourceHandle::receivedCredential):
991             Implement method; provide Curl with password and username when available.
992         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
993             Implement method; reset Curl username and password.
994         (WebCore::ResourceHandle::receivedCancellation):
995             Implement method; notify client that authorization has been cancelled.
996         * platform/network/curl/ResourceHandleManager.cpp:
997         (WebCore::isHttpAuthentication):
998             Added function to check if http code is an 'Authorization required' code.
999         (WebCore::getProtectionSpace):
1000             Added function to initialize a protection space object from a Curl handle and a response object. 
1001         (WebCore::headerCallback):
1002             Notify client when authorization is required.
1003         (WebCore::ResourceHandleManager::applyAuthenticationToRequest):
1004             Added method to set Curl username and password.
1005         (WebCore::ResourceHandleManager::initializeHandle):
1006             Use method to set Curl username and password.
1007         * platform/network/curl/ResourceHandleManager.h:
1008             Added method to set Curl username and password.
1009
1010 2013-07-19  Radu Stavila  <stavila@adobe.com>
1011
1012         Hover doesn't work for block elements inside a href element
1013         https://bugs.webkit.org/show_bug.cgi?id=118907
1014
1015         Reviewed by David Hyatt.
1016
1017         Added test for hovering block elements inside a href element.
1018
1019         Test: fast/css/hover-display-block.html
1020
1021         * rendering/RenderObject.cpp:
1022         (WebCore::RenderObject::hoverAncestor):
1023
1024 2013-07-19  Zoltan Horvath  <zoltan@webkit.org>
1025
1026         [CSS Shapes] Clear overflowing line's segments in pushShapeContentOverflowBelowTheContentBox
1027         https://bugs.webkit.org/show_bug.cgi?id=118002
1028
1029         Reviewed by David Hyatt.
1030
1031         When the last line in the shape overlaps with the shape bottom boundaries we need to clear the computed segments. (We need to compute
1032         the segments anyway, since shape-outside's code uses the same code path to determine its segments and the line containing is not a
1033         requirement in that case.) Rather then doing the job in RenderBlock::LineBreaker::nextLineBreak I moved the functionality to its correct
1034         place to pushShapeContentOverflowBelowTheContentBox. Now all the overflow related functionality is located in one function. I fixed the
1035         corresponding layout test.
1036
1037         Tests: I modified shape-inside-overflow.html.
1038
1039         * rendering/RenderBlockLineLayout.cpp:
1040         (WebCore::pushShapeContentOverflowBelowTheContentBox): Remove segments if line overlaps with the shape's boundaries.
1041         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Move segments clear logic to pushShapeContentOverflowBelowContentBox.
1042
1043 2013-07-19  Geoffrey Garen  <ggaren@apple.com>
1044
1045         TrailingObjects shouldn't shrink vector capacity in a loop
1046         https://bugs.webkit.org/show_bug.cgi?id=118322
1047
1048         Reviewed by Darin Adler.
1049
1050         This seems to take about 3% off the profile of loading a large text file.
1051
1052         * rendering/RenderBlockLineLayout.cpp:
1053         (WebCore::TrailingObjects::clear): clear() has the built-in side effect
1054         of throwing away existing capacity. Use shrink(0) to indicate that we
1055         want to keep our existing capacity.
1056
1057 2013-07-19  Diego Pino Garcia  <dpino@igalia.com>
1058
1059         [GTK] Merge decamelizations fix ups in the GObject DOM bindings code generator
1060         https://bugs.webkit.org/show_bug.cgi?id=117543
1061
1062         Reviewed by Carlos Garcia Campos.
1063
1064         Ensure that all the code that calls to decamelize() applies the same fix ups
1065
1066         Now all functions that need to decamelize a string should simply call
1067         to decamelize(). This function calls to FixUpDecamelize to apply some
1068         fix ups.
1069
1070         * bindings/scripts/CodeGeneratorGObject.pm:
1071         (decamelize): decamelizes a string and applies fix ups
1072         (FixUpDecamelize): applies a series of fix ups to a decamelized string
1073         (GetParentGObjType): moved fix ups to FixUpDecamelize()
1074         (GenerateProperties): simply call to decamelize
1075         (GenerateHeader): simply call to decamelize
1076         (GetGReturnMacro): simply call to decamelize
1077         (GenerateFunction): simply call to decamelize
1078         (GenerateCFile): simply call to decamelize
1079         (GenerateEventTargetIface): simply call to decamelize
1080
1081 2013-07-19  Kwang Yul Seo  <skyul@company100.net>
1082
1083         Unreviewed.
1084
1085         Fix an assertion failure which causes debug bots to fail.
1086
1087         * platform/network/NetworkStateNotifier.cpp:
1088         (WebCore::NetworkStateNotifier::addNetworkStateChangeListener):
1089
1090 2013-07-19  Miguel Gomez  <magomez@igalia.com>
1091
1092         [GTK] media/video-seek-multiple.html is failing
1093         https://bugs.webkit.org/show_bug.cgi?id=117580
1094
1095         Reviewed by Philippe Normand.
1096
1097         When receiving several seek calls in a row, ensure that the final position
1098         is the one requested in the last call received.
1099
1100         Already covered in test media/video-seek-multiple.html
1101
1102         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1103         (WebCore::MediaPlayerPrivateGStreamer::seek):
1104
1105 2013-07-19  Kangil Han  <kangil.han@samsung.com>
1106
1107         Use explicit HTMLFrameElementBase cast and introduce toHTMLFrameElementBase
1108         https://bugs.webkit.org/show_bug.cgi?id=118873
1109
1110         Reviewed by Ryosuke Niwa.
1111
1112         It should be HTMLFrameElementBase that embraces both HTMLFrameElement and HTMLIFrameElement.
1113         This also makes correct toFooElement possible.
1114         Next, to avoid direct use of static_cast, this patch introduces toHTMLFrameElementBase for code cleanup.
1115
1116         * editing/FrameSelection.cpp:
1117         (WebCore::scanForForm):
1118         * html/HTMLBodyElement.cpp:
1119         (WebCore::HTMLBodyElement::didNotifySubtreeInsertions):
1120         * html/HTMLFrameElementBase.h:
1121         (WebCore::toHTMLFrameElementBase):
1122         * loader/SubframeLoader.cpp:
1123         (WebCore::SubframeLoader::loadSubframe):
1124         * page/EventHandler.cpp:
1125         (WebCore::targetIsFrame):
1126         * page/FrameView.cpp:
1127         (WebCore::FrameView::init):
1128         * rendering/RenderFrameBase.cpp:
1129         (WebCore::RenderFrameBase::layoutWithFlattening):
1130         * rendering/RenderLayer.cpp:
1131         (WebCore::frameElementAndViewPermitScroll):
1132         (WebCore::RenderLayer::scrollRectToVisible):
1133
1134 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1135
1136         Bindings generation tests are failing
1137         https://bugs.webkit.org/show_bug.cgi?id=118877
1138
1139         Reviewed by Kentaro Hara.
1140
1141         I inadvertently removed the wrong part of the if statement
1142         in r152845, causing hasAttribute() to be used unconditionally
1143         for reflected boolean attributes instead of fastHasAttribute().
1144         This patch fixes the issue.
1145
1146         No new tests, covered by bindings tests.
1147
1148         * bindings/scripts/CodeGenerator.pm:
1149         (GetterExpression):
1150
1151 2013-07-18  Kwang Yul Seo  <skyul@company100.net>
1152
1153         WorkerGlobalScope should support onoffline/ononline event handlers
1154         https://bugs.webkit.org/show_bug.cgi?id=118832
1155
1156         Reviewed by Alexey Proskuryakov.
1157
1158         HTML5 spec says that WorkerGlobalScope should support
1159         onoffline/ononline event handlers as stated in
1160         http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#event-offline
1161
1162         Modified NetworkStateNotifier to support multiple callbacks and added a
1163         callback to dispatch offline and online events to WorkerGlobalScope
1164         when network state is changed.
1165
1166         No new test because the current test infrastructure does not provide a
1167         mock network state notifier.
1168
1169         * page/Page.cpp:
1170         (WebCore::networkStateChanged):
1171         Change the function to take an additional argument, isOnLine so that we
1172         can remove a call to NetworkStateNotifier::onLine().
1173         (WebCore::Page::Page):
1174         Use NetworkStateNotifier::addNetworkStateChangeListener which
1175         allows us to add multiple callbacks.
1176
1177         * platform/network/NetworkStateNotifier.cpp:
1178         (WebCore::NetworkStateNotifier::addNetworkStateChangeListener):
1179         Replace NetworkStateNotifier::setNetworkStateChangedFunction with
1180         NetworkStateNotifier::addNetworkStateChangeListener.
1181         (WebCore::NetworkStateNotifier::notifyNetworkStateChange):
1182         A helper method to notify all registered network state change
1183         callbacks.
1184         * platform/network/NetworkStateNotifier.h:
1185         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1186         * platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp:
1187         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1188         (WebCore::NetworkStateNotifier::networkStateChange):
1189         * platform/network/efl/NetworkStateNotifierEfl.cpp:
1190         (WebCore::NetworkStateNotifier::networkInterfaceChanged):
1191         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1192         * platform/network/mac/NetworkStateNotifierMac.cpp:
1193         (WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
1194         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1195         * platform/network/qt/NetworkStateNotifierQt.cpp:
1196         (WebCore::NetworkStateNotifier::updateState):
1197         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1198         * platform/network/win/NetworkStateNotifierWin.cpp:
1199         (WebCore::NetworkStateNotifier::addressChanged):
1200         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1201         Replace m_networkStateChangedFunction() with notifyNetworkStateChange().
1202
1203         * workers/Worker.cpp:
1204         (WebCore::networkStateChanged):
1205         Notify network state change by iterating all Workers.
1206         (WebCore::Worker::Worker):
1207         Initialize allWorkers and add networkStateChanged to
1208         NetworkStateNotifier in first invocation. Add this Worker to
1209         allWorkers.
1210         (WebCore::Worker::~Worker):
1211         Remove this Worker from allWorkers.
1212         (WebCore::Worker::notifyNetworkStateChange):
1213         * workers/Worker.h:
1214         * workers/WorkerGlobalScope.h:
1215         Add onoffline and ononline event handlers.
1216         * workers/WorkerGlobalScope.idl:
1217         Add onoffline and ononline event handlers
1218         * workers/WorkerGlobalScopeProxy.h:
1219
1220         * workers/WorkerMessagingProxy.cpp:
1221         (WebCore::NotifyNetworkStateChangeTask::create):
1222         (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask):
1223         (WebCore::NotifyNetworkStateChangeTask::performTask):
1224         A subclass of ScriptExecutionContext::Task to dispatch offline and
1225         online events to WorkerGlobalScope.
1226         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
1227         Notify network state change using ScriptExecutionContext::postTask to
1228         dispatch events across threads.
1229         * workers/WorkerMessagingProxy.h:
1230
1231 2013-07-18  Ryosuke Niwa  <rniwa@webkit.org>
1232
1233         Build fix after r152876.
1234
1235         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1236         (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
1237
1238 2013-07-18  Brent Fulgham  <bfulgham@apple.com>
1239
1240         [Media] Share more code between Mac and Windows implementation files.
1241         https://bugs.webkit.org/show_bug.cgi?id=118801
1242
1243         Reviewed by Eric Carlson.
1244
1245         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1246         (WebCore::MediaPlayerPrivateAVFoundation::clearTextTracks): Move
1247         implementation from ObjC file to parent file.
1248         (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
1249         Ditto.
1250         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1251         Remove duplicate implementation.
1252         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1253         Ditto.
1254         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1255         Ditto.
1256         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1257         Ditto.
1258         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1259         Ditto.
1260
1261 2013-07-18  Alex Christensen  <achristensen@apple.com>
1262
1263         Fixed compile errors for non-Cairo platforms using EGL.
1264         https://bugs.webkit.org/show_bug.cgi?id=118536
1265
1266         Reviewed by Brent Fulgham.
1267
1268         * platform/graphics/egl/GLContextEGL.cpp: Added #if USE(CAIRO) around cairo.h.
1269         (WebCore::GLContextEGL::~GLContextEGL): Added #if USE(CAIRO) around cairo_device_destroy call. 
1270
1271 2013-07-18  Jer Noble  <jer.noble@apple.com>
1272
1273         New PDFPlugin doesn't support WebKitOmitPDFSupport, acts as if Plug-ins are off
1274         https://bugs.webkit.org/show_bug.cgi?id=118858
1275
1276         Reviewed by Eric Carlson.
1277
1278         Expand the scope of rejecting non video/ or audio/ MIME types when
1279         filling the MIME type cache.
1280
1281         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1282         (WebCore::shouldRejectMIMEType): Added utility function.
1283
1284 2013-07-17  Brent Fulgham  <bfulgham@apple.com>
1285
1286         [Windows] Support in-band text tracks.
1287         https://bugs.webkit.org/show_bug.cgi?id=103770
1288
1289         Reviewed by Eric Carlson.
1290
1291         Existing media tests cover these features.
1292
1293         * WebCore.vcxproj/WebCore.vcxproj: Add new files for Windows captions
1294         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
1295         * config.h: Make sure proper buid flags are turned on when building
1296         with AVCF_LEGIBLE_OUTPUT.
1297         * page/CaptionUserPreferencesMediaAF.cpp: Revise to reduce soft linking
1298         duplication between Mac and Windows.
1299         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Update
1300         to support Windows platform by removing compiler guards and adding
1301         Windows declarations for soft-link functions.
1302         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Ditto.
1303         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1304         Remove build guards preventing Windows from using LegibleOutput
1305         features.
1306         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1307         (WebCore::MediaPlayerPrivateAVFoundation::seek):
1308         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
1309         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
1310         (WebCore::MediaPlayerPrivateAVFoundation::trackModeChanged):
1311         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1312         (WebCore::MediaPlayerPrivateAVFoundation::contentsNeedsDisplay): Ditto
1313         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:
1314         Add new LegibleOutput support functions, and try to reduce duplication
1315         between Windows and Mac soft link declarations.
1316         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Ditto.
1317         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp: Added.
1318         (WebCore::InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF):
1319         (WebCore::InbandTextTrackPrivateAVCF::disconnect):
1320         (WebCore::InbandTextTrackPrivateAVCF::kind):
1321         (WebCore::InbandTextTrackPrivateAVCF::isClosedCaptions):
1322         (WebCore::InbandTextTrackPrivateAVCF::isSDH):
1323         (WebCore::InbandTextTrackPrivateAVCF::containsOnlyForcedSubtitles):
1324         (WebCore::InbandTextTrackPrivateAVCF::isMainProgramContent):
1325         (WebCore::InbandTextTrackPrivateAVCF::isEasyToRead):
1326         (WebCore::InbandTextTrackPrivateAVCF::label):
1327         (WebCore::InbandTextTrackPrivateAVCF::language):
1328         (WebCore::InbandTextTrackPrivateAVCF::isDefault):
1329         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: Added.
1330         (WebCore::InbandTextTrackPrivateAVCF::create):
1331         (WebCore::InbandTextTrackPrivateAVCF::~InbandTextTrackPrivateAVCF):
1332         (WebCore::InbandTextTrackPrivateAVCF::mediaSelectionOption):
1333         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp: Added.
1334         (WebCore::InbandTextTrackPrivateLegacyAVCF::InbandTextTrackPrivateLegacyAVCF):
1335         (WebCore::InbandTextTrackPrivateLegacyAVCF::disconnect):
1336         (WebCore::InbandTextTrackPrivateLegacyAVCF::kind):
1337         (WebCore::InbandTextTrackPrivateLegacyAVCF::isClosedCaptions):
1338         (WebCore::InbandTextTrackPrivateLegacyAVCF::containsOnlyForcedSubtitles):
1339         (WebCore::InbandTextTrackPrivateLegacyAVCF::isMainProgramContent):
1340         (WebCore::InbandTextTrackPrivateLegacyAVCF::isEasyToRead):
1341         (WebCore::InbandTextTrackPrivateLegacyAVCF::label):
1342         (WebCore::InbandTextTrackPrivateLegacyAVCF::language):
1343         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h: Added.
1344         (WebCore::InbandTextTrackPrivateLegacyAVCF::create):
1345         (WebCore::InbandTextTrackPrivateLegacyAVCF::~InbandTextTrackPrivateLegacyAVCF):
1346         (WebCore::InbandTextTrackPrivateLegacyAVCF::avPlayerItemTrack):
1347         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1348         Update to support LegibleOutput features for the Windows port.
1349         (WebCore::AVFWrapper::currentTrack): Added.
1350         (WebCore::AVFWrapper::legibleOutput): Added.
1351         (WebCore::createMetadataKeyNames): Added missing key names.
1352         (WebCore::avLegibleOutput): Added.
1353         (WebCore::safeMediaSelectionGroupForLegibleMedia): Added.
1354         (WebCore::MediaPlayerPrivateAVFoundationCF::cancelLoad): Clear text
1355         tracks when cancelling.
1356         (WebCore::MediaPlayerPrivateAVFoundationCF::setCurrentTrack): Added.
1357         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTrack): Added.
1358         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration): Revised
1359         to match logic in Objective C implementation.
1360         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime): Revised
1361         to match logic in Objective C implementation.
1362         (WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext):
1363         Check presence of metadata before proceeding. Revised to match logic
1364         in Objective C implementation.
1365         (WebCore::MediaPlayerPrivateAVFoundationCF::paint): Ditto.
1366         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged): Update for
1367         in-band text tracks.
1368         (WebCore::MediaPlayerPrivateAVFoundationCF::clearTextTracks): Added.
1369         (WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
1370         Added.
1371         (WebCore::MediaPlayerPrivateAVFoundationCF::processNewAndRemovedTextTracks):
1372         Added.
1373         (WebCore::MediaPlayerPrivateAVFoundationCF::processMediaSelectionOptions):
1374         Added.
1375         (WebCore::AVFWrapper::setCurrentTrack): Added.
1376         (WebCore::MediaPlayerPrivateAVFoundationCF::languageOfPrimaryAudioTrack):
1377         Added.
1378         (WebCore::AVFWrapper::AVFWrapper): Add new initializers.
1379         (WebCore::AVFWrapper::~AVFWrapper): Clean up text track information.
1380         (WebCore::AVFWrapper::createPlayer): Add Legible Output support.
1381         (WebCore::AVFWrapper::createPlayerItem): Ditto.
1382         (WebCore::LegibleOutputData::LegibleOutputData): Added.
1383         (WebCore::AVFWrapper::processCue): Added.
1384         (WebCore::AVFWrapper::legibleOutputCallback): Added.
1385         (WebCore::AVFWrapper::safeMediaSelectionGroupForLegibleMedia): Added.
1386         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1387         Update to support LegibleOutput features for the Windows port.
1388         * platform/win/SoftLinking.h: Change signature of variable accessor
1389         to match Mac so reduce duplicate code.
1390
1391 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1392
1393         Make atob() / btoa() argument non optional
1394         https://bugs.webkit.org/show_bug.cgi?id=118844
1395
1396         Reviewed by Kentaro Hara.
1397
1398         According to the latest specification, the argument to atob() / btoa()
1399         should not be optional:
1400         http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#windowbase64
1401
1402         This patch makes WebKit behave according to the specification. The argument
1403         is also mandatory in Firefox, IE10 and Blink.
1404
1405         atob() / btoa() are also moved to their own WindowBase64 interface which
1406         the Window interface implements. This does not change the behavior but
1407         this is closer to the specification and it will make exposing those
1408         methods to workers easier later on.
1409
1410         No new tests, already covered by:
1411         fast/dom/Window/atob-btoa.html
1412
1413         * CMakeLists.txt:
1414         * DerivedSources.make:
1415         * DerivedSources.pri:
1416         * GNUmakefile.list.am:
1417         * page/DOMWindow.idl:
1418         * page/WindowBase64.idl: Added.
1419
1420 2013-07-18  Antoine Quint  <graouts@apple.com>
1421
1422         Crash in WebCore::createMarkup()
1423         https://bugs.webkit.org/show_bug.cgi?id=118847
1424
1425         Reviewed by Ryosuke Niwa.
1426
1427         Also check that we have a containingBlock() for the renderer() so that we
1428         may safely call node() on it.
1429
1430         * editing/markup.cpp:
1431         (WebCore::highestAncestorToWrapMarkup):
1432
1433 2013-07-18  Praveen R Jadhav  <praveen.j@samsung.com>
1434
1435         Only the first call to 'stop' method of AudioBufferSourceNode must be entertained.
1436         https://bugs.webkit.org/show_bug.cgi?id=118776
1437
1438         Reviewed by Jer Noble.
1439
1440         Subsequent calls to 'stop' for a AudioSourceBufferNode throws an exception.
1441         End time set by first 'stop' method is used for processing.
1442
1443         No new tests. audiobuffersource-exception.html is updated.
1444
1445         * Modules/webaudio/AudioScheduledSourceNode.cpp:
1446         (WebCore::AudioScheduledSourceNode::stop):
1447
1448 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1449
1450         Simplify SVG animated type handling in the JSC bindings generator
1451         https://bugs.webkit.org/show_bug.cgi?id=118845
1452
1453         Reviewed by Kentaro Hara.
1454
1455         Simplify IsSVGAnimatedType subroutine in the bindings generator so that
1456         we no longer need to hardcode SVG animated types. Also remove the
1457         CanUseFastAttribute subroutine as it is equivalent to IsSVGAnimatedType.
1458         This allows us to simplify the GetterExpression subroutine so that
1459         we can use fastHasAttribute() unconditionally for boolean type.
1460
1461         No new tests, no behavior change.
1462
1463         * bindings/scripts/CodeGenerator.pm:
1464         (IsSVGAnimatedType):
1465         (GetterExpression):
1466
1467 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1468
1469         Use [ImplementedAs] instead of special casing in the bindings generators
1470         https://bugs.webkit.org/show_bug.cgi?id=118848
1471
1472         Reviewed by Kentaro Hara.
1473
1474         In several instances, special casing were used in the bindings generator to avoid
1475         name clashes in the implementation. The [ImplementedBy] IDL extended attribute is
1476         meant to solve this issue so we now use it instead.
1477
1478         No new tests, no behavior change.
1479
1480         * bindings/scripts/CodeGenerator.pm:
1481         (WK_ucfirst):
1482         (AttributeNameForGetterAndSetter):
1483         * bindings/scripts/CodeGeneratorJS.pm:
1484         (GenerateImplementation):
1485         (NativeToJSValue):
1486         * bindings/scripts/CodeGeneratorObjC.pm:
1487         (GenerateHeader):
1488         (GenerateImplementation):
1489         * svg/SVGAElement.idl:
1490         * svg/SVGFECompositeElement.cpp:
1491         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
1492         (WebCore::SVGFECompositeElement::parseAttribute):
1493         (WebCore::SVGFECompositeElement::setFilterEffectAttribute):
1494         (WebCore::SVGFECompositeElement::build):
1495         * svg/SVGFECompositeElement.h:
1496         * svg/SVGFECompositeElement.idl:
1497         * svg/SVGFEMorphologyElement.cpp:
1498         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
1499         (WebCore::SVGFEMorphologyElement::parseAttribute):
1500         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
1501         (WebCore::SVGFEMorphologyElement::build):
1502         * svg/SVGFEMorphologyElement.h:
1503         * svg/SVGFEMorphologyElement.idl:
1504         * svg/SVGTransform.cpp:
1505         (WebCore::SVGTransform::updateSVGMatrix):
1506         * svg/SVGTransform.h:
1507         * svg/SVGTransform.idl:
1508
1509 2013-07-18  Zalan Bujtas  <zalan@apple.com>
1510
1511         Incorrect calculated width for mspace.
1512         https://bugs.webkit.org/show_bug.cgi?id=118601
1513
1514         Reviewed by Chris Fleizach.
1515
1516         Use intrinsic logical widths to size <mspace> properly.
1517         This patch also fixes an assert on isPreferredLogicalHeightDirty() which occurs
1518         while layouting <mspace>. The assert fix is required, so that the sizing can be
1519         fixed.
1520
1521         Test: mathml/presentation/mspace-prefered-width.html
1522
1523         * rendering/mathml/RenderMathMLBlock.cpp:
1524         (WebCore::parseMathMLLength): switch to LayoutUnits.
1525         (WebCore::parseMathMLNamedSpace): switch to LayoutUnits.
1526         * rendering/mathml/RenderMathMLBlock.h:
1527         * rendering/mathml/RenderMathMLFraction.cpp:
1528         (WebCore::RenderMathMLFraction::updateFromElement):
1529         * rendering/mathml/RenderMathMLFraction.h:
1530         * rendering/mathml/RenderMathMLSpace.cpp:
1531         (WebCore::RenderMathMLSpace::computeIntrinsicLogicalWidths):
1532         * rendering/mathml/RenderMathMLSpace.h:
1533
1534 2013-07-18  Ryosuke Niwa  <rniwa@webkit.org>
1535
1536         willWriteSelectionToPasteboard and willPerformDragSourceAction editing callbacks are not called for drag and drop
1537         https://bugs.webkit.org/show_bug.cgi?id=118828
1538
1539         Reviewed by Gavin Barraclough.
1540
1541         Call these two callbacks when we start a drag and drop.
1542
1543         No new tests for now but we should start logging these callbacks in DRT and WTR's EditorClients.
1544
1545         * page/DragController.cpp:
1546         (WebCore::DragController::startDrag):
1547
1548 2013-07-18  Santosh Mahto  <santosh.ma@samsung.com>
1549
1550         ASSERTION FAILED: !listItems().size() || m_activeSelectionAnchorIndex >= 0 in WebCore::HTMLSelectElement::updateListBoxSelection
1551         https://bugs.webkit.org/show_bug.cgi?id=118591
1552
1553         Reviewed by Kent Tamura.
1554
1555         Test: fast/forms/select/selectall-command-crash.html
1556
1557         * html/HTMLSelectElement.cpp:
1558         (WebCore::HTMLSelectElement::selectAll):
1559         We should return this function if activeSelectionAnchorIndex is not valid index
1560
1561 2013-07-18  Ryuan Choi  <ryuan.choi@samsung.com>
1562
1563         [EFL] Refactor spin.edc not to use offset
1564         https://bugs.webkit.org/show_bug.cgi?id=118830
1565
1566         Reviewed by Gyuyoung Kim.
1567
1568         EDJE allows offset to specify the pixel based position,
1569         but it's not good way if you want to locate object like arrow top or bottom.
1570
1571         Instead, this patch uses align property.
1572
1573         * platform/efl/DefaultTheme/widget/spinner/spinner.edc:
1574
1575 2013-07-18  Nick Diego Yamane  <nick.yamane@openbossa.org>
1576
1577         [gstreamer] Avoid calls to g_slist_index in webKitWebAudioSrcLoop()
1578         https://bugs.webkit.org/show_bug.cgi?id=118827
1579
1580         Reviewed by Philippe Normand.
1581
1582         webKitWebAudioSrcLoop() currently calls g_slist_index for each element 
1583         to get its index in a list it's iterating over. g_list_index function uses
1584         a sequential search to find that element, which is clearly unecessary.
1585         This patch adds a local variable to store the current index and use it 
1586         instead of calling g_slist_index function.
1587
1588         No new tests, no behavior changes.
1589
1590         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1591         (webKitWebAudioSrcLoop):
1592
1593 2013-07-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1594
1595         Introduce toSVGInlineFlowBox() and use it
1596         https://bugs.webkit.org/show_bug.cgi?id=118794
1597
1598         Reviewed by Andreas Kling.
1599
1600         As a step to change static_cast with toSVGXXX, static_cast<SVGInlineFlowBox*> can
1601         be changed with toSVGInlineFlowBox().
1602
1603         Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=154385
1604
1605         No new tests, no behavior change.
1606
1607         * rendering/svg/SVGInlineFlowBox.cpp:
1608         (WebCore::SVGInlineFlowBox::paintSelectionBackground):
1609         * rendering/svg/SVGInlineFlowBox.h:
1610         (WebCore::toSVGInlineFlowBox):
1611         * rendering/svg/SVGRootInlineBox.cpp:
1612         (WebCore::SVGRootInlineBox::paint):
1613         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
1614         (WebCore::SVGRootInlineBox::layoutChildBoxes):
1615
1616 2013-07-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1617
1618         Use toSVGMarkerElement() instead of static_cast<>
1619         https://bugs.webkit.org/show_bug.cgi?id=118800
1620
1621         Reviewed by Andreas Kling.
1622
1623         Though there is toSVGMarkerElement(), some files still use static_cast<SVGMarkerElement*>.
1624         To remove all static_cast<> use, we need to change argument from SVGElement to Node.
1625
1626         No new tests, no behavior changes.
1627
1628         * rendering/svg/RenderSVGResourceMarker.cpp:
1629         (WebCore::RenderSVGResourceMarker::referencePoint):
1630         (WebCore::RenderSVGResourceMarker::angle):
1631         (WebCore::RenderSVGResourceMarker::markerTransformation):
1632         (WebCore::RenderSVGResourceMarker::viewportTransform):
1633         (WebCore::RenderSVGResourceMarker::calcViewport):
1634         * rendering/svg/RenderSVGResourceMarker.h:
1635         (WebCore::RenderSVGResourceMarker::markerUnits):
1636         * svg/SVGMarkerElement.h:
1637         (WebCore::toSVGMarkerElement):
1638
1639 2013-07-17  Jacky Jiang  <zhajiang@blackberry.com>
1640
1641         Dereference null pointer crash in Length::decrementCalculatedRef()
1642         https://bugs.webkit.org/show_bug.cgi?id=118686
1643
1644         Reviewed by Simon Fraser.
1645
1646         Length(Calculated) won't insert any CalculationValue to CalculationValueHandleMap;
1647         therefore, we dereference null CalculationValue pointer when the temporary
1648         Length object goes out of the scope.
1649         Length(Calculated) is not allowed as it doesn't make sense that we construct
1650         a Calculated Length object with uninitialized calc expression.
1651         The code just wants to blend with zero. To fix the bug, we can just blend
1652         with Length(0, Fixed) here as we currently can blend different type units
1653         and zero has the same behavior regardless of unit.
1654
1655         Test: transitions/transition-transform-translate-calculated-length-crash.html
1656
1657         * platform/graphics/transforms/TranslateTransformOperation.cpp:
1658         (WebCore::TranslateTransformOperation::blend):
1659
1660 2013-07-17  Tim Horton  <timothy_horton@apple.com>
1661
1662         Update blocked/missing plug-in UI
1663         https://bugs.webkit.org/show_bug.cgi?id=118347
1664         <rdar://problem/14209318>
1665
1666         Reviewed by Sam Weinig.
1667
1668         * WebCore.exp.in:
1669         Export RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription.
1670
1671         * rendering/RenderEmbeddedObject.cpp:
1672         (WebCore::replacementTextRoundedRectPressedColor):
1673         (WebCore::replacementTextRoundedRectColor):
1674         (WebCore::replacementTextColor):
1675         Change colors to new design and add some more constants.
1676
1677         (WebCore::shouldUnavailablePluginMessageBeButton): Added.
1678
1679         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Added.
1680         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
1681         Call through to the -WithDescription variant.
1682
1683         (WebCore::RenderEmbeddedObject::paintReplaced):
1684         Fill the background, and otherwise match the new design.
1685
1686         (WebCore::addReplacementArrowPath):
1687         Add an arrow to the given path, inside the given rect.
1688
1689         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1690         Add a 1px padding to the bottom of the text.
1691         Add a circle and an arrow into the indicator as per the new design.
1692
1693         (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
1694         Hit-test the indicator arrow as well; otherwise, the fact that the arrow
1695         is a hole in the path means it won't be hit.
1696
1697         * rendering/RenderEmbeddedObject.h:
1698
1699 2013-07-17  Commit Queue  <commit-queue@webkit.org>
1700
1701         Unreviewed, rolling out r152701, r152703, r152739, r152754,
1702         and r152756.
1703         http://trac.webkit.org/changeset/152701
1704         http://trac.webkit.org/changeset/152703
1705         http://trac.webkit.org/changeset/152739
1706         http://trac.webkit.org/changeset/152754
1707         http://trac.webkit.org/changeset/152756
1708         https://bugs.webkit.org/show_bug.cgi?id=118821
1709
1710         this was a buggy fix and we're going to try something
1711         different (Requested by thorton on #webkit).
1712
1713         * CMakeLists.txt:
1714         * DerivedSources.make:
1715         * DerivedSources.pri:
1716         * GNUmakefile.am:
1717         * WebCore.exp.in:
1718         * WebCore.vcxproj/WebCore.vcxproj:
1719         * WebCore.vcxproj/WebCore.vcxproj.filters:
1720         * WebCore.xcodeproj/project.pbxproj:
1721         * css/CSSDefaultStyleSheets.cpp:
1722         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
1723         * css/unavailablePlugIns.css: Removed.
1724         * dom/EventListener.h:
1725         * html/HTMLAppletElement.cpp:
1726         (WebCore::HTMLAppletElement::updateWidget):
1727         * html/HTMLPlugInElement.cpp:
1728         (WebCore::HTMLPlugInElement::defaultEventHandler):
1729         * html/HTMLPlugInImageElement.cpp:
1730         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
1731         * loader/SubframeLoader.cpp:
1732         (WebCore::SubframeLoader::createJavaAppletWidget):
1733         * page/ChromeClient.h:
1734         (WebCore::ChromeClient::shouldUnavailablePluginMessageBeButton):
1735         * rendering/RenderEmbeddedObject.cpp:
1736         (WebCore::replacementTextRoundedRectPressedColor):
1737         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1738         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
1739         (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed):
1740         (WebCore::RenderEmbeddedObject::paint):
1741         (WebCore::RenderEmbeddedObject::paintReplaced):
1742         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1743         (WebCore::RenderEmbeddedObject::replacementTextRect):
1744         (WebCore::RenderEmbeddedObject::isReplacementObscured):
1745         (WebCore::RenderEmbeddedObject::layout):
1746         (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
1747         (WebCore::shouldUnavailablePluginMessageBeButton):
1748         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
1749         (WebCore::RenderEmbeddedObject::getCursor):
1750         (WebCore::RenderEmbeddedObject::canHaveChildren):
1751         * rendering/RenderEmbeddedObject.h:
1752         * rendering/RenderWidget.h:
1753
1754 2013-07-17  Simon Fraser  <simon.fraser@apple.com>
1755
1756         Optimize RenderLayerCompositor's OverlapMap
1757         https://bugs.webkit.org/show_bug.cgi?id=118764
1758
1759         Reviewed by Tim Horton.
1760
1761         Overlap stack items can have RectLists with hundreds of rectangles.
1762         This makes the linear search in OverlapMap::overlapsLayers() very slow.
1763         
1764         Optimize by storing the bounding rect of the list of rects, and doing an early
1765         check on that. This reduces time spent in RenderLayer::scrollTo() by 13% in some
1766         content with lots of layers inside an overflow:scroll.
1767
1768         * rendering/RenderLayerCompositor.cpp:
1769         (WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
1770         (WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
1771         (WebCore::RenderLayerCompositor::OverlapMap::RectList::append):
1772         (WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects):
1773
1774 2013-07-17  Bem Jones-Bey  <bjonesbe@adobe.com>
1775
1776         [CSS Shapes] Port refactoring of shape-outside code from Blink
1777         https://bugs.webkit.org/show_bug.cgi?id=118757
1778
1779         Reviewed by Dean Jackson.
1780
1781         Refactor the left and right offset methods to reduce the number of
1782         arguments by splitting the methods into smaller methods. This
1783         refactoring was requested as part of porting support for stacked
1784         floats with shape-outside to Blink.
1785
1786         Also add a variable when calling computeSegmentsForLine to make it
1787         more readable and easier to follow the coordinate system change.
1788
1789         No new tests, no behavior change.
1790
1791         * rendering/RenderBlock.cpp:
1792         (WebCore::RenderBlock::computeLogicalLocationForFloat): Update to use
1793             the refactored IgnoringShapeOutside methods.
1794         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine): New method to
1795             compute the offset contributed by left floats.
1796         (WebCore::RenderBlock::adjustLogicalLeftOffsetForLine): New method to
1797             compute misc adjustments to the left offset.
1798         (WebCore::RenderBlock::logicalRightFloatOffsetForLine): New method to
1799             compute the offset contributed by right floats.
1800         (WebCore::RenderBlock::adjustLogicalRightOffsetForLine): New method to
1801             compute misc adjustments to the right offset.
1802         * rendering/RenderBlock.h:
1803         (WebCore::RenderBlock::logicalRightOffsetForLine): Implement original
1804             method in terms of the float offset computation method and the
1805             offset adjustment method. This method takes into account the
1806             shape-outside on any floats when computing the offset.
1807         (WebCore::RenderBlock::logicalLeftOffsetForLine): Ditto.
1808         (WebCore::RenderBlock::logicalRightOffsetForLineIgnoringShapeOutside):
1809             Compute the right offset as if there was no shape-outside on any
1810             of the floats.
1811         (WebCore::RenderBlock::logicalLeftOffsetForLineIgnoringShapeOutside):
1812             Compute the left offset as if there was no shape-outside on any
1813             of the floats.
1814         * rendering/RenderBlockLineLayout.cpp:
1815         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Update
1816             to use a variable to make the calls to computeSegmentsForLine more
1817             explicit about the coordinate system conversion.
1818
1819 2013-07-17  Zalan Bujtas  <zalan@apple.com>
1820
1821         Wrong linebox height, when block element parent has vertical-align property defined.
1822         https://bugs.webkit.org/show_bug.cgi?id=118245
1823
1824         Reviewed by David Hyatt.
1825
1826         Do not push the current element to the next, when it is still considered empty, even with
1827         some object(s) in front. Behave as if it was actually empty.
1828         Inline elements like <span></span> generate such lines.
1829
1830         Test: fast/css/empty-span-with-parent-div-and-vertical-align.html
1831
1832         * rendering/RenderBlockLineLayout.cpp:
1833         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1834
1835 2013-07-17  Andreas Kling  <akling@apple.com>
1836
1837         CSS selector list splitting should be by component, not by selector.
1838         <http://webkit.org/b/118761>
1839         <rdar://problem/14421609>
1840
1841         Reviewed by Antti Koivisto.
1842
1843         Test (amended): fast/css/rule-selector-overflow.html
1844
1845         * css/CSSSelectorList.h:
1846         * css/CSSSelectorList.cpp:
1847         (WebCore::CSSSelectorList::CSSSelectorList):
1848         (WebCore::CSSSelectorList::componentCount):
1849         * css/CSSStyleRule.cpp:
1850         (WebCore::CSSStyleRule::setSelectorText):
1851
1852             Renamed CSSSelectorList::length() to componentCount() and made it public.
1853
1854         * css/RuleSet.h:
1855
1856             maximumSelectorCount => maximumSelectorComponentCount
1857
1858         * css/StyleRule.cpp:
1859         (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
1860
1861             Make the splits after accumulating 'maximumSelectorComponentCount' components.
1862
1863         * css/StyleRule.h:
1864         * css/StyleSheetContents.cpp:
1865         (WebCore::StyleSheetContents::parserAppendRule):
1866
1867             splitIntoMultipleRulesWithMaximumSelectorCount => splitIntoMultipleRulesWithMaximumSelectorComponentCount
1868
1869 2013-07-17  Rob Buis  <rwlbuis@webkit.org>
1870
1871         [Mac] REGRESSION(r152685): svg/custom/xlink-prefix-in-attributes.html failed unexpectedly
1872         https://bugs.webkit.org/show_bug.cgi?id=118701
1873
1874         Reviewed by Ryosuke Niwa.
1875
1876         Use the computed attribute prefix, otherwise href being in xlink namespace but not having any prefix
1877         will cause outputting the xlink namespace in appendNamespace.
1878
1879         Patch fixes svg/custom/xlink-prefix-in-attributes.html.
1880
1881         * editing/MarkupAccumulator.cpp:
1882         (WebCore::MarkupAccumulator::appendAttribute):
1883
1884 2013-07-17  Chris Fleizach  <cfleizach@apple.com>
1885
1886         Regression: columnheader/rowheader roles not exposed correctly
1887         https://bugs.webkit.org/show_bug.cgi?id=113628
1888
1889         Reviewed by Tim Horton.
1890
1891         When we determine the row and column headers we look at the ARIA role being returned, but
1892         since TableCell overrides the determineAccessibilityRole method, the ARIA role is never set.
1893
1894         Test: platform/mac/accessibility/aria-columnrowheaders.html
1895
1896         * accessibility/AccessibilityTableCell.cpp:
1897         (WebCore::AccessibilityTableCell::determineAccessibilityRole):
1898
1899 2013-07-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1900
1901         Get rid of SVGPoint special case from the bindings generator
1902         https://bugs.webkit.org/show_bug.cgi?id=118783
1903
1904         Reviewed by Kentaro Hara.
1905
1906         Get rid of SVGPoint special case from the bindings generator by adding a
1907         new SVGPoint.h header that contains a typedef to FloatPoint.
1908
1909         Also use SVGPoint type in the implementation API for consistency with
1910         the IDL.
1911
1912         No new tests, no behavior change.
1913
1914         * bindings/scripts/CodeGenerator.pm:
1915         (SkipIncludeHeader):
1916         * bindings/scripts/test/JS/JSTestObj.cpp:
1917         (WebCore::jsTestObjMutablePoint):
1918         (WebCore::jsTestObjImmutablePoint):
1919         (WebCore::setJSTestObjMutablePoint):
1920         (WebCore::setJSTestObjImmutablePoint):
1921         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
1922         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
1923         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1924         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
1925         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1926         (-[DOMTestObj mutablePoint]):
1927         (-[DOMTestObj immutablePoint]):
1928         (-[DOMTestObj mutablePointFunction]):
1929         (-[DOMTestObj immutablePointFunction]):
1930         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
1931         (-[DOMTestTypedefs immutablePointFunction]):
1932         * rendering/svg/RenderSVGRoot.cpp:
1933         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
1934         * rendering/svg/SVGTextQuery.cpp:
1935         (WebCore::SVGTextQuery::startPositionOfCharacter):
1936         (WebCore::SVGTextQuery::endPositionOfCharacter):
1937         (WebCore::SVGTextQuery::characterNumberAtPosition):
1938         * rendering/svg/SVGTextQuery.h:
1939         * svg/SVGPathElement.cpp:
1940         (WebCore::SVGPathElement::getPointAtLength):
1941         * svg/SVGPathElement.h:
1942         * svg/SVGPathTraversalStateBuilder.cpp:
1943         (WebCore::SVGPathTraversalStateBuilder::currentPoint):
1944         * svg/SVGPathTraversalStateBuilder.h:
1945         * svg/SVGPathUtilities.cpp:
1946         (WebCore::getPointAtLengthOfSVGPathByteStream):
1947         * svg/SVGPathUtilities.h:
1948         * svg/SVGPoint.h: Added.
1949         * svg/SVGPointList.cpp:
1950         (WebCore::SVGPointList::valueAsString):
1951         * svg/SVGPointList.h:
1952         * svg/SVGSVGElement.cpp:
1953         (WebCore::SVGSVGElement::createSVGPoint):
1954         * svg/SVGSVGElement.h:
1955         * svg/SVGTextContentElement.cpp:
1956         (WebCore::SVGTextContentElement::getStartPositionOfChar):
1957         (WebCore::SVGTextContentElement::getEndPositionOfChar):
1958         (WebCore::SVGTextContentElement::getCharNumAtPosition):
1959         * svg/SVGTextContentElement.h:
1960         * svg/SVGZoomEvent.cpp:
1961         (WebCore::SVGZoomEvent::previousTranslate):
1962         (WebCore::SVGZoomEvent::newTranslate):
1963         * svg/SVGZoomEvent.h:
1964
1965 2013-07-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1966
1967         [GStreamer] webkitwebsrc: use SubResourceLoader
1968         https://bugs.webkit.org/show_bug.cgi?id=73743
1969
1970         Reviewed by Philippe Normand.
1971
1972         * GNUmakefile.list.am: Add new files to compilation.
1973         * PlatformEfl.cmake: Ditto.
1974         * PlatformGTK.cmake: Ditto.
1975         * loader/SubresourceLoader.h: Add getOrCreateReadBuffer() when
1976         using SOUP.
1977         * loader/cache/CachedRawResource.h:
1978         * loader/cache/CachedRawResourceClient.h:
1979         (WebCore::CachedRawResourceClient::getOrCreateReadBuffer): Added
1980         to allow the client to allocate the read buffer.
1981         * loader/cache/CachedResource.h:
1982         (WebCore::CachedResource::getOrCreateReadBuffer):
1983         * loader/soup/CachedRawResourceSoup.cpp: Added.
1984         (WebCore::CachedRawResource::getOrCreateReadBuffer): Iterate the
1985         clients until one returns a valid read buffer or return NULL to
1986         fallback to the default read buffer.
1987         * loader/soup/SubresourceLoaderSoup.cpp: Added.
1988         (WebCore::SubresourceLoader::getOrCreateReadBuffer): Call
1989         CachedResource::getOrCreateReadBuffer().
1990         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1991         (StreamingClient): Make this a CachedRawResourceClient.
1992         (_WebKitWebSrcPrivate): Remove frame and resourceHandle and add a
1993         cached resource handle.
1994         (webKitWebSrcDispose): Clear the player pointer.
1995         (webKitWebSrcStop): Remove the client from the cached resource.
1996         (webKitWebSrcStart): Use CachedResourceLoader to schedule a
1997         CachedRawResource load for the media without buffering the data.
1998         (webKitWebSrcNeedDataMainCb): Call CachedResource::setDefersLoading.
1999         (webKitWebSrcEnoughDataMainCb): Ditto.
2000         (webKitWebSrcSetMediaPlayer): Simply update the player pointer.
2001         (StreamingClient::responseReceived): Update to the
2002         CachedRawResourceClient API.
2003         (StreamingClient::dataReceived): Ditto.
2004         (StreamingClient::getOrCreateReadBuffer): Ditto.
2005         (StreamingClient::notifyFinished): Ditto.
2006
2007 2013-07-17  Kwang Yul Seo  <skyul@company100.net>
2008
2009         Remove unused member variable m_domURL from WorkerGlobalScope
2010         https://bugs.webkit.org/show_bug.cgi?id=118784
2011
2012         Reviewed by Christophe Dumez.
2013
2014         WorkerContext::webkitURL() was removed in r107082, and this was the
2015         only place where the member variable |m_domURL| in WorkerContext was
2016         mutated. This variable is no longer needed and so it should be removed.
2017
2018         No behavior change.
2019
2020         * workers/WorkerGlobalScope.h:
2021
2022 2013-07-17  Mihai Maerean  <mmaerean@adobe.com>
2023
2024         ASSERTION FAILED: layoutState->m_renderer == this in WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage
2025         https://bugs.webkit.org/show_bug.cgi?id=118587
2026
2027         Reviewed by David Hyatt.
2028
2029         The fix consists in not calling containingBlockLogicalHeightForPositioned for flow threads (in
2030         RenderBox::availableLogicalHeightUsing) as it gets to handle the RenderView as it would have been flowed into
2031         the flow thread.
2032
2033         Test: fast/regions/crash-div-outside-body-vertical-rl.html
2034
2035         * rendering/RenderBox.cpp:
2036         (WebCore::RenderBox::availableLogicalHeightUsing):
2037
2038 2013-07-17  Kangil Han  <kangil.han@samsung.com>
2039
2040         Use toHTMLMediaElement
2041         https://bugs.webkit.org/show_bug.cgi?id=118727
2042
2043         Reviewed by Ryosuke Niwa.
2044
2045         To avoid direct use of static_cast, this patch uses toHTMLMediaElement for code cleanup.
2046
2047         * bindings/js/JSHTMLMediaElementCustom.cpp:
2048         (WebCore::JSHTMLMediaElement::setController):
2049         * html/HTMLMediaElement.h:
2050         (WebCore::toHTMLMediaElement):
2051         * html/HTMLSourceElement.cpp:
2052         (WebCore::HTMLSourceElement::insertedInto):
2053         (WebCore::HTMLSourceElement::removedFrom):
2054         * html/HTMLTrackElement.cpp:
2055         (WebCore::HTMLTrackElement::removedFrom):
2056         (WebCore::HTMLTrackElement::mediaElement):
2057         * html/shadow/MediaControlElementTypes.cpp:
2058         (WebCore::toParentMediaElement):
2059         * loader/SubframeLoader.cpp:
2060         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
2061         * page/FrameView.cpp:
2062         (WebCore::FrameView::updateWidget):
2063         * platform/efl/RenderThemeEfl.cpp:
2064         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
2065         (WebCore::RenderThemeEfl::paintMediaMuteButton):
2066         (WebCore::RenderThemeEfl::paintMediaToggleClosedCaptionsButton):
2067         * platform/graphics/wince/MediaPlayerProxy.cpp:
2068         (WebCore::WebMediaPlayerProxy::initEngine):
2069         (WebCore::WebMediaPlayerProxy::element):
2070         * platform/gtk/RenderThemeGtk.cpp:
2071         (WebCore::getMediaElementFromRenderObject):
2072         * rendering/HitTestResult.cpp:
2073         (WebCore::HitTestResult::mediaElement):
2074         * rendering/RenderLayerBacking.cpp:
2075         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2076         * rendering/RenderLayerCompositor.cpp:
2077         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2078         * rendering/RenderMedia.cpp:
2079         (WebCore::RenderMedia::mediaElement):
2080         * rendering/RenderThemeMac.mm:
2081         (WebCore::RenderThemeMac::paintMediaSliderTrack):
2082         * rendering/RenderThemeWinCE.cpp:
2083         (WebCore::mediaElementParent):
2084         * testing/Internals.cpp:
2085         (WebCore::Internals::simulateAudioInterruption):
2086
2087 2013-07-16  Ryuan Choi  <ryuan.choi@samsung.com>
2088
2089         Remove Platform(EFL) guard from Widget::frameRectsChanged
2090         https://bugs.webkit.org/show_bug.cgi?id=118782
2091
2092         Reviewed by Christophe Dumez.
2093
2094         Since r58487, Widget::frameRectsChanged was moved to cpp and guarded.
2095         But we can move back to header because WebKit/Efl refactored related code in r145710.
2096
2097         No new tests, refactoring.
2098
2099         * platform/Widget.cpp: Removed platform guard and move frameRectsChangd() back to header.
2100         * platform/Widget.h:
2101         (WebCore::Widget::frameRectsChanged):
2102         * platform/efl/WidgetEfl.cpp:
2103
2104 2013-07-16  Alex Christensen  <achristensen@apple.com>
2105
2106         Update ANGLE to r2426.
2107         https://bugs.webkit.org/show_bug.cgi?id=118550
2108
2109         Reviewed by Dean Jackson.
2110
2111         * CMakeLists.txt: Renamed DetectRecursion to DetectCallDepth and added builtin_symbol_table.
2112
2113 2013-07-16  Tim Horton  <timothy_horton@apple.com>
2114
2115         Many crashes loading Java applets after r152701
2116         https://bugs.webkit.org/show_bug.cgi?id=118760
2117         <rdar://problem/14462836>
2118
2119         Reviewed by Dean Jackson.
2120
2121         * html/HTMLAppletElement.cpp:
2122         (WebCore::HTMLAppletElement::updateWidget):
2123         Re-acquire the renderer after calling createJavaAppletWidget,
2124         because it can cause reattach, leaving our renderer pointer stale.
2125
2126         * loader/SubframeLoader.cpp:
2127         (WebCore::SubframeLoader::createJavaAppletWidget):
2128         Null-check renderer, as element->renderEmbeddedObject() can very clearly
2129         return null in some cases.
2130
2131 2013-07-16  Pratik Solanki  <psolanki@apple.com>
2132
2133         Missing break in WebGLRenderingContext::validateCompressedTexFuncData()
2134         https://bugs.webkit.org/show_bug.cgi?id=118742
2135
2136         Reviewed by Ryosuke Niwa.
2137
2138         * html/canvas/WebGLRenderingContext.cpp:
2139         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2140
2141 2013-07-16  Andreas Kling  <akling@apple.com>
2142
2143         Atomicize HTMLAnchorElement.hash before passing it to JS.
2144         <http://webkit.org/b/118748>
2145         <rdar://problem/14459780>
2146
2147         Reviewed by Sam Weinig.
2148
2149         Instead of generating a unique string from '#' + the URL hash every time HTMLAnchorElement.hash
2150         is queried, turn it into an AtomicString. This prevents massive memory usage in scripts that
2151         fetch .hash a lot.
2152
2153         Reduces memory consumption by 4.65 MB when viewing the full HTML5 spec at <http://whatwg.org/c>
2154
2155         * html/HTMLAnchorElement.cpp:
2156         (WebCore::HTMLAnchorElement::hash):
2157
2158 2013-07-16  Brendan Long  <b.long@cablelabs.com>
2159
2160         Make WebVTTParser return cue data instead of cue DOM objects
2161         https://bugs.webkit.org/show_bug.cgi?id=118687
2162
2163         Reviewed by Eric Carlson.
2164
2165         No new tests because this doesn't change functionality.
2166
2167         * html/track/InbandTextTrack.cpp:
2168         Make TextTrackCueMap handle WebVTTCues instead of just generic cues.
2169         m_dataToCueMap and m_cueToDataMap were renamed m_genericDataToCueMap
2170         and m_genericCueToDataMap. The cue maps were turned into pointers so we
2171         only allocate the ones we need.
2172         (WebCore::TextTrackCueMap::TextTrackCueMap): Initialize maps to 0.
2173         (WebCore::TextTrackCueMap::~TextTrackCueMap): Delete allocated maps.
2174         (WebCore::TextTrackCueMap::add): Changed to allocate cue maps as needed, and added WebVTT version.
2175         (WebCore::TextTrackCueMap::find): Checked to check if cue maps are allocated, and added WebVTT version.
2176         (WebCore::TextTrackCueMap::findGenericData): Changed to accept TextTrackCue instead of TextTrackCueGeneric.
2177         (WebCore::TextTrackCueMap::findWebVTTData): Same as findGenericData, except for WebVTTCueData.
2178         (WebCore::TextTrackCueMap::remove): Accept TextTrackCue instead of TextTrackCueGeneric, and look in both maps.
2179         (WebCore::InbandTextTrack::addWebVTTCue): Added, based on addGenericCue.
2180         (WebCore::InbandTextTrack::removeWebVTTCue): Added, almost identical to removeGenericCue.
2181         (WebCore::InbandTextTrack::removeCue): m_cueMap.remove() takes a TextTrackCue now so it can remove both types of cue.
2182         (WebCore::InbandTextTrack::willRemoveTextTrackPrivate): Use ASSERT_UNUSED instead of UNUSED_PARAM + ASSERT.
2183         * html/track/InbandTextTrack.h: Add new functions above, change maps to pointers and add maps for holding WebVTT cues.
2184         * html/track/WebVTTParser.cpp:
2185         (WebCore::WebVTTParser::getNewCues): Return WebVTTCueData instead of TextTrackCue.
2186         (WebCore::WebVTTParser::createNewCue): Create WebVTTCueData instead of TextTrackCue.
2187         * html/track/WebVTTParser.h: Add WebVTTCueData class, based on GenericCueData.
2188         The following functions are just constructors, destructors, getters, or setters.
2189         (WebCore::WebVTTCueData::create):
2190         (WebCore::WebVTTCueData::~WebVTTCueData):
2191         (WebCore::WebVTTCueData::startTime):
2192         (WebCore::WebVTTCueData::setStartTime):
2193         (WebCore::WebVTTCueData::endTime):
2194         (WebCore::WebVTTCueData::setEndTime):
2195         (WebCore::WebVTTCueData::id):
2196         (WebCore::WebVTTCueData::setId):
2197         (WebCore::WebVTTCueData::content):
2198         (WebCore::WebVTTCueData::setContent):
2199         (WebCore::WebVTTCueData::settings):
2200         (WebCore::WebVTTCueData::setSettings):
2201         (WebCore::WebVTTCueData::WebVTTCueData):
2202         * loader/TextTrackLoader.cpp:
2203         (WebCore::TextTrackLoader::getNewCues): Convert WebVTTCueData to TextTrackCue when we get them.
2204         * platform/graphics/InbandTextTrackPrivateClient.h: Add addWebVTTCue and removeWebVTTCue functions to the interface.
2205
2206 2013-07-16  Tim Horton  <timothy_horton@apple.com>
2207
2208         Use the correct cursor value for the unavailable plugin indicator
2209         https://bugs.webkit.org/show_bug.cgi?id=118747
2210         <rdar://problem/14456498>
2211
2212         Reviewed by Dean Jackson.
2213
2214         CSS says "pointer" is the hand cursor, not "hand".
2215
2216         * css/unavailablePlugIns.css:
2217         (object::-webkit-unavailable-plugin-content > div):
2218         (object::-webkit-unavailable-plugin-content > div > span):
2219
2220 2013-07-16  Simon Fraser  <simon.fraser@apple.com>
2221
2222         Protect against the LayerFlushController being deleted inside its flushLayers() callback
2223         https://bugs.webkit.org/show_bug.cgi?id=118741
2224
2225         Reviewed by Tim Horton.
2226
2227         It's possible (especially on iOS) for the LayerFlushController to be destroyed
2228         inside its callback, via -[WebView _close]. Protect against this by making
2229         it refcounted, and holding a ref across the callback.
2230         
2231         Due to the odd relationship in which LayerFlushController owns its LayerFlushScheduler
2232         by value, we achieve this by allowing subclasses of LayerFlushScheduler
2233         to override runLoopObserverCallback(). WebViewLayerFlushScheduler uses the
2234         override to protect the owner of the LayerFlushScheduler, which is the
2235         LayerFlushController, when the callback is firing.
2236
2237         * WebCore.exp.in:
2238         * platform/graphics/ca/LayerFlushScheduler.h: Make runLoopObserverCallback() and the dtor virtual.
2239
2240 2013-07-16  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2241
2242         Get rid of multiple inheritance support from the bindings generators
2243         https://bugs.webkit.org/show_bug.cgi?id=118353
2244
2245         Reviewed by Kentaro Hara.
2246
2247         Remove multiple inheritance support from the bindings generators (except
2248         the ObjC one which still needs it for now). Multiple inheritance is no
2249         longer supported in Web IDL and it makes the scripts more complex than
2250         they needs to be.
2251
2252         Multiple inheritance support is no longer needed now that our SVG
2253         interfaces have been updated to use the simpler SVG2 inheritance model
2254         and use Web IDL 'implements' statements.
2255
2256         Note that the IDL parser still support multiple inheritance for now in
2257         order not to break the ObjC bindings generator.
2258
2259         No new tests, no behavior change.
2260
2261         * bindings/scripts/CodeGenerator.pm:
2262         * bindings/scripts/CodeGeneratorCPP.pm:
2263         (GetParentImplClassName):
2264         (GetParent):
2265         (GenerateImplementation):
2266         * bindings/scripts/CodeGeneratorGObject.pm:
2267         (GetParentClassName):
2268         (GetParentImplClassName):
2269         (GetParentGObjType):
2270         * bindings/scripts/CodeGeneratorJS.pm:
2271         (GetParentClassName):
2272         (GenerateHeader):
2273         (GenerateImplementation):
2274         (GenerateConstructorDefinition):
2275         * bindings/scripts/CodeGeneratorObjC.pm:
2276         (AddMethodsConstantsAndAttributesFromParentInterfaces):
2277         (GenerateImplementation):
2278         * bindings/scripts/IDLParser.pm:
2279         (parseInterface):
2280         (parseException):
2281         (parseInheritance):
2282
2283 2013-07-16  Eric Carlson  <eric.carlson@apple.com>
2284
2285         HTMLMediaElement should not add cues for disabled text tracks
2286         https://bugs.webkit.org/show_bug.cgi?id=118682
2287
2288         Reviewed by Ryosuke Niwa.
2289
2290         Merge https://src.chromium.org/viewvc/blink?view=rev&revision=153810
2291
2292         Tests: media/track/track-disabled-addcue.html
2293                media/track/track-disabled.html
2294
2295         * html/HTMLMediaElement.cpp:
2296         (WebCore::HTMLMediaElement::textTrackAddCues): Do nothing if the track is disabled.
2297         (WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
2298
2299 2013-07-16  Krzysztof Czech  <k.czech@ymail.com>
2300
2301         [ATK] Adds support for aria-haspopup property.
2302         https://bugs.webkit.org/show_bug.cgi?id=117834
2303
2304         Reviewed by Christophe Dumez.
2305
2306         Adds support for aria-haspopup property.
2307
2308         Tests: accessibility/element-haspopup.html
2309                accessibility/popup-button-title.html
2310
2311         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2312         (webkitAccessibleGetAttributes):
2313
2314 2013-07-16  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2315
2316         [texmap][GStreamer] upload onto the texture only the buffer to be painted
2317         https://bugs.webkit.org/show_bug.cgi?id=118471
2318
2319         Reviewed by Philippe Normand.
2320
2321         Right now all the buffers are uploaded onto the texture. With this
2322         logic pose situations where buffers that will not be painted are
2323         uploaded.
2324
2325         This patch uploads only the buffers that are going to be shown.
2326
2327         With this approach, the buffers may arrive before a GraphicsLayer is
2328         set, so we should be more cautious with GraphicsLayerTextureMapper's
2329         client.
2330
2331         No new tests, covered by existing tests.
2332
2333         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2334         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
2335         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
2336         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
2337         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
2338         (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
2339         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2340         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2341         (WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper):
2342         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
2343
2344 2013-07-16  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2345
2346         [GStreamer] verify and log the received caps in the video sink
2347         https://bugs.webkit.org/show_bug.cgi?id=118559
2348
2349         Reviewed by Philippe Normand.
2350
2351         Verify the correctness of the received caps in the video sink, and
2352         also log them for debugging purposes.
2353
2354         No new tests, no behavior change.
2355
2356         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2357         (webkitVideoSinkSetCaps):
2358
2359 2013-07-16  Kangil Han  <kangil.han@samsung.com>
2360
2361         Use toHTMLSelectElement and dismiss isHTMLSelectElement
2362         https://bugs.webkit.org/show_bug.cgi?id=118714
2363
2364         Reviewed by Ryosuke Niwa.
2365
2366         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
2367         Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.
2368
2369         * html/HTMLSelectElement.h:
2370         (WebCore::toHTMLSelectElement):
2371         * testing/Internals.cpp:
2372         (WebCore::Internals::isSelectPopupVisible):
2373
2374 2013-07-15  Yuta Kitamura  <yutak@chromium.org>
2375
2376         Fix a crash in Range::processContents().
2377
2378         NULL ptr in WebCore::Range::processAncestorsAndTheirSiblings
2379         https://bugs.webkit.org/show_bug.cgi?id=77614
2380
2381         Reviewed by Ryosuke Niwa.
2382
2383         This change is ported from Blink revision 153483:
2384         https://src.chromium.org/viewvc/blink?revision=153483&view=revision
2385
2386         This crash can be initiated by calling Range.detach() while deleteContents()
2387         is processing the same range. Range::processContents() should save the state
2388         of the range since mutation events can change the state of the range.
2389
2390         Test: fast/dom/Range/detach-range-during-deletecontents.html
2391
2392         * dom/Range.cpp:
2393         (WebCore::Range::processContents):
2394         * dom/RangeBoundaryPoint.h:
2395         (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
2396
2397 2013-07-15  Ryosuke Niwa  <rniwa@webkit.org>
2398
2399         Input element that becomes visible during a simulated click event from an associated label element doesn't get focused
2400         https://bugs.webkit.org/show_bug.cgi?id=118700
2401
2402         Reviewed by Kent Tamura.
2403
2404         Inspired by https://chromium.googlesource.com/chromium/blink/+/6435f70d53403b250e261a914f30d55142f81476.
2405
2406         The bug was caused by isMouseFocusable() check in HTMLLabelElement::defaultEventHandler not updating the layout even
2407         though the call to dispatchSimulatedClick may have dirtied the render tree.
2408
2409         Explicitly update the layout so that we have up-to-date render tree.
2410
2411         Test: fast/forms/label/label-becomes-visible-while-clicking-on-label.html
2412
2413         * html/HTMLLabelElement.cpp:
2414         (WebCore::HTMLLabelElement::defaultEventHandler):
2415
2416 2013-07-15  Kangil Han  <kangil.han@samsung.com>
2417
2418         Introduce toHTMLIFrameElement
2419         https://bugs.webkit.org/show_bug.cgi?id=118672
2420
2421         Reviewed by Ryosuke Niwa.
2422
2423         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
2424
2425         * bindings/js/JSHTMLDocumentCustom.cpp:
2426         (WebCore::JSHTMLDocument::nameGetter):
2427         * css/StyleResolver.cpp:
2428         (WebCore::StyleResolver::adjustRenderStyle):
2429         * dom/Document.cpp:
2430         (WebCore::Document::seamlessParentIFrame):
2431         * html/HTMLIFrameElement.h:
2432         (WebCore::toHTMLIFrameElement):
2433         * rendering/RenderEmbeddedObject.cpp:
2434         (WebCore::RenderEmbeddedObject::viewCleared):
2435         * rendering/RenderIFrame.cpp:
2436         (WebCore::RenderIFrame::isSeamless):
2437         (WebCore::RenderIFrame::flattenFrame):
2438
2439 2013-07-15  Chris Rogers  <crogers@google.com>
2440
2441         Add support for WaveShaperNode.oversample
2442         https://bugs.webkit.org/show_bug.cgi?id=117435
2443
2444         Reviewed by Kenneth Russell.
2445
2446         Adapted from Blink:
2447         https://codereview.chromium.org/15619003/
2448
2449         Please see specification for details:
2450         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#WaveShaperNode
2451
2452         .oversample specifies what type of oversampling (if any) should be used when applying the shaping curve.
2453         The default value is "none", meaning the curve will be applied directly to the input samples.
2454         A value of "2x" or "4x" can improve the quality of the processing by avoiding some aliasing,
2455         with the "4x" value yielding the highest quality.
2456
2457         Tests: webaudio/waveshaper-oversample-2x.html
2458                webaudio/waveshaper-oversample-4x.html
2459
2460         * CMakeLists.txt:
2461         * GNUmakefile.list.am:
2462         * Modules/webaudio/WaveShaperDSPKernel.cpp:
2463         (WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
2464         (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
2465         (WebCore::WaveShaperDSPKernel::process):
2466         (WebCore::WaveShaperDSPKernel::processCurve):
2467         (WebCore::WaveShaperDSPKernel::processCurve2x):
2468         (WebCore::WaveShaperDSPKernel::processCurve4x):
2469         (WebCore::WaveShaperDSPKernel::reset):
2470         (WebCore::WaveShaperDSPKernel::latencyTime):
2471         * Modules/webaudio/WaveShaperDSPKernel.h:
2472         * Modules/webaudio/WaveShaperNode.cpp:
2473         (WebCore::WaveShaperNode::WaveShaperNode):
2474         (WebCore::WaveShaperNode::setOversample):
2475         (WebCore::WaveShaperNode::oversample):
2476         * Modules/webaudio/WaveShaperNode.h:
2477         (WebCore::WaveShaperNode::latency):
2478         * Modules/webaudio/WaveShaperNode.idl:
2479         * Modules/webaudio/WaveShaperProcessor.cpp:
2480         (WebCore::WaveShaperProcessor::WaveShaperProcessor):
2481         (WebCore::WaveShaperProcessor::setOversample):
2482         * Modules/webaudio/WaveShaperProcessor.h:
2483         (WebCore::WaveShaperProcessor::oversample):
2484         * WebCore.xcodeproj/project.pbxproj:
2485         * platform/audio/DownSampler.cpp: Added.
2486         (WebCore::DownSampler::DownSampler):
2487         (WebCore::DownSampler::initializeKernel):
2488         (WebCore::DownSampler::process):
2489         (WebCore::DownSampler::reset):
2490         (WebCore::DownSampler::latencyFrames):
2491         * platform/audio/DownSampler.h: Added.
2492         * platform/audio/UpSampler.cpp: Added.
2493         (WebCore::UpSampler::UpSampler):
2494         (WebCore::UpSampler::initializeKernel):
2495         (WebCore::UpSampler::process):
2496         (WebCore::UpSampler::reset):
2497         (WebCore::UpSampler::latencyFrames):
2498         * platform/audio/UpSampler.h: Added.
2499
2500 2013-07-15  Tim Horton  <timothy_horton@apple.com>
2501
2502         Update blocked/missing plug-in UI
2503         https://bugs.webkit.org/show_bug.cgi?id=118347
2504         <rdar://problem/14209318>
2505
2506         Reviewed by Sam Weinig.
2507         Patch by Anders Carlsson, Antoine Quint, Sam Weinig, and myself.
2508
2509         * CMakeLists.txt:
2510         * DerivedSources.make:
2511         * DerivedSources.pri:
2512         * GNUmakefile.am:
2513         * WebCore.exp.in:
2514         * WebCore.vcxproj/WebCore.vcxproj:
2515         * WebCore.vcxproj/WebCore.vcxproj.filters:
2516         * WebCore.xcodeproj/project.pbxproj:
2517         * css/CSSDefaultStyleSheets.cpp:
2518         * css/unavailablePlugIns.css: Added.
2519         Add new Source/WebCore/css/unavailablePlugIns.css stylesheet.
2520
2521         * dom/EventListener.h:
2522         New event listener type to support the creation of an event listener
2523         for the label and icon for missing / blocked plug-in UI.
2524
2525         * html/HTMLPlugInElement.cpp:
2526         (WebCore::HTMLPlugInElement::defaultEventHandler):
2527         Remove explicit event handling since we're now using a DOM event handler
2528         on the label and icon in the shadow root.
2529
2530         * html/HTMLPlugInImageElement.cpp:
2531         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
2532         Don't populate the shadow root with plugin snapshotting elements
2533         if we're not planning on showing a snapshot, because this means that
2534         the shadow root was created for the unavailable plugin indicator instead.
2535
2536         * page/ChromeClient.h:
2537         (WebCore::ChromeClient::shouldUnavailablePluginMessageIncludeButton):
2538         * rendering/RenderEmbeddedObject.cpp:
2539         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
2540         (WebCore::shouldUnavailablePluginMessageIncludeButton):
2541         Rename from shouldUnavailablePluginMessageBeButton to
2542         shouldUnavailablePluginMessageIncludeButton for accuracy.
2543
2544         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonDescription):
2545         Set custom text to be displayed in the unavailability indicator.
2546
2547         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
2548         (WebCore::RenderEmbeddedObject::handleUnavailablePluginButtonClickEvent):
2549         (WebCore::RenderEmbeddedObject::willBeDestroyed):
2550         (WebCore::RenderEmbeddedObject::isReplacementObscured):
2551         (WebCore::RenderEmbeddedObjectEventListener::handleEvent):
2552         (WebCore::RenderEmbeddedObjectEventListener::operator==):
2553         Remove the old code used to render the missing / blocked plug-in UI in C++ in favor
2554         of populating a shadow root in setPluginUnavailabilityReason(). We add a DOM event
2555         listener in the shadow root to eventually call into unavailablePluginButtonClicked()
2556         on the ChromeClient.
2557
2558         (WebCore::RenderEmbeddedObject::paint):
2559         (WebCore::RenderEmbeddedObject::layout):
2560         Paint and lay out UA shadow root children.
2561
2562         (WebCore::RenderEmbeddedObject::canHaveChildren):
2563         canHaveChildren can use the existence of a UA shadow root to decide
2564         whether a RenderEmbeddedObject can have children.
2565
2566         * rendering/RenderEmbeddedObject.h:
2567         (WebCore::RenderEmbeddedObjectEventListener::create):
2568         (WebCore::RenderEmbeddedObjectEventListener::cast):
2569         (WebCore::RenderEmbeddedObjectEventListener::RenderEmbeddedObjectEventListener):
2570         Create the new event listener class necessary to handle events in the shadow root.
2571
2572         (WebCore::RenderEmbeddedObject::pluginUnavailabilityReasonDescription): Added.
2573
2574         * rendering/RenderWidget.h:
2575         Promote willBeDestroyed() to be public so we may override it in the RenderEmbeddedObject subclass.
2576
2577 2013-07-15  Andreas Kling  <akling@apple.com>
2578
2579         Pack WebCore::Font slightly better.
2580         <http://webkit.org/b/118681>
2581         <rdar://problem/14446014>
2582
2583         Reviewed by Sam Weinig.
2584
2585         Knock 8 bytes off of Font by packing the members better. Reduces memory consumption by 429 kB when
2586         viewing the full HTML5 spec at <http://whatwg.org/c>
2587
2588         * platform/graphics/Font.h:
2589         (WebCore::Font::typesettingFeatures):
2590
2591 2013-07-15  Rob Buis  <rwlbuis@webkit.org>
2592
2593         XMLSerializer doesn't include namespaces on nodes in HTML documents
2594         https://bugs.webkit.org/show_bug.cgi?id=16496
2595
2596         Reviewed by Ryosuke Niwa.
2597
2598         Introduce a xml fragment serialization mode as indicated by
2599         http://html5.org/specs/dom-parsing.html#xmlserializer (commit 00b84d2). In this mode
2600         the XML fragment serialization algorithm is respected, the changes in this patch do the following:
2601
2602         - elements are self-closing if otherwise this would lead to invalid xml syntax.
2603         - the resulting xml is XML namespace-well-formed (http://www.w3.org/TR/xml-names11/#Conformance).
2604         This is achieved by always, when in xml fragment serialization mode, attempting to write out the element/attribute namespace,
2605         preventing using the XML namespace as a default namespace and special casing the use of element's in XML namespace by using the xml prefix.
2606
2607         The chosen approach matches FireFox 25 behavior.
2608
2609         Test: fast/dom/dom-serialize-namespace.html
2610
2611         * WebCore.order: Adapt to changed createMarkup signature.
2612         * editing/MarkupAccumulator.cpp:
2613         (WebCore::MarkupAccumulator::MarkupAccumulator):
2614         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): makes sure xml namespace/prefix is known so it is never used in namespace declarations.
2615         (WebCore::MarkupAccumulator::appendNamespace): Avoid adding namespace declarations that do not differ from current default namespace.
2616         (WebCore::MarkupAccumulator::appendOpenTag): Print xml prefix if the element's namespace is XML to avoid conflicts.
2617         (WebCore::MarkupAccumulator::appendAttribute):
2618         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Also take into account xmlns attributes with no namespace.
2619         (WebCore::MarkupAccumulator::shouldSelfClose): Force self-closing to create well-formed XML elements.
2620         * editing/MarkupAccumulator.h: Use EFragmentSerialization.
2621         (WebCore::MarkupAccumulator::inXMLFragmentSerialization):
2622         * editing/markup.cpp:
2623         (WebCore::createMarkup):
2624         * editing/markup.h: Add EFragmentSerialization enum.
2625         * xml/XMLSerializer.cpp:
2626         (WebCore::XMLSerializer::serializeToString):
2627
2628 2013-07-15  Ryosuke Niwa  <rniwa@webkit.org>
2629
2630         MediaFragmentURIParser::parseFragments shouldn't upconvert 8-bit string
2631         https://bugs.webkit.org/show_bug.cgi?id=118692
2632
2633         Reviewed by Michael Saboff.
2634
2635         Merge https://chromium.googlesource.com/chromium/blink/+/2aa17cc56a807f7e05d386d6eb66cda25e6b0542.
2636
2637         * html/MediaFragmentURIParser.cpp:
2638         (WebCore::MediaFragmentURIParser::parseFragments):
2639
2640 2013-07-15  Kwang Yul Seo  <skyul@company100.net>
2641
2642         NetworkStorageSession::createDefaultSession is only implemented by Soup
2643         https://bugs.webkit.org/show_bug.cgi?id=118679
2644
2645         Reviewed by Alexey Proskuryakov.
2646
2647         Remove NetworkStorageSession::createDefaultSession() because
2648         NetworkStorageSession::defaultStorageSession() returns the default
2649         session.
2650
2651         No new tests, no behavior change.
2652
2653         * platform/network/NetworkStorageSession.h:
2654         * platform/network/soup/NetworkStorageSessionSoup.cpp:
2655
2656 2013-07-15  Ryosuke Niwa  <rniwa@webkit.org>
2657
2658         compositionstart event should contain the text to be replaced
2659         https://bugs.webkit.org/show_bug.cgi?id=118684
2660
2661         Reviewed by Alexey Proskuryakov.
2662
2663         Merge https://chromium.googlesource.com/chromium/blink/+/9e04f728a95ad7d4783b1d31c3cdc1412dd6cc4d.
2664
2665         DOM3 level 3 specifies compositionstart event's data to be the text to be replaced.
2666         http://www.w3.org/TR/DOM-Level-3-Events/#event-type-compositionstart
2667
2668         According to the author of the Blink change, IE10 on Windows and Firefox22 on Linux confirms
2669         to the specified behavior.
2670
2671         Test: fast/events/ime-composition-events-001.html
2672
2673         * editing/Editor.cpp:
2674         (WebCore::Editor::setComposition):
2675
2676 2013-07-15  Ryosuke Niwa  <rniwa@webkit.org>
2677
2678         xmlDocPtrForString shouldn't upconvert 8-bit string
2679         https://bugs.webkit.org/show_bug.cgi?id=118693
2680
2681         Reviewed by Michael Saboff.
2682
2683         Merge https://chromium.googlesource.com/chromium/blink/+/5d9b240db74591c3689415c7b7c5180fadb379e9
2684
2685         Prior to this changeset, we were upconverting the entire XML document.
2686         Let xmllib2 parse a document as iso-8859-1 when it's a 8-bit string.
2687
2688         * xml/parser/XMLDocumentParserLibxml2.cpp:
2689         (WebCore::nativeEndianUTF16Encoding):
2690         (WebCore::xmlDocPtrForString):
2691
2692 2013-07-15  Roger Fong  <roger_fong@apple.com>
2693
2694         Replace WKCACFTypes include with d3d9 include.
2695
2696         Rubberstamped by Eric Carlson.
2697
2698         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2699
2700 2013-07-15  Antoine Quint  <graouts@apple.com>
2701
2702         Text with "text-overflow:ellipsis" and an SVG font do not render correctly
2703         https://bugs.webkit.org/show_bug.cgi?id=118669
2704
2705         Reviewed by David Kilzer.
2706
2707         Partial runs may be routed through the complex path in several Font functions. While incomplete,
2708         we can check for a non-NULL run.renderingContext() and exempt runs that have it from being forced
2709         down the complex path. A more thorough fix is already tracked by http://webkit.org/b/100050.
2710
2711         Adding a new testcase which is a copy of svg/text/text-overflow-ellipsis-svgfont.html with kerning
2712         and ligatures turned on explicitly since DRT runs with those off by default and this option is required
2713         to be on for the issue to reproduce.
2714
2715         Fix courtesy of Dan Bernstein.
2716
2717         Test: svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html
2718
2719         * platform/graphics/Font.cpp:
2720         (WebCore::Font::drawText):
2721         (WebCore::Font::drawEmphasisMarks):
2722         (WebCore::Font::selectionRectForText):
2723
2724 2013-07-15  peavo@outlook.com  <peavo@outlook.com>
2725
2726         [Curl] Download does not replace existing file.
2727         https://bugs.webkit.org/show_bug.cgi?id=118356
2728
2729         Reviewed by Brent Fulgham.
2730
2731         If the download target file already exists, it is not replaced after the download has finished.
2732         At this point, the user would have already approved to replace the file, so it should be replaced.
2733
2734         * platform/network/curl/CurlDownload.cpp:
2735         (CurlDownload::moveFileToDestination): Move file and replace it if it already exists.
2736         If the new file is on a different volume, do a copy/delete operation.
2737
2738 2013-07-15  Luciano Wolf  <luciano.wolf@openbossa.org>
2739
2740         [CoordinatedGraphics] Crash at CoordinatedGraphicsScene::updateImageBacking
2741         https://bugs.webkit.org/show_bug.cgi?id=118613
2742
2743         The operations of creating/removing/updating/clearing weren't in the
2744         right sequence. Changing the order solves the issue because when an image is
2745         replaced the old one is deleted before the new one is created, and IDs are
2746         not unique in cairo (they're based on the image pointer).
2747
2748         Reviewed by Noam Rosenthal.
2749
2750         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2751         (WebCore::CoordinatedGraphicsScene::syncImageBackings):
2752
2753 2013-07-15  Brian Holt  <brian.holt@samsung.com>
2754
2755         [ATK] Leak: Leak in WebKitAccessibleTextGetText
2756         https://bugs.webkit.org/show_bug.cgi?id=118596
2757
2758         Reviewed by Carlos Garcia Campos.
2759
2760         Fixed memory leak.
2761
2762         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2763         (getGailTextUtilForAtk):
2764
2765 2013-07-14  Jon Lee  <jonlee@apple.com>
2766
2767         Origins with invalid ports are not marked as unique (118652)
2768         https://bugs.webkit.org/show_bug.cgi?id=118652
2769         <rdar://problem/14437753>
2770
2771         Reviewed by Sam Weinig.
2772
2773         * page/SecurityOrigin.cpp:
2774         (WebCore::SecurityOrigin::create): Return a unique origin if the port is out of range.
2775
2776 2013-07-14  Ryosuke Niwa  <rniwa@webkit.org>
2777
2778         Another Qt build fix attempt after r152619.
2779
2780         * dom/QualifiedName.cpp:
2781         (WebCore::QualifiedName::toString):
2782
2783 2013-07-14  Ryosuke Niwa  <rniwa@webkit.org>
2784
2785         Qt build fix attempt after r152619.
2786
2787         * dom/QualifiedName.cpp:
2788         (WebCore::QualifiedName::toString):
2789
2790 2013-07-14  Ryosuke Niwa  <rniwa@webkit.org>
2791
2792         Mac build fix attempt after r152615.
2793
2794         * svg/SVGFilterElement.h:
2795
2796 2013-07-14  Ryosuke Niwa  <rniwa@webkit.org>
2797
2798         Modernize QualifiedName by wrapping gNameCache in a function and using more early exits
2799         https://bugs.webkit.org/show_bug.cgi?id=118299
2800
2801         Reviewed by Andreas Kling.
2802
2803         Address Ben's review comment.
2804
2805         * dom/QualifiedName.cpp:
2806         (WebCore::QualifiedName::toString):
2807
2808 2013-07-14  Ryosuke Niwa  <rniwa@webkit.org>
2809
2810         HTMLTextFormControlElement::valueWithHardLineBreaks shouldn't upconvert 8-bit string
2811         https://bugs.webkit.org/show_bug.cgi?id=118631
2812
2813         Reviewed by Andreas Kling.
2814
2815         Merge https://chromium.googlesource.com/chromium/blink/+/2c7c70a7bd3d61bfbf97de95c459ec9f40b46e31.
2816
2817         * html/HTMLTextFormControlElement.cpp:
2818         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
2819
2820 2013-07-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2821
2822         Add toSVGFilterElement() and use it.
2823         https://bugs.webkit.org/show_bug.cgi?id=118653
2824
2825         Reviewed by Ryosuke Niwa.
2826
2827         We can use toSVGFilterElement() instead of using static_cast<..> to improve readability.
2828         Blink also uses it.
2829
2830         No new tests, no behavior change.
2831
2832         * rendering/svg/RenderSVGResourceFilter.cpp:
2833         (WebCore::RenderSVGResourceFilter::buildPrimitives):
2834         (WebCore::RenderSVGResourceFilter::applyResource):
2835         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
2836         * rendering/svg/RenderSVGResourceFilter.h:
2837         (WebCore::RenderSVGResourceFilter::filterUnits):
2838         (WebCore::RenderSVGResourceFilter::primitiveUnits):
2839         * rendering/svg/SVGResources.cpp:
2840         (WebCore::targetReferenceFromResource):
2841         * svg/SVGFilterElement.h:
2842         (WebCore::toSVGFilterElement):
2843
2844 2013-07-14  Kangil Han  <kangil.han@samsung.com>
2845
2846         Introduce toHTMLVideoElement
2847         https://bugs.webkit.org/show_bug.cgi?id=118582
2848
2849         Reviewed by Ryosuke Niwa.
2850
2851         To avoid direct use of static_cast, this patch introduces toHTMLVideoElement.
2852
2853         * html/HTMLMediaElement.cpp:
2854         (WebCore::HTMLMediaElement::getPluginProxyParams):
2855         * html/HTMLVideoElement.h:
2856         (WebCore::toHTMLVideoElement):
2857         * html/MediaDocument.cpp:
2858         (WebCore::MediaDocumentParser::createDocumentStructure):
2859         (WebCore::descendentVideoElement):
2860         (WebCore::ancestorVideoElement):
2861         * html/shadow/MediaControlElements.cpp:
2862         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2863         * rendering/HitTestResult.cpp:
2864         (WebCore::HitTestResult::enterFullscreenForVideo):
2865         * rendering/RenderVideo.cpp:
2866         (WebCore::RenderVideo::videoElement):
2867
2868 2013-07-13  Commit Queue  <commit-queue@webkit.org>
2869
2870         Unreviewed, rolling out r151978.
2871         http://trac.webkit.org/changeset/151978
2872         https://bugs.webkit.org/show_bug.cgi?id=118651
2873
2874         Caused regressions at least 3 websites (Requested by rniwa on
2875         #webkit).
2876
2877         * bindings/js/JSDOMBinding.cpp:
2878         * bindings/js/JSDOMBinding.h:
2879         * bindings/scripts/CodeGeneratorJS.pm:
2880         (GetNativeTypeFromSignature):
2881         (JSValueToNative):
2882         * bindings/scripts/IDLAttributes.txt:
2883         * bindings/scripts/test/JS/JSTestObj.cpp:
2884         (WebCore::setJSTestObjReflectedStringAttr):
2885         (WebCore::setJSTestObjReflectedURLAttr):
2886         (WebCore::setJSTestObjReflectedCustomURLAttr):
2887         * dom/Document.idl:
2888         * dom/Element.idl:
2889         * dom/Node.idl:
2890
2891 2013-07-13  Joone Hur  <joone.hur@intel.com>
2892
2893         Caret should respect text background color
2894         https://bugs.webkit.org/show_bug.cgi?id=117493
2895
2896         Reviewed by Ryosuke Niwa.
2897
2898         This patch allows the caret to become visible in the black background
2899         by getting the caret color from the color of the element containing
2900         the text, not the parent element that has the contentEditable attribute.
2901
2902         Test: editing/caret/caret-color.html
2903
2904         * editing/FrameSelection.cpp:
2905         (WebCore::CaretBase::paintCaret):
2906
2907 2013-07-13  Ryosuke Niwa  <rniwa@webkit.org>
2908
2909         Avoid upconverting strings in various places in WebCore
2910         https://bugs.webkit.org/show_bug.cgi?id=118632
2911
2912         Reviewed by Andreas Kling.
2913
2914         Avoid calling String::characters() in various places since it upconverts 8-bit strings to 16-bit strings.
2915
2916         Merge
2917         https://chromium.googlesource.com/chromium/blink/+/a6162e2ad7c7870e22445d3c463d17e7ac871e80
2918         https://chromium.googlesource.com/chromium/blink/+/18095209b3f467758b83894e7b14f813f6953f81
2919         https://chromium.googlesource.com/chromium/blink/+/fefcf2b95d55f24c60fd2e95978cf4544f3c92ca
2920         https://chromium.googlesource.com/chromium/blink/+/8e0527b0fb33998318aedfd74b3511025f7ff294
2921         https://chromium.googlesource.com/chromium/blink/+/feaf798b04597b0849b4000fc305264895d3eac5
2922         https://chromium.googlesource.com/chromium/blink/+/bd1a49103a6e07b1023d2c742d8217769efbffb4
2923
2924         * css/CSSParser.cpp:
2925         (WebCore::CSSParser::setupParser):
2926         (WebCore::CSSParser::parseImageSet):
2927         (WebCore::CSSParser::rewriteSpecifiers):
2928         * css/CSSParserValues.h:
2929         (WebCore::CSSParserString::init):
2930         (WebCore::CSSParserString::clear):
2931         * dom/DatasetDOMStringMap.cpp:
2932         (WebCore::isValidAttributeName):
2933         (WebCore::convertAttributeNameToPropertyName):
2934         (WebCore::propertyNameMatchesAttributeName):
2935         (WebCore::isValidPropertyName):
2936         (WebCore::convertPropertyNameToAttributeName):
2937         * dom/Range.cpp:
2938         (WebCore::Range::toString):
2939         * dom/SecurityContext.cpp:
2940         (WebCore::SecurityContext::parseSandboxPolicy):
2941         * html/canvas/CanvasRenderingContext2D.cpp:
2942         (WebCore::CanvasRenderingContext2D::measureText):
2943         * html/track/TextTrackCue.cpp:
2944         (WebCore::TextTrackCue::markFutureAndPastNodes):
2945
2946 2013-07-13  Ryosuke Niwa  <rniwa@webkit.org>
2947
2948         parseHTMLInteger shouldn't upconvert 8-bit string
2949         https://bugs.webkit.org/show_bug.cgi?id=118629
2950
2951         Reviewed by Sam Weinig.
2952
2953         Merge https://chromium.googlesource.com/chromium/blink/+/e0ebab23e0c16b49dc90c9c39b8bbbf4f243a01e.
2954
2955         * html/parser/HTMLParserIdioms.cpp:
2956         (WebCore::parseHTMLInteger):
2957
2958 2013-07-12  Eric Carlson  <eric.carlson@apple.com>
2959
2960         [iOS] TextTrackRepresentation not cleared when captions are disabled
2961         https://bugs.webkit.org/show_bug.cgi?id=118623
2962
2963         Reviewed by Dean Jackson.
2964
2965         * html/shadow/MediaControlElements.cpp:
2966         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Do not return immediately
2967             when captions are disabled so the necessary cleanup happens.
2968
2969 2013-07-12  Brent Fulgham  <bfulgham@apple.com>
2970
2971         [Windows] Attempt to satisfy the Open Source Windows bots.
2972
2973         * DerivedSources.make: Restore the HAVE_AVCF macro detection.
2974         * config.h: Return to using HAVE_AVCF to activate AVFoundation code.
2975
2976 2013-07-12  peavo@outlook.com  <peavo@outlook.com>
2977
2978         [WinCairo] Compile fix.
2979         https://bugs.webkit.org/show_bug.cgi?id=118461
2980
2981         Reviewed by Brent Fulgham.
2982
2983         * config.h: Only enable AVFOUNDATION for Windows if CoreGraphics is used.
2984
2985 2013-07-12  Oleg Beletski  <oleg.beletski@gmail.com>
2986
2987         [EFL] --minimal build fails while linking libwebcore_efl.so
2988         https://bugs.webkit.org/show_bug.cgi?id=118549
2989
2990         Reviewed by Christophe Dumez.
2991
2992         * CMakeLists.txt:
2993         Moving file plugins/PluginPackage.cpp to ENABLE_NETSCAPE_PLUGIN_API block.
2994
2995 2013-07-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2996
2997         Insufficient viewport repaints when FrameView::paintsEntireContents
2998         https://bugs.webkit.org/show_bug.cgi?id=118562
2999
3000         Reviewed by Simon Fraser.
3001
3002         When the frameview paints entire content, the visualOverflowRect of RenderView
3003         should be the same as the layoutOverflowRect.
3004
3005         This affects the requested repaints on resize of the frameview.
3006
3007         * rendering/RenderView.cpp:
3008         (WebCore::RenderView::visualOverflowRect):
3009         * rendering/RenderView.h:
3010
3011 2013-07-10  Roger Fong  <roger_fong@apple.com>
3012
3013         Plugins that don't support snapshotting should not all autostart.
3014         https://bugs.webkit.org/show_bug.cgi?id=118572
3015         <rdar://problem/14324391>.
3016
3017         Reviewed by Dean Jackson.
3018
3019         Test: plugins/snapshotting/quicktime-plugin-snapshotted.html
3020
3021         * html/HTMLPlugInImageElement.cpp:
3022         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Pass in information about whether or not a snapshot exists
3023         to the shadow dom.
3024         * plugins/PluginViewBase.h:
3025         (WebCore::PluginViewBase::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
3026         It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
3027         * rendering/RenderLayerBacking.cpp:
3028         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): We should only add the layer to the tree when the plugin
3029         is actually playing. Otherwise we run into an issue where the contents of the layer initially appear on the screen briefly 
3030         on page load before we display the substitute for a plugin that doesn't support snapshotting.
3031
3032 2013-07-11  Dan Bernstein  <mitz@apple.com>
3033
3034         [mac] No API for getting the page visibility state of a WebView
3035         https://bugs.webkit.org/show_bug.cgi?id=118578
3036
3037         Reviewed by Simon Fraser.
3038
3039         * WebCore.exp.in: Export WebCore::Page::visibilityState().
3040
3041 2013-07-11  Mario Sanchez Prada  <mario.prada@samsung.com>
3042
3043         [GTK] Layout Test accessibility/deleting-iframe-destroys-axcache.html, platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html are failing
3044         https://bugs.webkit.org/show_bug.cgi?id=118552
3045
3046         Reviewed by Chris Fleizach.
3047
3048         Do not assume always that we have a RenderText renderer when
3049         calling to toRenderText(), since we might be executing that part
3050         of the code due to have requested to include all the children.
3051
3052         * accessibility/AccessibilityRenderObject.cpp:
3053         (WebCore::AccessibilityRenderObject::textUnderElement): Add
3054         missing guard for RenderText, needed after r152537.
3055
3056 2013-07-11  Andrei Bucur  <abucur@adobe.com>
3057
3058         [CSS Regions] In a region chain with auto-height regions, lines get their length based only on the first region
3059         https://bugs.webkit.org/show_bug.cgi?id=118531
3060
3061         Reviewed by Alexandru Chiculita.
3062
3063         When computing the height a flow thread it's possible to overflow the maximum LayoutUnit and obtain a negative value.
3064         This leads to invalid results during layout when computing the region range and the RenderBoxRegion info for the
3065         descendant boxes of the flow thread.
3066     
3067         This issue appears especially during the auto-height algorithm because it initializes the auto-height regions
3068         height with the LayoutUnit::max() / 2 value. Summing two such regions overflows and results in a negative value.
3069
3070         The fix clamps the maximum height of the flow thread to LayoutUnit::max() / 2. This doesn't affect the auto-height
3071         algorithm because regionAtBlockOffset() will still return the correct values as the auto-height regions content
3072         is established and their height updated.
3073
3074         Tests: fast/regions/autoheight-correct-region-for-lines-2.html
3075                fast/regions/autoheight-correct-region-for-lines.html
3076
3077         * rendering/RenderBlock.cpp:
3078         (WebCore::RenderBlock::updateRegionsAndShapesBeforeChildLayout):
3079         * rendering/RenderFlowThread.cpp:
3080         (WebCore::RenderFlowThread::computeLogicalHeight):
3081         (WebCore::RenderFlowThread::setRegionRangeForBox):
3082         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
3083         * rendering/RenderFlowThread.h:
3084         * rendering/RenderRegion.cpp:
3085         (WebCore::RenderRegion::maxPageLogicalHeight):
3086
3087 2013-07-11  Timothy Hatcher  <timothy@apple.com>
3088
3089         Revert r152267 and soft link WebInspectorUI.framework again.
3090
3091         https://bugs.webkit.org/show_bug.cgi?id=118544
3092
3093         Reviewed by David Kilzer.
3094
3095         * platform/mac/SoftLinking.h: Rename SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL
3096         to SOFT_LINK_STAGED_FRAMEWORK and ASSERT since we don't want to silently
3097         fail anymore when using this macro.
3098
3099 2013-07-11  Jae Hyun Park  <jae.park@company100.net>
3100
3101         [Coordinated Graphics] Parameter of commitSceneState should be const
3102         https://bugs.webkit.org/show_bug.cgi?id=118564
3103
3104         Reviewed by Noam Rosenthal.
3105
3106         Parameter of commitSceneState should be const as there should not be any
3107         modifications to the passed CoordinatedGraphicsState.
3108
3109         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
3110
3111 2013-07-11  Radu Stavila  <stavila@adobe.com>
3112
3113         NamedFlowCollection getters should follow the same pattern as HTMLCollection
3114         https://bugs.webkit.org/show_bug.cgi?id=118561
3115
3116         Reviewed by Christophe Dumez.
3117
3118         Modified item and namedItem methods from DOMNamedFlowCollection to return null instead of undefined.
3119         https://www.w3.org/Bugs/Public/show_bug.cgi?id=22617
3120         Completely removed the TreatReturnedNullObjectAs attribute as it was only used by the DOMNamedFlowCollection interface.
3121
3122         Test: fast/regions/webkit-named-flow-collection-empty-getters.html
3123
3124         * bindings/scripts/CodeGeneratorJS.pm:
3125         (GenerateImplementationFunctionCall):
3126         * bindings/scripts/IDLAttributes.txt:
3127         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3128         (WebDOMTestObj::treatReturnedNullObjectAsUndefined):
3129         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3130         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3131         (webkit_dom_test_obj_treat_returned_null_object_as_undefined):
3132         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3133         * bindings/scripts/test/JS/JSTestObj.cpp:
3134         (WebCore::jsTestObjPrototypeFunctionTreatReturnedNullObjectAsUndefined):
3135         * bindings/scripts/test/JS/JSTestObj.h:
3136         * bindings/scripts/test/ObjC/DOMTestObj.h:
3137         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3138         (-[DOMTestObj treatReturnedNullObjectAsUndefined]):
3139         * bindings/scripts/test/TestObj.idl:
3140         * dom/DOMNamedFlowCollection.idl:
3141
3142 2013-07-11  Andreas Kling  <akling@apple.com>
3143
3144         Revert r149313: Don't check for @media rules affected by viewport changes in every layout.
3145         <rdar://problem/14277905>
3146
3147         Rubber-stamped by Antti Koivisto.
3148
3149         This changed caused more harm than good. setFrameRect() is not the only path in FrameView
3150         that can cause media queries to need invalidation.
3151
3152         * page/FrameView.cpp:
3153         (WebCore::FrameView::setFrameRect):
3154         (WebCore::FrameView::layout):
3155
3156 2013-07-11  Kangil Han  <kangil.han@samsung.com>
3157
3158         Introduce isHTMLTitleElement and toHTMLTitleElement
3159         https://bugs.webkit.org/show_bug.cgi?id=118558
3160
3161         Reviewed by Andreas Kling.
3162
3163         To enhance readability, this patch introduces isHTMLTitleElement and toHTMLTitleElement.
3164         This also helps out to reduce duplicated use of static_cast.
3165
3166         * dom/Document.cpp:
3167         (WebCore::Document::setTitle):
3168         (WebCore::Document::removeTitle):
3169         * editing/ReplaceSelectionCommand.cpp:
3170         (WebCore::removeHeadContents):
3171         * html/HTMLTitleElement.h:
3172         (WebCore::isHTMLTitleElement):
3173         (WebCore::toHTMLTitleElement):
3174
3175 2013-07-11  Patrick Gansterer  <paroga@webkit.org>
3176
3177         Remove unused Windows CE files
3178         https://bugs.webkit.org/show_bug.cgi?id=118557
3179
3180         Reviewed by Andreas Kling.
3181
3182         * platform/wince/CursorWinCE.cpp: Removed.
3183         * platform/wince/PasteboardWinCE.cpp: Removed.
3184         * platform/wince/SearchPopupMenuWinCE.cpp: Removed.
3185
3186 2013-07-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3187
3188         Get rid of SVGPathSeg* special casing in the bindings generator
3189         https://bugs.webkit.org/show_bug.cgi?id=118525
3190
3191         Reviewed by Kentaro Hara.
3192
3193         Have one header per SVGPathSeg* type so that we no longer need special casing
3194         for them in the JSC bindings generator.
3195
3196         No new tests, no behavior change.
3197
3198         * GNUmakefile.list.am:
3199         * Target.pri:
3200         * WebCore.vcxproj/WebCore.vcxproj:
3201         * WebCore.vcxproj/WebCore.vcxproj.filters:
3202         * WebCore.xcodeproj/project.pbxproj:
3203         * bindings/js/JSSVGPathSegCustom.cpp:
3204         * bindings/scripts/CodeGeneratorJS.pm:
3205         (AddIncludesForType):
3206         (NativeToJSValue):
3207         * svg/SVGPathElement.cpp:
3208         * svg/SVGPathSegArc.h:
3209         * svg/SVGPathSegArcAbs.h: Added.
3210         (WebCore::SVGPathSegArcAbs::create):
3211         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
3212         (WebCore::SVGPathSegArcAbs::pathSegType):
3213         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
3214         * svg/SVGPathSegArcRel.h: Added.
3215         (WebCore::SVGPathSegArcRel::create):
3216         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
3217         (WebCore::SVGPathSegArcRel::pathSegType):
3218         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
3219         * svg/SVGPathSegCurvetoCubic.h:
3220         * svg/SVGPathSegCurvetoCubicAbs.h: Added.
3221         (WebCore::SVGPathSegCurvetoCubicAbs::create):
3222         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
3223         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
3224         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
3225         * svg/SVGPathSegCurvetoCubicRel.h: Added.
3226         (WebCore::SVGPathSegCurvetoCubicRel::create):
3227         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
3228         (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
3229         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
3230         * svg/SVGPathSegCurvetoCubicSmooth.h:
3231         * svg/SVGPathSegCurvetoCubicSmoothAbs.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h.
3232         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
3233         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
3234         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
3235         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
3236         * svg/SVGPathSegCurvetoCubicSmoothRel.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h.
3237         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
3238         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
3239         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
3240         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
3241         * svg/SVGPathSegCurvetoQuadratic.h:
3242         * svg/SVGPathSegCurvetoQuadraticAbs.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoQuadratic.h.
3243         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
3244         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
3245         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
3246         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
3247         * svg/SVGPathSegCurvetoQuadraticRel.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoQuadratic.h.
3248         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
3249         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
3250         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
3251         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
3252         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h: Copied from Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h.
3253         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
3254         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
3255         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
3256         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
3257         * svg/SVGPathSegCurvetoQuadraticSmoothRel.h: Renamed from Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h.
3258         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
3259         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
3260         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
3261         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
3262         * svg/SVGPathSegLinetoAbs.h: Copied from Source/WebCore/svg/SVGPathSegLineto.h.
3263         (WebCore::SVGPathSegLinetoAbs::create):
3264         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
3265         (WebCore::SVGPathSegLinetoAbs::pathSegType):
3266         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
3267         * svg/SVGPathSegLinetoHorizontal.h:
3268         * svg/SVGPathSegLinetoHorizontalAbs.h: Copied from Source/WebCore/svg/SVGPathSegLinetoHorizontal.h.
3269         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
3270         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
3271         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
3272         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
3273         * svg/SVGPathSegLinetoHorizontalRel.h: Copied from Source/WebCore/svg/SVGPathSegLinetoHorizontal.h.
3274         (WebCore::SVGPathSegLinetoHorizontalRel::create):
3275         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
3276         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
3277         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
3278         * svg/SVGPathSegLinetoRel.h: Renamed from Source/WebCore/svg/SVGPathSegLineto.h.
3279         (WebCore::SVGPathSegLinetoRel::create):
3280         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
3281         (WebCore::SVGPathSegLinetoRel::pathSegType):
3282         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
3283         * svg/SVGPathSegLinetoVertical.h:
3284         * svg/SVGPathSegLinetoVerticalAbs.h: Copied from Source/WebCore/svg/SVGPathSegLinetoVertical.h.
3285         (WebCore::SVGPathSegLinetoVerticalAbs::create):
3286         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
3287         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
3288         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
3289         * svg/SVGPathSegLinetoVerticalRel.h: Copied from Source/WebCore/svg/SVGPathSegLinetoVertical.h.
3290         (WebCore::SVGPathSegLinetoVerticalRel::create):
3291         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
3292         (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
3293         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
3294         * svg/SVGPathSegListBuilder.cpp:
3295         * svg/SVGPathSegMovetoAbs.h: Copied from Source/WebCore/svg/SVGPathSegMoveto.h.
3296         (WebCore::SVGPathSegMovetoAbs::create):
3297         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
3298         (WebCore::SVGPathSegMovetoAbs::pathSegType):
3299         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
3300         * svg/SVGPathSegMovetoRel.h: Renamed from Source/WebCore/svg/SVGPathSegMoveto.h.
3301         (WebCore::SVGPathSegMovetoRel::create):
3302         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
3303         (WebCore::SVGPathSegMovetoRel::pathSegType):
3304         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
3305
3306 2013-07-11  Patrick Gansterer  <paroga@webkit.org>
3307
3308         Build fix for WinCE after r152426.
3309
3310         * config.h:
3311
3312 2013-07-11  Fabienne Semeria   <fsemeria@nds.com>
3313
3314         [Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont
3315         https://bugs.webkit.org/show_bug.cgi?id=118532
3316
3317         Reviewed by Allan Sandfeld Jensen.
3318
3319         * platform/graphics/qt/FontCacheQt.cpp:
3320         (WebCore::FontCache::getLastResortFallbackFont):
3321
3322 2013-07-11  Mario Sanchez Prada  <mario.prada@samsung.com>
3323
3324         [ATK] Refactor code for translating offsets between WebCore a11y and ATK
3325         https://bugs.webkit.org/show_bug.cgi?id=118179
3326
3327         Reviewed by Chris Fleizach.
3328
3329         Encapsulate better and make more clear the translation of offsets
3330         between our ATK implementation and WebCore's accessibility layer.
3331
3332         Values for offsets can differ sometimes between those two worlds
3333         due to some extra flattening we need to do in ATK based ports to
3334         properly expose the accessibility hierarchy to ATs, which
3335         sometimes means adding extra text elements in the exposed text
3336         through the AtkText interface (e.g. list items markers).
3337
3338         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
3339         (offsetAdjustmentForListItem): Helper function to refactor code
3340         needed to translate offsets from WebCore to ATK worlds. Currently
3341         related to considering list item markers in LTR text only.
3342         (webCoreOffsetToAtkOffset): Convenience function for code
3343         readability purposes. It just calls offsetAdjustmentForListItem.
3344         (atkOffsetToWebCoreOffset): Likewise.
3345         (getSelectionOffsetsForObject): Use webCoreOffsetToAtkOffset.
3346         (webkitAccessibleTextGetCaretOffset): Use webCoreOffsetToAtkOffset
3347         to translate an offset from WebCore to ATK before returning it.
3348         (webkitAccessibleTextSetSelection): Use atkOffsetToWebCoreOffset
3349         to translate an offset from WebCore to ATK before using it.
3350         (webkitAccessibleTextSetCaretOffset): Likewise.
3351
3352 2013-07-10  Sam Weinig  <sam@webkit.org>
3353
3354         Range.getClientRects() not working correctly for partially contained vertically styled text nodes
3355         <rdar://problem/14305675>
3356         https://bugs.webkit.org/show_bug.cgi?id=118447
3357
3358         Reviewed by David Hyatt.
3359
3360         Original patch by Mac Murrett, tweaked by me.
3361
3362         Test: fast/dom/Range/getClientRects-vertical.html
3363
3364         * rendering/RenderText.cpp:
3365         (WebCore::localQuadForTextBox):
3366         Use the physical accessors rather than the logical ones to get the correct metrics.
3367
3368 2013-07-10  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3369
3370         Reduce number of header includes in SVG
3371         https://bugs.webkit.org/show_bug.cgi?id=118474
3372
3373         Reviewed by Rob Buis.
3374
3375         Reduce number of header includes in SVG. In particular, SVGAnimatedPropertyMacros.h
3376         no longer brings SVGElement.h header include. This means that the SVGElement
3377         class can now have animated properties.
3378
3379         This patch is a prerequirement to merge SVGStyledElement into SVGElement.
3380
3381         No new tests, no behavior change.
3382
3383         * CMakeLists.txt:
3384         * GNUmakefile.list.am:
3385         * Target.pri:
3386         * WebCore.vcxproj/WebCore.vcxproj:
3387         * WebCore.vcxproj/WebCore.vcxproj.filters:
3388         * WebCore.xcodeproj/project.pbxproj:
3389         * svg/GradientAttributes.h:
3390         * svg/SVGAllInOne.cpp:
3391         * svg/SVGAnimateMotionElement.cpp:
3392         * svg/SVGAnimateMotionElement.h:
3393         * svg/SVGAnimatedTypeAnimator.cpp: Added.
3394         (WebCore::SVGElementAnimatedProperties::SVGElementAnimatedProperties):
3395         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
3396         (WebCore::SVGAnimatedTypeAnimator::~SVGAnimatedTypeAnimator):
3397         (WebCore::SVGAnimatedTypeAnimator::calculateFromAndToValues):
3398         (WebCore::SVGAnimatedTypeAnimator::calculateFromAndByValues):
3399         (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
3400         * svg/SVGAnimatedTypeAnimator.h:
3401         * svg/SVGAnimationElement.h:
3402         * svg/SVGCursorElement.cpp:
3403         * svg/SVGDocumentExtensions.h:
3404         * svg/SVGElement.cpp:
3405         * svg/SVGElementInstanceList.cpp:
3406         * svg/SVGElementInstanceList.h:
3407         * svg/SVGElementRareData.h:
3408         * svg/SVGFEImageElement.cpp:
3409         * svg/SVGFilterElement.cpp:
3410         * svg/SVGFitToViewBox.h:
3411         * svg/SVGFontData.cpp:
3412         * svg/SVGFontData.h:
3413         * svg/SVGFontElement.h:
3414         * svg/SVGForeignObjectElement.cpp:
3415         * svg/SVGGlyphMap.h:
3416         * svg/SVGGradientElement.cpp:
3417         * svg/SVGMPathElement.cpp:
3418         * svg/SVGMPathElement.h:
3419         * svg/SVGPathBlender.cpp:
3420         * svg/SVGPathBlender.h:
3421         * svg/SVGPathBuilder.cpp:
3422         * svg/SVGPathBuilder.h:
3423         * svg/SVGPathParser.cpp:
3424         * svg/SVGPathParser.h:
3425         * svg/SVGPathSegListBuilder.h:
3426         * svg/SVGPathTraversalStateBuilder.cpp:
3427         * svg/SVGPathTraversalStateBuilder.h:
3428         * svg/SVGPathUtilities.h:
3429         * svg/SVGPatternElement.cpp:
3430         * svg/SVGPointList.h:
3431         * svg/SVGScriptElement.cpp:
3432         * svg/SVGStyledElement.h:
3433         * svg/SVGTests.h:
3434         * svg/SVGTextElement.h:
3435         * svg/SVGTextPathElement.cpp:
3436         * svg/SVGTransformable.h:
3437         * svg/SVGURIReference.cpp:
3438         * svg/SVGURIReference.h:
3439         * svg/SVGVKernElement.cpp:
3440         * svg/SVGVKernElement.h:
3441         * svg/SVGZoomAndPan.h:
3442         * svg/properties/SVGAnimatedProperty.cpp: Added.
3443         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
3444         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
3445         (WebCore::SVGAnimatedProperty::commitChange):
3446         (WebCore::SVGAnimatedProperty::animatedPropertyCache):
3447         * svg/properties/SVGAnimatedProperty.h:
3448         * svg/properties/SVGAnimatedPropertyMacros.h:
3449         (WebCore::SVGSynchronizableAnimatedProperty::synchronize):
3450         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
3451         * svg/properties/SVGListProperty.h:
3452
3453 2013-07-10  Dominique Leuenberger  <dimstar@opensuse.org>
3454
3455         Fix build against GTK+ 2.0
3456         https://bugs.webkit.org/show_bug.cgi?id=117895
3457
3458         Reviewed by Martin Robinson.
3459
3460         GTK2 build fails for undefined GDK_IS_X11_DISPLAY
3461         GTK 2.0 does define GDK_WINDOWING_X11,but GDK_IS_X11_DISPLAY is not
3462         present in GTK+ 2.0. A d