91d458dd3d609a0c3de407ed4a34ab72d5ba7e1e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-07-29  Alex Christensen  <achristensen@apple.com>
2
3         Moved GLTransportSurface.h and .cpp out of efl-specific directory.
4         https://bugs.webkit.org/show_bug.cgi?id=119163
5
6         Reviewed by Alexis Menard.
7
8         * PlatformEfl.cmake: Changed directory of GLTransportSurface.cpp.
9         * platform/graphics/surfaces/GLTransportSurface.cpp: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.cpp.
10         * platform/graphics/surfaces/GLTransportSurface.h: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.h.
11         * platform/graphics/surfaces/efl/GLTransportSurface.cpp: Removed.
12         * platform/graphics/surfaces/efl/GLTransportSurface.h: Removed.
13
14 2013-07-29  Alex Christensen  <achristensen@apple.com>
15
16         Speculative implementation of missing GraphicsContext3D methods on Windows.
17         https://bugs.webkit.org/show_bug.cgi?id=119167
18
19         Reviewed by Dean Jackson.
20
21         * WebCore.vcxproj/WebCore.vcxproj:
22         * WebCore.vcxproj/WebCore.vcxproj.filters:
23         * platform/graphics/win/GraphicsContext3DWin.cpp: Added.
24         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
25         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
26         (WebCore::GraphicsContext3D::create):
27         (WebCore::GraphicsContext3D::GraphicsContext3D):
28         (WebCore::GraphicsContext3D::~GraphicsContext3D):
29         (WebCore::GraphicsContext3D::setContextLostCallback):
30         (WebCore::GraphicsContext3D::setErrorMessageCallback):
31         (WebCore::GraphicsContext3D::makeContextCurrent):
32         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
33         (WebCore::GraphicsContext3D::platformTexture):
34         (WebCore::GraphicsContext3D::isGLES2Compliant):
35         (WebCore::GraphicsContext3D::platformLayer):
36
37 2013-07-29  Dean Jackson  <dino@apple.com>
38
39         Max IOSurfaceDimension should be an inclusive upper bound
40         https://bugs.webkit.org/show_bug.cgi?id=119206
41         <rdar://problem/14555311>
42
43         Reviewed by Simon Fraser.
44
45         The maxIOSurfaceDimension value should be an inclusive upper bound.
46         Change the greater than or equal to into a greater than. This will
47         allow canvas elements of this dimension to be accelerated.
48
49         * platform/graphics/cg/ImageBufferCG.cpp:
50         (WebCore::ImageBuffer::ImageBuffer): Change >= to >
51
52 2013-07-29  Renata Hodovan  <reni@webkit.org>
53
54         ASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
55         https://bugs.webkit.org/show_bug.cgi?id=118744
56
57         Reviewed by Philip Rogers.
58
59         If we have an <animateTransform> tag that sets the attributeName and attributeType
60         properties however they are not consistent and we shouldn't try to apply it.
61         It is already checked and catched in SVGAnimateElement::resetAnimatedType() but
62         DontApplyAnimation case isn't handled properly. The patch forces an early return
63         in this case.
64
65         Test: svg/animations/attributeNameAndAttributeTypeMissmatch.svg
66
67         * svg/SVGAnimateElement.cpp:
68         (WebCore::SVGAnimateElement::resetAnimatedType):
69
70 2013-07-29  Allan Sandfeld Jensen  <allan.jensen@digia.com>
71
72         REGRESSION(148300) GIFs not reanimated after resumeActiveDOMObjectAndAnimations
73         https://bugs.webkit.org/show_bug.cgi?id=119217
74
75         Reviewed by Tim Horton.
76
77         Commit 148300 introduced a new better was of restarting GIF animations after
78         they have been suspended. Unfortunately the method was not activated when a page
79         is resumed but only when it is returning from background.
80
81         This fixes GIF animations that are stopped during user interaction on Qt and other
82         platforms using suspendActiveDOMObjectAndAnimations.
83
84         * page/Frame.cpp:
85         (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
86
87 2013-07-29  Alex Christensen  <achristensen@apple.com>
88
89         Made EGL useable by non-cairo ports.
90         https://bugs.webkit.org/show_bug.cgi?id=119177
91
92         Reviewed by Brent Fulgham.
93
94         * platform/graphics/cairo/GLContext.h:
95         * platform/graphics/egl/GLContextEGL.cpp:
96         (WebCore::GLContextEGL::GLContextEGL):
97         * platform/graphics/egl/GLContextEGL.h:
98         Protected Cairo-specific code with #if USE(CAIRO)
99
100 2013-07-29  Sergio Correia  <sergio.correia@openbossa.org>
101
102         CoordinatedGraphics: Add API to get and set the active state of a WebView
103         https://bugs.webkit.org/show_bug.cgi?id=119067
104
105         Reviewed by Noam Rosenthal.
106
107         Added a method to return whether a scene is active or not.
108
109         No new tests, no behavior change.
110
111         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
112         (WebCore::CoordinatedGraphicsScene::isActive): Added method to return the
113         active state of the scene.
114
115 2013-07-29  Mario Sanchez Prada  <mario.prada@samsung.com>
116
117         [ATK] Issues with edge cases when getting offsets for a text range in AtkText
118         https://bugs.webkit.org/show_bug.cgi?id=118908
119
120         Reviewed by Martin Robinson.
121
122         Reimplement getSelectionOffsetsForObject() just in term of
123         Positions instead of using ranges, which makes it simpler and
124         works better. Also, make sure we use the right Node as reference
125         for the accessibility object by getting the proper one both for
126         text control objects (e.g. input, text area) and normal ones.
127
128         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
129         (getNodeForAccessibilityObject): New helper function to ensure we
130         always get the relevant object from the DOM tree for a given
131         accessibility object, in the context of the implementation of
132         AtkText, so it works both with Text Controls and other elements.
133         (getSelectionOffsetsForObject): Rewritten this function in terms
134         of VisiblePositions and avoiding weird operations with ranges, so
135         we have more control to fine tune the results and give more
136         accurate ones. Besides, now it works better with edge cases.
137
138 2013-07-29  Zan Dobersek  <zdobersek@igalia.com>
139
140         Clean up DragImage
141         https://bugs.webkit.org/show_bug.cgi?id=118981
142
143         Reviewed by Anders Carlsson.
144
145         * dom/Clipboard.h: Add forward declaration for the Range class. This was not necessary until now as the forward
146         declaration was introduced in the DragImage header, from where it's being removed due to not being required in that class.
147         * page/Frame.h: Ditto.
148         * platform/DragImage.cpp: Remove the unnecessary DragController and FontRenderingMode header inclusions.
149         The latter is already included in the header.
150         * platform/DragImage.h: Remove the forward declaration for the Range class - it's not used by the DragImage class at all.
151
152 2013-07-29  Kwang Yul Seo  <skyul@company100.net>
153
154         [EFL] Improve string use in ErrorsEfl
155         https://bugs.webkit.org/show_bug.cgi?id=119207
156
157         Reviewed by Christophe Dumez.
158
159         Use ASCIILiteral for constant strings becoming WTFStrings.
160
161         No behavior change.
162
163         * platform/efl/ErrorsEfl.cpp:
164         (WebCore::cancelledError):
165         (WebCore::blockedError):
166         (WebCore::cannotShowURLError):
167         (WebCore::interruptedForPolicyChangeError):
168         (WebCore::cannotShowMIMETypeError):
169         (WebCore::fileDoesNotExistError):
170         (WebCore::pluginWillHandleLoadError):
171         (WebCore::downloadCancelledByUserError):
172         (WebCore::printerNotFoundError):
173         (WebCore::invalidPageRangeToPrint):
174
175 2013-07-28  Andreas Kling  <akling@apple.com>
176
177         Don't update the text track override CSS every time a media element is created.
178         <http://webkit.org/b/119199>
179         <rdar://problem/14572855>
180
181         Reviewed by Darin Adler.
182
183         We should only have to update the CSS if the accessibility caption preferences are changed.
184         This was forcing a full style recalc in every Document any time a media element is instantiated.
185
186         * page/CaptionUserPreferencesMediaAF.cpp:
187         (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
188
189 2013-07-28  Andy Estes  <aestes@apple.com>
190
191         Stop exporting Widget::frameRectsChanged()
192         https://bugs.webkit.org/show_bug.cgi?id=119196
193
194         Reviewed by Darin Adler.
195
196         The definition is inlined in a private header, so there's no need to
197         export a symbol to link against. On the Mac, since we compile with
198         -fvisibility-inlines-hidden, removing the symbol from the export file
199         silences an ld warning about exporting a hidden symbol.
200
201         * WebCore.exp.in: Removed __ZN7WebCore6Widget17frameRectsChangedEv.
202
203 2013-07-28  Sam Weinig  <sam@webkit.org>
204
205         Clean up CSSPrimitiveValue::equals a bit
206         https://bugs.webkit.org/show_bug.cgi?id=119195
207
208         Reviewed by Andreas Kling.
209
210         * css/CSSPrimitiveValue.cpp:
211         (WebCore::CSSPrimitiveValue::equals):
212         This should not change behavior, but is quite a bit clearer.
213
214 2013-07-27  Ryuan Choi  <ryuan.choi@samsung.com>
215
216         [EFL] Bump required version of EFL to 1.7
217         https://bugs.webkit.org/show_bug.cgi?id=119144
218
219         Reviewed by Christophe Dumez.
220
221         * platform/efl/FileSystemEfl.cpp: Removed workaround code which was fixed at Eina 1.7
222         (WebCore::listDirectory):
223
224 2013-07-27  Jacky Jiang  <zhajiang@blackberry.com>
225
226         Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
227         https://bugs.webkit.org/show_bug.cgi?id=119186
228
229         Reviewed by Anders Carlsson.
230
231         Remove GraphicsLayer::create(GraphicsLayerClient*) function since it's
232         been deprecated by r130072.
233
234         * WebCore.exp.in:
235         * WebCore.order:
236         * platform/graphics/GraphicsLayer.h:
237         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
238         * platform/graphics/ca/GraphicsLayerCA.cpp:
239         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
240
241 2013-07-27  Alexey Proskuryakov  <ap@apple.com>
242
243         HTMLParserScheduler gets into an inconsistent state when suspended for reasons
244         other than WillDeferLoading
245         https://bugs.webkit.org/show_bug.cgi?id=119172
246
247         Reviewed by Sam Weinig.
248
249         When loading is not deferred, even a suspended parser will be processing new data
250         from network, potentially starting its next chunk timer.
251
252         Limit suspending to when we can actually enforce it.
253
254         Here is what happens for each ReasonForSuspension:
255         - JavaScriptDebuggerPaused: continuing to parse is probably wrong, but in practice,
256         this is unlikely to happen while debugging, and wasn't properly prevented before
257         this patch anyway.
258         - WillDeferLoading: No change in behavior.
259         - DocumentWillBecomeInactive: This is about page cache, and documents are only allowed
260         to be cached when fully loaded.
261         - PageWillBeSuspended: This appears to be part of Frame::suspendActiveDOMObjectsAndAnimations()
262         implementation, I'm guessing that it is appropriate to continue loading.
263
264         * dom/Document.cpp:
265         (WebCore::Document::suspendScheduledTasks):
266         (WebCore::Document::resumeScheduledTasks):
267         Only suspend/resume parsing when loading is deferred. This is not expressed directly,
268         but it's important to do this to avoid executing JS behind alerts and other modal dialogs.
269
270         * html/parser/HTMLParserScheduler.h: Added m_suspended member variable for assertions.
271
272         * html/parser/HTMLParserScheduler.cpp:
273         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
274         (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
275         (WebCore::HTMLParserScheduler::scheduleForResume):
276         (WebCore::HTMLParserScheduler::suspend):
277         (WebCore::HTMLParserScheduler::resume):
278         Update m_suspended and assert as appropriate. No behavior changes for release mode.
279
280         * page/Frame.cpp: (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
281         Added a FIXME.
282
283 2013-07-27  Alexey Proskuryakov  <ap@apple.com>
284
285         Make SuspendableTimer safer
286         https://bugs.webkit.org/show_bug.cgi?id=119127
287
288         Reviewed by Sam Weinig.
289
290         SuspendableTimer now enforces that it stays suspended until resumed (or until stopped
291         and started again). To ensure this, TimerBase is now a private base class, and parts of
292         its interface that clients use are reimplemented with suspend/resume in mind.
293
294         Derived classes are still allowed to override TimerBase virtual functions (notably
295         fired() and alignedFireTime()).
296
297         * dom/DocumentEventQueue.cpp:
298         (WebCore::DocumentEventQueueTimer): Removed an extraneous WTF_MAKE_NONCOPYABLE,
299         TimerBase has it already.
300         (WebCore::DocumentEventQueueTimer::create): Use our normal create() pattern.
301         (WebCore::DocumentEventQueue::DocumentEventQueue): Made the constructor private, accordingly.
302         (WebCore::DocumentEventQueue::cancelEvent): Use SuspendableTimer::cancel(), which
303         is a new name to disambiguate TimerBase::stop() and ActiveDOMObject::stop().
304         (WebCore::DocumentEventQueue::close): Ditto.
305
306         * page/DOMTimer.cpp:
307         (WebCore::DOMTimer::fired): Now that SuspendableTimer knows whether it's currently
308         suspended, assert that it's not.
309         (WebCore::DOMTimer::didStop): Separated ActiveDOMObject::stop() implementation from
310         additional cleanup, allowing for better SuspendableTimer encapsulation.
311
312         * page/DOMTimer.h: Added FINAL and OVVERIDE specifiers as appropriate.
313
314         * page/SuspendableTimer.h: Added FINAL (and OVERRIDE) qualifiers to ActiveDOMObject
315         methods. A derived class that wants to override current behavior is most likely not
316         a timer, and thus shouldn't be a derived class.
317         (WebCore::SuspendableTimer::isActive): SuspendableTimer with a next fire time is
318         active even if suspended, we shouldn't overwrite its saved data thinking that it's
319         inactive.
320         (WebCore::SuspendableTimer::isSuspended): Exposed to clients (m_suspended is no
321         longer debug only).
322
323         * page/SuspendableTimer.cpp:
324         (WebCore::SuspendableTimer::SuspendableTimer): Updated for new variable names.
325         (WebCore::SuspendableTimer::stop): This is ActiveDOMObject::stop(), which is called
326         before final destruction. We don't track this state directly, but can approximate
327         with setting m_suspended, so even if someone tries to start the timer afterwards,
328         it won't fire.
329         (WebCore::SuspendableTimer::suspend): Updated for new names.
330         (WebCore::SuspendableTimer::resume): Ditto.
331         (WebCore::SuspendableTimer::didStop): No-op default implementation for client hook.
332         (WebCore::SuspendableTimer::cancel): Equivalent of TimerBase::stop(), which also
333         works when suspended. 
334         (WebCore::SuspendableTimer::startRepeating): Replacement for TimerBase function with
335         the same name, which works correctly when suspended. We don't want to actually start
336         the timer in this case.
337         (WebCore::SuspendableTimer::startOneShot): Ditto.
338         (WebCore::SuspendableTimer::repeatInterval): Ditto.
339         (WebCore::SuspendableTimer::augmentFireInterval): Ditto.
340         (WebCore::SuspendableTimer::augmentRepeatInterval): Ditto.
341
342 2013-07-27  Sam Weinig  <sam@webkit.org>
343
344         Add assertions for CSSPrimitiveValue's m_value.valueID accessor
345         https://bugs.webkit.org/show_bug.cgi?id=119180
346
347         Reviewed by Andreas Kling.
348
349         * css/CSSPrimitiveValueMappings.h:
350         (WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
351         (WebCore::CSSPrimitiveValue::operator ColumnSpan):
352         (WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
353         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
354         (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
355         (WebCore::CSSPrimitiveValue::operator CompositeOperator):
356         (WebCore::CSSPrimitiveValue::operator ControlPart):
357         (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
358         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
359         (WebCore::CSSPrimitiveValue::operator EFillBox):
360         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
361         (WebCore::CSSPrimitiveValue::operator EBoxPack):
362         (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
363         (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
364         (WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
365         (WebCore::CSSPrimitiveValue::operator EBoxSizing):
366         (WebCore::CSSPrimitiveValue::operator EBoxDirection):
367         (WebCore::CSSPrimitiveValue::operator EBoxLines):
368         (WebCore::CSSPrimitiveValue::operator EBoxOrient):
369         (WebCore::CSSPrimitiveValue::operator ECaptionSide):
370         (WebCore::CSSPrimitiveValue::operator EClear):
371         (WebCore::CSSPrimitiveValue::operator ECursor):
372         (WebCore::CSSPrimitiveValue::operator CursorVisibility):
373         (WebCore::CSSPrimitiveValue::operator EDisplay):
374         (WebCore::CSSPrimitiveValue::operator EEmptyCell):
375         (WebCore::CSSPrimitiveValue::operator EAlignItems):
376         (WebCore::CSSPrimitiveValue::operator EJustifyContent):
377         (WebCore::CSSPrimitiveValue::operator EFlexDirection):
378         (WebCore::CSSPrimitiveValue::operator EAlignContent):
379         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
380         (WebCore::CSSPrimitiveValue::operator EFloat):
381         (WebCore::CSSPrimitiveValue::operator LineBreak):
382         (WebCore::CSSPrimitiveValue::operator EListStylePosition):
383         (WebCore::CSSPrimitiveValue::operator EListStyleType):
384         (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
385         (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
386         (WebCore::CSSPrimitiveValue::operator RegionFragment):
387         (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
388         (WebCore::CSSPrimitiveValue::operator ENBSPMode):
389         (WebCore::CSSPrimitiveValue::operator EOverflow):
390         (WebCore::CSSPrimitiveValue::operator EPageBreak):
391         (WebCore::CSSPrimitiveValue::operator EPosition):
392         (WebCore::CSSPrimitiveValue::operator EResize):
393         (WebCore::CSSPrimitiveValue::operator ETableLayout):
394         (WebCore::CSSPrimitiveValue::operator ETextAlign):
395         (WebCore::CSSPrimitiveValue::operator TextAlignLast):
396         (WebCore::CSSPrimitiveValue::operator TextJustify):
397         (WebCore::CSSPrimitiveValue::operator TextDecoration):
398         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
399         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
400         (WebCore::CSSPrimitiveValue::operator ETextSecurity):
401         (WebCore::CSSPrimitiveValue::operator ETextTransform):
402         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
403         (WebCore::CSSPrimitiveValue::operator EUserDrag):
404         (WebCore::CSSPrimitiveValue::operator EUserModify):
405         (WebCore::CSSPrimitiveValue::operator EUserSelect):
406         (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
407         (WebCore::CSSPrimitiveValue::operator EVisibility):
408         (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
409         (WebCore::CSSPrimitiveValue::operator EWordBreak):
410         (WebCore::CSSPrimitiveValue::operator EOverflowWrap):
411         (WebCore::CSSPrimitiveValue::operator TextDirection):
412         (WebCore::CSSPrimitiveValue::operator WritingMode):
413         (WebCore::CSSPrimitiveValue::operator TextCombine):
414         (WebCore::CSSPrimitiveValue::operator RubyPosition):
415         (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
416         (WebCore::CSSPrimitiveValue::operator TextOverflow):
417         (WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
418         (WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
419         (WebCore::CSSPrimitiveValue::operator TextOrientation):
420         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
421         (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
422         (WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
423         (WebCore::CSSPrimitiveValue::operator FontWeight):
424         (WebCore::CSSPrimitiveValue::operator FontItalic):
425         (WebCore::CSSPrimitiveValue::operator FontSmallCaps):
426         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
427         (WebCore::CSSPrimitiveValue::operator ColorSpace):
428         (WebCore::CSSPrimitiveValue::operator Hyphens):
429         (WebCore::CSSPrimitiveValue::operator LineSnap):
430         (WebCore::CSSPrimitiveValue::operator LineAlign):
431         (WebCore::CSSPrimitiveValue::operator Order):
432         (WebCore::CSSPrimitiveValue::operator ESpeak):
433         (WebCore::CSSPrimitiveValue::operator BlendMode):
434         (WebCore::CSSPrimitiveValue::operator LineCap):
435         (WebCore::CSSPrimitiveValue::operator LineJoin):
436         (WebCore::CSSPrimitiveValue::operator WindRule):
437         (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
438         (WebCore::CSSPrimitiveValue::operator EBorderCollapse):
439         (WebCore::CSSPrimitiveValue::operator EBorderFit):
440         (WebCore::CSSPrimitiveValue::operator EImageRendering):
441         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
442         (WebCore::CSSPrimitiveValue::operator ColumnAxis):
443         (WebCore::CSSPrimitiveValue::operator ColumnProgression):
444         (WebCore::CSSPrimitiveValue::operator WrapFlow):
445         (WebCore::CSSPrimitiveValue::operator WrapThrough):
446         (WebCore::CSSPrimitiveValue::operator GridAutoFlow):
447         (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
448         (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
449         (WebCore::CSSPrimitiveValue::operator EColorRendering):
450         (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
451         (WebCore::CSSPrimitiveValue::operator EShapeRendering):
452         (WebCore::CSSPrimitiveValue::operator ETextAnchor):
453         (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
454         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
455         (WebCore::CSSPrimitiveValue::operator EMaskType):
456         Assert that the CSSPrimitiveValue is holding a CSSValueID before accessing it.
457
458 2013-07-26  Sam Weinig  <sam@webkit.org>
459
460         Stop pretending to support <string> for text-align.
461         https://bugs.webkit.org/show_bug.cgi?id=119107
462
463         Reviewed by Andreas Kling.
464
465         Test: fast/css/text-align-string-crash.html
466
467         * css/CSSParser.cpp:
468         (WebCore::CSSParser::parseValue):
469         Stop pretending to support <string> for text-align.
470
471         * css/DeprecatedStyleBuilder.cpp:
472         (WebCore::ApplyPropertyTextAlign::applyValue):
473         ASSERT that only value IDs get passed.
474
475 2013-07-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
476
477         Introduce toSVGRectElement(), use it
478         https://bugs.webkit.org/show_bug.cgi?id=119126
479
480         Reviewed by Andreas Kling.
481
482         As a step to change static_cast with toSVGXXX, static_cast<SVGRectElement*> can
483         be changed with toSVGRectElement().
484
485         No new tests, no behavior change.
486
487         * rendering/svg/RenderSVGRect.cpp:
488         (WebCore::RenderSVGRect::updateShapeFromElement):
489         * rendering/svg/SVGPathData.cpp:
490         (WebCore::updatePathFromRectElement):
491         * rendering/svg/SVGRenderTreeAsText.cpp:
492         (WebCore::operator<<):
493         * svg/SVGRectElement.h:
494         (WebCore::toSVGRectElement):
495
496 2013-07-26  Yongjun Zhang  <yongjun_zhang@apple.com>
497
498         With frame flattening on, too many resize events fired if document is resized in onresize handler.
499         https://bugs.webkit.org/show_bug.cgi?id=119075
500
501         Reviewed by Simon Fraser.
502
503         With http://trac.webkit.org/changeset/149287, WebCore also sends resize event in FrameView::setFrameRect.  When
504         flattening an iframe, setFrameRect could be called multiple times from RenderFrameBase::layoutWithFlattening and
505         we could get multiple resize events.  This patch adds a flag in FrameView to disallow sending resize events if
506         we are inside layoutWithFlattening.  The resize event will be sent in performPostLayoutTasks after the iframe
507         is done laying out.
508
509         Manually tested by verifying the rendering slowness in www.hi-pda.com is fixed when frame flattening is enabled.
510
511         * page/FrameView.cpp:
512         (WebCore::FrameView::FrameView):
513         (WebCore::FrameView::setFrameRect):
514         * page/FrameView.h:
515         (WebCore::FrameView::setResizeEventAllowed):
516         (WebCore::FrameView::resizeEventAllowed):
517         * rendering/RenderFrameBase.cpp:
518         (WebCore::RenderFrameBase::layoutWithFlattening):
519
520 2013-07-26  Dean Jackson  <dino@apple.com>
521
522         Allow new transitions to run even when controller is suspended
523         https://bugs.webkit.org/show_bug.cgi?id=119171
524         <rdar://problem/14511404>
525
526         Reviewed by Simon Fraser.
527
528         Expose a new property on AnimationController that allows newly created
529         animations to run even if the controller says it is suspended. See WebKit
530         ChangeLog for more details.
531
532         Test: transitions/created-while-suspended.html
533
534         * WebCore.exp.in: Export the new methods so WebView can use them.
535         * page/animation/AnimationController.cpp:
536         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false.
537         (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Check new flag is not true.
538         (WebCore::AnimationControllerPrivate::setAllowsNewAnimationsWhileSuspended): Expose setter.
539         (WebCore::AnimationController::allowsNewAnimationsWhileSuspended): "Public" getter.
540         (WebCore::AnimationController::setAllowsNewAnimationsWhileSuspended): "Public" setter.
541         * page/animation/AnimationController.h:
542         * page/animation/AnimationControllerPrivate.h:
543         (WebCore::AnimationControllerPrivate::allowsNewAnimationsWhileSuspended):
544         * page/animation/CompositeAnimation.cpp:
545         (WebCore::CompositeAnimation::CompositeAnimation): Only suspend if new flag is false. Everything else
546         relies on the m_suspended flag, so the real code change is this one line.
547
548 2013-07-26  Brent Fulgham  <bfulgham@apple.com>
549
550         [Windows] Unreviewed build fix.
551
552         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
553         (WebCore::createMetadataKeyNames): Do not include Media Selection
554         synbols when building without Media Selection API.
555
556 2013-07-26  Oliver Hunt  <oliver@apple.com>
557
558         REGRESSION(FTL?): Crashes in plugin tests
559         https://bugs.webkit.org/show_bug.cgi?id=119141
560
561         Reviewed by Michael Saboff.
562
563         Getting the correct semantics to appease the inspector is fairly
564         awful with the iterator system.  For the time being lets just revert
565         to requesting a full stack trace as we did in the past. 
566
567         * bindings/js/ScriptCallStackFactory.cpp:
568         (WebCore::createScriptCallStack):
569
570 2013-07-26  Brent Fulgham  <bfulgham@apple.com>
571
572         [Windows] Unreviewed build fix.
573
574         Correct build when targeting a release that does not have the AVCF
575         Legible Output infrastructure.
576
577         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Exclude
578         a soft-link target when the API doesn't exist.
579         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
580         Correct include options for non-Legible Output supporting environments.
581         (WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
582         Prevent build failure when building with legacy caption support.
583
584 2013-07-26  Andreas Kling  <akling@apple.com>
585
586         Apply FINAL to the RenderObject hierarchy.
587         <http://webkit.org/b/115977>
588
589         Mostly from Blink r148795 by <cevans@chromium.org>
590         <http://src.chromium.org/viewvc/blink?view=revision&revision=148795>
591
592         * rendering/: Beat things with the FINAL stick.
593         * WebCore.exp.in: Export a now-needed symbol.
594
595 2013-07-26  Tim Horton  <timothy_horton@apple.com>
596
597         Add a mode where autosizing fixes the FrameView height to at least the WKView height
598         https://bugs.webkit.org/show_bug.cgi?id=119104
599         <rdar://problem/14549021>
600
601         Reviewed by Anders Carlsson.
602
603         * WebCore.exp.in: Export FrameView::setAutoSizeFixedMinimumHeight.
604         * page/FrameView.cpp:
605         (WebCore::FrameView::FrameView):
606         Initialize m_autoSizeFixedMinimumHeight to 0.
607
608         (WebCore::FrameView::autoSizeIfEnabled):
609         Increase the FrameView height to m_autoSizeFixedMinimumHeight if necessary,
610         and do another layout. Store the computed intrinsic content size.
611
612         (WebCore::FrameView::setAutoSizeFixedMinimumHeight): Added.
613
614         * page/FrameView.h:
615         (WebCore::FrameView::autoSizingIntrinsicContentSize): Added.
616
617 2013-07-26  Brent Fulgham  <bfulgham@apple.com>
618
619         [Windows] Remove workarounds now that rdar://problem/14390466 is fixed.
620         https://bugs.webkit.org/show_bug.cgi?id=119150
621
622         Reviewed by Anders Carlsson.
623
624         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
625         (WebCore::AVFWrapper::createPlayer): Remove workaround to add legible output
626         after player is created.
627         (WebCore::AVFWrapper::createPlayerItem): Remove workaround to delay adding
628         legible output until player is created.
629         (WebCore::AVFWrapper::platformLayer): Get rid of unused temporary.
630
631 2013-07-26  Brent Fulgham  <bfulgham@apple.com>
632
633         [Windows] Unreviewed gardening.
634
635         * WebCore.vcxproj/WebCore.vcxproj: Add missing header file to ease code viewing.
636         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
637
638 2013-07-26  Arvid Nilsson  <anilsson@rim.com>
639
640         [BlackBerry] LayerTiler fails to render layer after waking up
641         https://bugs.webkit.org/show_bug.cgi?id=119146
642
643         Reviewed by George Staikos.
644
645         When the application is backgrounded, all tiles are freed up to
646         release memory back to the system. We also mark the contents as dirty
647         in LayerTiler::deleteTextures() so tiles will be repopulated when
648         waking up again.
649
650         The problem was caused by an optimization to avoid re-rendering tiles
651         repeatedly until the UI thread catches up with the fact that we have
652         indeed rendered those tiles (which will happen when the UI thread next
653         composites a frame).
654
655         When contents are dirty, we're not supposed to perform this
656         optimization (i.e. we're not supposed to skip rendering) because the
657         appearance of the layer has changed, so we do need to render those
658         tiles. Unfortunately, the code that was supposed to forget the list of
659         tiles rendered was in a conditional, "if (frontVisibility)", which
660         happened to be false sometimes when the app woke up again. So we ended
661         up perpetually skipping those render jobs, and the UI thread kept
662         yelling at us to render them.
663
664         Fixed by unconditionally dropping the list of tiles rendered when
665         contents are dirty.
666
667         This can't be detected without pixel tests, which BB DRT currently
668         doesn't support.
669
670         JIRA 452460
671
672         * platform/graphics/blackberry/LayerTiler.cpp:
673         (WebCore::LayerVisibility::clearTilesRendered):
674         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
675
676 2013-07-25  Ryosuke Niwa  <rniwa@webkit.org>
677
678         Remove unused HTMLTextFormControlElement::textRendererAfterUpdateLayout
679         https://bugs.webkit.org/show_bug.cgi?id=119121
680
681         Reviewed by Andreas Kling.
682
683         Merge https://chromium.googlesource.com/chromium/blink/+/3255ce725711707fe1fd18be91a6d06789517220.
684
685         * html/HTMLTextFormControlElement.cpp:
686         * html/HTMLTextFormControlElement.h:
687
688 2013-07-25  Ryosuke Niwa  <rniwa@webkit.org>
689
690         Fix document leak when selection is created inside the document
691         https://bugs.webkit.org/show_bug.cgi?id=119122
692
693         Reviewed by Andreas Kling.
694
695         Merge https://chromium.googlesource.com/chromium/blink/+/b908cb4c8da93316d787de31c93f2a43de332a10
696
697         The bug was caused by FrameSelection::m_previousCaretNode holding onto a Node, leaking its document.
698         Fixed the bug by explicitly clearing it in FrameSelection::prepareForDestruction.
699
700         Test: editing/selection/leak-document-with-selection-inside.html
701
702         * editing/FrameSelection.cpp:
703         (WebCore::FrameSelection::prepareForDestruction):
704
705 2013-07-25  Andreas Kling  <akling@apple.com>
706
707         ChromeClient::focusedNodeChanged() should be focusedElementChanged().
708         <http://webkit.org/b/119110>
709
710         Reviewed by Anders Carlsson.
711
712         Because only Elements can be focused.
713
714         * dom/Document.cpp:
715         (WebCore::Document::setFocusedElement):
716         * loader/EmptyClients.h:
717         (WebCore::EmptyChromeClient::focusedElementChanged):
718         * page/Chrome.cpp:
719         (WebCore::Chrome::focusedElementChanged):
720         * page/Chrome.h:
721         * page/ChromeClient.h:
722
723 2013-07-25  Kwang Yul Seo  <skyul@company100.net>
724
725         [WK2][Soup] Add private browsing support
726         https://bugs.webkit.org/show_bug.cgi?id=118657
727
728         Reviewed by Gustavo Noronha Silva.
729
730         Support private browsing by adding a method to create a private
731         browsing soup session. This private browsing session uses a
732         non-persistent cookie jar and does not use the disk cache feature.
733
734         No new tests. Covered by existing private browsing tests.
735
736         * platform/network/NetworkStorageSession.h:
737         (WebCore::NetworkStorageSession::isPrivateBrowsingSession):
738         Add USE(SOUP) guard to isPrivateBrowsingSession() and m_isPrivate.
739
740         * platform/network/ResourceHandle.h:
741         Add a factory method to create a private browsing session for soup.
742
743         * platform/network/soup/CookieJarSoup.cpp:
744         (WebCore::createPrivateBrowsingCookieJar):
745         * platform/network/soup/CookieJarSoup.h:
746         Add a method to create a non-persistent cookie jar for private browsing.
747
748         * platform/network/soup/NetworkStorageSessionSoup.cpp:
749         (WebCore::NetworkStorageSession::NetworkStorageSession):
750         Initialize m_isPrivate to false.
751         (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
752         Implement the method by invoking ResourceHandle::createPrivateBrowsingSession.
753
754         * platform/network/soup/ResourceHandleSoup.cpp:
755         (WebCore::createSoupSession):
756         Extract common soup session creation code so that both defaultSession
757         and createPrivateBrowsingSession can use this function to create a soup
758         session.
759         (WebCore::ResourceHandle::defaultSession):
760         Change to use createSoupSession.
761         (WebCore::ResourceHandle::createPrivateBrowsingSession):
762         Create a session which uses a non-persistent cookie jar.
763
764 2013-07-25  Tim Horton  <timothy_horton@apple.com>
765
766         Null check m_frame in maximum and minimumScrollPosition
767         https://bugs.webkit.org/show_bug.cgi?id=119109
768         <rdar://problem/14545393>
769
770         Reviewed by Darin Adler.
771
772         * page/FrameView.cpp:
773         (WebCore::FrameView::minimumScrollPosition):
774         (WebCore::FrameView::maximumScrollPosition):
775         Null-check m_frame (and move the early-return after the clamp-to-0
776         as the revert in r152911 should have).
777
778 2013-07-25  Anders Carlsson  <andersca@apple.com>
779
780         Localizable.strings generated by extract-localizable-strings should be UTF-8
781         https://bugs.webkit.org/show_bug.cgi?id=119106
782
783         Reviewed by Mark Rowe.
784
785         * English.lproj/Localizable.strings:
786         Re-encode this as UTF-8 and remove the BOM.
787
788         * WebCore.xcodeproj/project.pbxproj:
789         Set the file encoding of Localizable.strings to UTF-8.
790
791 2013-07-25  Ryosuke Niwa  <rniwa@webkit.org>
792
793         Don't force layout when querying a fixed or non-box margin/padding property
794         https://bugs.webkit.org/show_bug.cgi?id=118032
795
796         Reviewed by David Hyatt.
797
798         Merge https://chromium.googlesource.com/chromium/blink/+/66427d0825fcc2975bd50220cdcaa2504d6f36e5.
799
800         This patch avoids layout in ComputedStyleExtractor::propertyValue for margin and padding properties
801         when they are of fixed length. According to the Blink patch's author, this improves the page load
802         time of economist.com by 27%.
803
804         The actual code change is significantly different from the original Blink patch since we've done
805         some refactorins in r152938 and r153067 to make this change more self-contained.
806
807         Test: fast/css/computed-width-without-renderer.html
808
809         * css/CSSComputedStyleDeclaration.cpp:
810         (WebCore::zoomAdjustedPaddingOrMarginPixelValue):
811         (WebCore::paddingOrMarginIsRendererDependent):
812         (WebCore::isLayoutDependent):
813         (WebCore::ComputedStyleExtractor::propertyValue):
814
815 2013-07-25  Sam Weinig  <sam@webkit.org>
816
817         -[WebHTMLView attributedSubstringForProposedRange:actualRange:] does not include strikethrough attribute in the returned attributed string
818         https://bugs.webkit.org/show_bug.cgi?id=119099
819         <rdar://problem/13439291>
820
821         Reviewed by Enrica Casucci.
822
823         Tests:
824             API Test: AttributedStringTest_Strikethrough
825
826         * platform/mac/HTMLConverter.mm:
827         (+[WebHTMLConverter editingAttributedStringFromRange:]):
828         Set the NSStrikethroughStyleAttributeName attribute when text-decoration: line-through is seen.
829
830 2013-07-25  Pratik Solanki  <psolanki@apple.com>
831
832         Unreviewed build fix after r153333.
833
834         * platform/network/cf/ResourceResponseCFNet.cpp: Remove toTimeT since it is no longer called.
835
836 2013-07-25  Christophe Dumez  <ch.dumez@sisa.samsung.com>
837
838         Unreviewed EFL build fix after r153315.
839
840         Fix build error after we started compiling with c++0x support
841         in r153315.
842
843         * platform/efl/RenderThemeEfl.cpp:
844         (WebCore::toEdjeGroup):
845
846 2013-07-25  Anders Carlsson  <andersca@apple.com>
847
848         Remove lastModifiedDate from ResourceResponse
849         https://bugs.webkit.org/show_bug.cgi?id=119092
850
851         Reviewed by Andreas Kling.
852
853         Computing m_lastResponseDate is costly on some platforms and we already have a better way to
854         get the last response time, so convert the two call sites that used to call ResourceresponseBase::lastModifiedDate()
855         over to using lastModified() instead.
856
857         * platform/network/ResourceResponseBase.cpp:
858         (WebCore::ResourceResponseBase::ResourceResponseBase):
859         (WebCore::ResourceResponseBase::adopt):
860         (WebCore::ResourceResponseBase::copyData):
861         * platform/network/ResourceResponseBase.h:
862         * platform/network/cf/ResourceResponseCFNet.cpp:
863         (WebCore::ResourceResponse::platformLazyInit):
864         * plugins/PluginStream.cpp:
865         (WebCore::lastModifiedDate):
866         (WebCore::PluginStream::startStream):
867
868 2013-07-25  Yi Shen  <max.hong.shen@gmail.com>
869
870         Optimize the thread locks for API Shims
871         https://bugs.webkit.org/show_bug.cgi?id=118573
872
873         Reviewed by Geoffrey Garen.
874
875         Remove the thread lock from API Shims if the VM has an exclusive thread (e.g. the VM 
876         only used by WebCore's main thread).
877
878         No new tests required since no functionality changed.
879
880         * bindings/js/JSDOMWindowBase.cpp:
881         (WebCore::JSDOMWindowBase::commonVM):
882
883 2013-07-25  Bear Travis  <betravis@adobe.com>
884
885         [CSS Shapes] Shape methods and member variables should be guarded with the CSS_SHAPES flag
886         https://bugs.webkit.org/show_bug.cgi?id=117277
887
888         Reviewed by Alexandru Chiculita.
889
890         This patch adds some compile guards that were missing from the RenderStyle and
891         StyleRareNonInheritedData files. When the compile guard caused parameters to
892         not be used, the parameters were marked using UNUSED_PARAM.
893
894         * css/CSSPropertyNames.in: Inserting a line to trigger build.
895         * rendering/RenderBlock.cpp:
896         (WebCore::shapeInfoRequiresRelayout):
897         (WebCore::RenderBlock::updateRegionsAndShapesBeforeChildLayout):
898         (WebCore::RenderBlock::logicalRightFloatOffsetForLine):
899         * rendering/RenderBox.cpp:
900         (WebCore::isCandidateForOpaquenessTest):
901         * rendering/RenderBox.h:
902         * rendering/RenderObject.h:
903         * rendering/style/RenderStyle.cpp:
904         (WebCore::RenderStyle::changeRequiresLayout):
905         (WebCore::RenderStyle::changeRequiresRepaint):
906         * rendering/style/RenderStyle.h:
907         * rendering/style/StyleRareNonInheritedData.cpp:
908         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
909         (WebCore::StyleRareNonInheritedData::operator==):
910         * rendering/style/StyleRareNonInheritedData.h:
911
912 2013-07-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
913
914         Introduce toSVGPatternElement(), use it
915         https://bugs.webkit.org/show_bug.cgi?id=119013
916
917         Reviewed by Andreas Kling.
918
919         As a step to change static_cast with toSVGXXX, static_cast<SVGPatternElement*> can
920         be changed with toSVGPatternElement().
921
922         Merge from https://src.chromium.org/viewvc/blink?view=rev&revision=154734
923
924         * rendering/svg/RenderSVGResourcePattern.cpp:
925         (WebCore::RenderSVGResourcePattern::buildPattern):
926         * rendering/svg/SVGRenderTreeAsText.cpp:
927         (WebCore::writeSVGResourceContainer):
928         * rendering/svg/SVGResources.cpp:
929         (WebCore::targetReferenceFromResource):
930         * svg/SVGPatternElement.h:
931         (WebCore::toSVGPatternElement):
932
933 2013-06-21  Mark Lam  <mark.lam@apple.com>
934
935         Fixed broken build: updated to match SmallStrings changes in r151864.
936
937         Not reviewed.
938
939         No new tests.
940
941         * bindings/js/JSDOMBinding.h:
942         (WebCore::jsStringWithCache):
943
944 2013-06-15  Filip Pizlo  <fpizlo@apple.com>
945
946         Concurrent JIT shouldn't try to recompute the CodeBlockHash as part of debug dumps, since doing so may fail if dealing with a CachedScript that doesn't have its script string handy
947         https://bugs.webkit.org/show_bug.cgi?id=117676
948
949         Reviewed by Sam Weinig.
950
951         Remove the broken hack for the concurrent JIT, since now the concurrent JIT won't use this code anymore.
952
953         No new tests because no new behavior.
954
955         * loader/cache/CachedScript.cpp:
956         (WebCore::CachedScript::script):
957
958 2013-06-10  Mark Lam  <mark.lam@apple.com>
959
960         Introducing the StackIterator class.
961         https://bugs.webkit.org/show_bug.cgi?id=117390.
962
963         Reviewed by Geoffrey Garen.
964
965         No new tests.
966
967         * ForwardingHeaders/interpreter/StackIterator.h: Added.
968         * bindings/js/JSXMLHttpRequestCustom.cpp:
969         (WebCore::JSXMLHttpRequest::send):
970         * bindings/js/ScriptCallStackFactory.cpp:
971         (WebCore::createScriptCallStack):
972
973 2013-06-09  Filip Pizlo  <fpizlo@apple.com>
974
975         Unreviewed, fix build. Use at() instead of operator[] because of ambiguity on some compilers.
976
977         * page/CaptionUserPreferencesMac.mm:
978         (WebCore::languageIdentifier):
979
980 2013-05-27  Filip Pizlo  <fpizlo@apple.com>
981
982         testRunner should be able to tell you if a function is DFG compiled
983         https://bugs.webkit.org/show_bug.cgi?id=116847
984
985         Reviewed by Mark Hahnenberg.
986
987         Bail early if we're in the compilation thread. This is only relevant for
988         debug dumps.
989
990         No new tests becase no new behavior.
991
992         * loader/cache/CachedScript.cpp:
993         (WebCore::CachedScript::script):
994
995 2013-05-25  Mark Lam  <mark.lam@apple.com>
996
997         Remove Interpreter::retrieveLastCaller().
998         https://bugs.webkit.org/show_bug.cgi?id=116753.
999
1000         Reviewed by Geoffrey Garen.
1001
1002         This is part of the refactoring effort to get rid of functions walking
1003         the JS stack in their own way.
1004
1005         No new tests.
1006
1007         * bindings/js/JSXMLHttpRequestCustom.cpp:
1008         (WebCore::JSXMLHttpRequest::send):
1009         * bindings/js/ScriptCallStackFactory.cpp:
1010         (WebCore::createScriptCallStack):
1011
1012 2013-05-05  Geoffrey Garen  <ggaren@apple.com>
1013
1014         Rolled back in r149527 with crash fixed.
1015
1016         Reviewed by Oliver Hunt.
1017
1018             Rationalized 'this' value conversion
1019             https://bugs.webkit.org/show_bug.cgi?id=115542
1020
1021 2013-04-29  Filip Pizlo  <fpizlo@apple.com>
1022
1023         fourthTier: String::utf8() should also be available as StringImpl::utf8() so that you don't have to ref() a StringImpl just to get its utf8()
1024         https://bugs.webkit.org/show_bug.cgi?id=115393
1025
1026         Reviewed by Geoffrey Garen.
1027
1028         No new tests because no new behavior.
1029
1030         * Modules/websockets/WebSocket.cpp:
1031         (WebCore::WebSocket::close):
1032         * Modules/websockets/WebSocketChannel.cpp:
1033         (WebCore::WebSocketChannel::send):
1034         * html/MediaFragmentURIParser.cpp:
1035         (WebCore::MediaFragmentURIParser::parseFragments):
1036
1037 2013-07-24  Simon Fraser  <simon.fraser@apple.com>
1038
1039         [iOS] Captions are clipped in documents using pagination
1040         https://bugs.webkit.org/show_bug.cgi?id=119072
1041
1042         Reviewed by Beth Dakin.
1043
1044         MediaControlTextTrackContainerElement::createTextTrackRepresentationImage() is called
1045         to paint captions into a layer used for fullscreen video. It did the painting using
1046         a subtree paint, but starting at the root RenderView's layer. This is problematic,
1047         because the caption painting is subject to clipping for columns, and any enclosing
1048         overflow:hidden container.
1049         
1050         Fix this by starting the paint at the MediaControlTextTrackContainerElement's
1051         renderer's layer. By doing this we don't have to worry about an offset, so no
1052         translation is required.
1053         
1054         Also make sure we update layer before grabbing the renderer (in case layout
1055         destroys it).
1056
1057         * html/shadow/MediaControlElements.cpp:
1058         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
1059
1060 2013-07-24  Simon Fraser  <simon.fraser@apple.com>
1061
1062         REGRESSION (r152335): Mac Pro title occluded in MobileSafari; can't scroll page
1063         https://bugs.webkit.org/show_bug.cgi?id=119066
1064         <rdar://problem/14499184>
1065
1066         Reviewed by Daniel Bates.
1067
1068         Following <http://trac.webkit.org/changeset/152335> (bug #118337) we set
1069         the z-index to 0 on every element with CSS "overflow: scroll" and
1070         "-webkit-overflow-scrolling: touch" regardless of whether the element has
1071         non-auto z-index. Instead we should only set the z-index to 0 for such elements
1072         that have an auto z-index.
1073
1074         * css/StyleResolver.cpp:
1075         (WebCore::StyleResolver::adjustRenderStyle):
1076
1077 2013-07-24  Ryosuke Niwa  <rniwa@webkit.org>
1078
1079         Use-after-free in ApplyStyleCommand::removeInlineStyle
1080         https://bugs.webkit.org/show_bug.cgi?id=118627
1081
1082         Reviewed by Oliver Hunt.
1083         
1084         Merge https://chromium.googlesource.com/chromium/blink/+/b6471d077e012b05ccba14d0ce8e6d616106c8e6
1085
1086         Unfortunately, there is no test case for this bug.
1087
1088         * editing/ApplyStyleCommand.cpp:
1089         (WebCore::ApplyStyleCommand::removeInlineStyle):
1090
1091 2013-07-24  Zan Dobersek  <zdobersek@igalia.com>
1092
1093         Remove CheckedInt, use Checked<T, RecordOverflow> instead
1094         https://bugs.webkit.org/show_bug.cgi?id=119022
1095
1096         Reviewed by Oliver Hunt.
1097
1098         Following the cleanup in r153062, the CheckedInt uses are replaced with
1099         using the Checked<T, RecordOverflow> class. The CheckedInt header is not
1100         used anywhere anymore and is thus removed.
1101
1102         * GNUmakefile.list.am:
1103         * WebCore.xcodeproj/project.pbxproj:
1104         * html/canvas/CheckedInt.h: Removed.
1105         * html/canvas/DataView.cpp:
1106         (WebCore::DataView::create):
1107         * html/canvas/WebGLBuffer.cpp:
1108         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
1109         * html/canvas/WebGLRenderingContext.cpp:
1110         (WebCore::WebGLRenderingContext::drawArrays):
1111
1112 2013-07-24  Andreas Kling  <akling@apple.com>
1113
1114         RenderMenuList computes the width of its longest option twice.
1115         <http://webkit.org/b/119046>
1116         <rdar://problem/14534679>
1117
1118         Reviewed by Darin Adler.
1119
1120         Rename the RenderMenuList::m_optionsChanged flag to m_needsOptionsWidthUpdate,
1121         and make sure it gets cleared after we do a width computation in response to font changes.
1122
1123         * rendering/RenderMenuList.cpp:
1124         (WebCore::RenderMenuList::styleDidChange):
1125
1126 2013-07-24  Zan Dobersek  <zdobersek@igalia.com>
1127
1128         Make KURL::hasPath private
1129         https://bugs.webkit.org/show_bug.cgi?id=118279
1130
1131         Reviewed by Darin Adler.
1132
1133         * platform/KURL.h: The KURL::hasPath method is not used outside of the KURL class, so it is made private.
1134
1135 2013-07-24  Jessie Berlin  <jberlin@apple.com>
1136
1137         Remove WKPageGetPlugInInformation - it is not used anymore
1138         https://bugs.webkit.org/show_bug.cgi?id=119047
1139
1140         Rubber-stamped by Alexey Proskuryakov.
1141
1142         Revert r152328, which added a key used only in the callback info for
1143         WKPageGetPlugInInformation.
1144
1145         * WebCore.exp.in:
1146
1147 2013-07-24  Robert Hogan  <robert@webkit.org>
1148
1149         Border drawing incorrect when using both border-collapse: collapse and overflow: hidden on a table
1150         https://bugs.webkit.org/show_bug.cgi?id=18305
1151
1152         Reviewed by David Hyatt.
1153
1154         overflowClipRect() clips out the table's half of a collapsed border when there is an overflow clip
1155         on the table. This prevents the table's half of the border ever getting painted. 
1156
1157         To fix this, clip to the border box of tables when we're in the paint phase that gets the sections to draw the collapsed borders
1158         or when we're self painting. This will allow the table's half of the border to get painted. In the case where the table is self
1159         painting we ensure that content gets clipped to cell's side of the collapsed border by ensuring the clip passed to child layers
1160         from the table clips to the inside of the collapsed border. 
1161
1162         It's worth noting that a table's collapsed borders are painted by the table's layer using functions in 
1163         RenderTableSection and RenderTableCell. So if a table section has a self-painting layer this patch still works, because
1164         the borders aren't painted by the section's layer.
1165
1166         Tests: fast/table/overflow-table-collapsed-borders-cell-painting-table-self-painting-layer.html
1167                fast/table/overflow-table-collapsed-borders-cell-painting.html
1168                fast/table/overflow-table-collapsed-borders-section-layer-painting.html
1169                fast/table/overflow-table-collapsed-borders-section-layer-table-self-painting-layer.html
1170                fast/table/overflow-table-collapsed-borders-section-self-painting-layer-painting.html
1171                fast/table/overflow-table-collapsed-borders-section-self-painting-layer-table-self-painting-layer.html
1172                fast/table/table-overflow.html
1173
1174         * rendering/RenderBox.cpp:
1175         (WebCore::RenderBox::pushContentsClip):
1176         (WebCore::RenderBox::overflowClipRect):
1177         * rendering/RenderBox.h:
1178         (WebCore::RenderBox::overflowClipRectForChildLayers):
1179         * rendering/RenderLayer.cpp:
1180         (WebCore::RenderLayer::calculateClipRects):
1181         * rendering/RenderTable.cpp:
1182         (WebCore::RenderTable::overflowClipRect):
1183         * rendering/RenderTable.h:
1184         (WebCore::RenderTable::overflowClipRectForChildLayers):
1185
1186 2013-07-24  Frédéric Wang  <fred.wang@free.fr>
1187
1188         Graphical elements inside mphantom should not be visible.
1189         https://bugs.webkit.org/show_bug.cgi?id=116600.
1190
1191         Reviewed by Chris Fleizach.
1192
1193         Test: mathml/presentation/phantom.html
1194
1195         * rendering/mathml/RenderMathMLFraction.cpp:
1196         (WebCore::RenderMathMLFraction::paint): don't paint the fraction bar when the visibility is not "visible"
1197         * rendering/mathml/RenderMathMLRoot.cpp:
1198         (WebCore::RenderMathMLRoot::paint): don't paint the radical symbol when the visibility is not "visible"
1199
1200 2013-07-24  Brendan Long  <b.long@cablelabs.com>
1201
1202         WebVTTParser's identifier buffering can ignore subsequent lines
1203         https://bugs.webkit.org/show_bug.cgi?id=118483
1204
1205         Reviewed by Eric Carlson.
1206
1207         No new tests since this bug can't be reproduced in layout tests.
1208
1209         * html/track/WebVTTParser.cpp:
1210         (WebCore::WebVTTParser::parseBytes): Only buffer the identifier if we haven't read an entire line.
1211
1212 2013-07-23  Andreas Kling  <akling@apple.com>
1213
1214         REGRESSION(r150867): FrameView auto-sizing + delegate denied image load may cause StyleResolver to re-enter itself.
1215         <rdar://problem/14324895>
1216         <http://webkit.org/b/119023>
1217
1218         Reviewed by Simon Fraser.
1219
1220         The bug happened when FrameView::autoSizeIfEnabled() was getting called below FrameLoader::checkCompleted()
1221         triggered by an incorrect loadDone() callback originating in SubresourceLoader::didCancel().
1222
1223         * css/StyleResolver.cpp:
1224         (WebCore::StyleResolver::loadPendingResources):
1225
1226             Add an assertion that this function is not getting re-entered. If a similar bug occurs
1227             in the future, this will help the lucky person debugging.
1228
1229         * loader/SubresourceLoader.cpp:
1230         (WebCore::SubresourceLoader::didCancel):
1231
1232             Don't notifyDone() if the SubresourceLoader is in Uninitialized state.
1233
1234 2013-07-23  Tim Horton  <timothy_horton@apple.com>
1235
1236         Pixel-snap the unavailable plugin indicator arrow for maximum sharpness
1237         https://bugs.webkit.org/show_bug.cgi?id=119024
1238         <rdar://problem/14523331>
1239
1240         Reviewed by Anders Carlsson.
1241
1242         * rendering/RenderEmbeddedObject.cpp:
1243         (WebCore::addReplacementArrowPath):
1244         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1245         Pixel-snap the unavailable plugin indicator arrow. Snapping directions
1246         were chosen by eye/symmetry to look best on 1x and 2x devices at
1247         1x and 2x page scale.
1248
1249 2013-07-19  Ryosuke Niwa  <rniwa@webkit.org>
1250
1251         The computed values of fix length padding should be subpixel precision like margin
1252         https://bugs.webkit.org/show_bug.cgi?id=118936
1253
1254         Reviewed by Simon Fraser.
1255
1256         The bug was caused by ComputedStyleExtractor::propertyValue always returning the used value
1257         for padding. Fixed the bug by returning the computed value when they're of fixed length.
1258
1259         This aligns the behaviors of getComputedStyle(~).padding~ with getComputedStyle(~).margin~,
1260         which had been fixed in r102149. While the current CSSOM specification says getComputedStyle
1261         should return the used values for margins when display property is set to anything but none,
1262         new behavior matches that of Chrome, Firefox, and Internet Explorer.
1263
1264         Also extracted zoomAdjustedPaddingOrMarginPixelValue to reduce the code duplication.
1265
1266         Test: fast/css/getComputedStyle/getComputedStyle-padding-margin-subpixel-length.html
1267
1268         * css/CSSComputedStyleDeclaration.cpp:
1269         (WebCore::zoomAdjustedPaddingOrMarginPixelValue): Extracted.
1270         (WebCore::ComputedStyleExtractor::propertyValue):
1271
1272 2013-07-23  Alex Christensen  <achristensen@apple.com>
1273
1274         Updated ANGLE to latest git commit (047373aa3eb408be62be52ade840fa5f11e72337).
1275         https://bugs.webkit.org/show_bug.cgi?id=118550
1276
1277         Reviewed by Dean Jackson.
1278
1279         * CMakeLists.txt: Renamed DetectRecursion to DetectCallDepth and added Uniform.cpp.
1280
1281 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1282
1283         Use Checked<uint32_t, RecordOverflow> instead of CheckedInt in GraphicsContext3D
1284         https://bugs.webkit.org/show_bug.cgi?id=118988
1285
1286         Reviewed by Oliver Hunt.
1287
1288         Use the WTF's Checked class, with uint32_t as the numeric type and RecordOverflow as the overflow handler,
1289         instead of the CheckedInt class. This removes a layering violation that's occurring due to including the CheckedInt
1290         header that's currently located in the WebCore layer (alongside the HTML canvas code in Source/WebCore/html/canvas).
1291
1292         * platform/graphics/GraphicsContext3D.cpp:
1293         (WebCore::GraphicsContext3D::computeImageSizeInBytes):
1294
1295 2013-07-23  Zalan Bujtas  <zalan@apple.com>
1296
1297         REGRESSION(r152313): Links in certain twitter postings don't warp correctly on page
1298         https://bugs.webkit.org/show_bug.cgi?id=118435
1299
1300         Reviewed by David Hyatt.
1301
1302         When we find an empty inline in the middle of the word, prefer breaking it before 
1303         instead of after to match other browsers' rendering.
1304
1305         Test: fast/text/whitespace/inline-whitespace-wrapping-12.html
1306
1307         * rendering/RenderBlockLineLayout.cpp:
1308         (WebCore::canBreakAtThisPosition):
1309
1310 2013-07-23  Alexey Proskuryakov  <ap@apple.com>
1311
1312         Dictionary hotkey does not work on vertical text
1313         https://bugs.webkit.org/show_bug.cgi?id=118993
1314         <rdar://problem/14478260>
1315
1316         Reviewed by Enrica Casucci.
1317
1318         Test: platform/mac/editing/input/firstrectforcharacterrange-vertical.html
1319
1320         * editing/Editor.cpp:
1321         (WebCore::collapseCaretWidth): A helper function.
1322         (WebCore::Editor::firstRectForRange): Many changes:
1323         - use RenderObject::absoluteBoundingBoxRectForRange() in regular case, because
1324         that's more direct that getting caret rects and computing bounding rect from those.
1325         - handle collapsed ranges separately, because absoluteBoundingBoxRectForRange()
1326         doesn't provide the needed result, and because it can be done faster.
1327         - wherever we use carets to compute the result, account for vertical text (in a hackish
1328         way, as we don't have layout information at Editor level).
1329
1330         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::localCaretRect): Removed
1331         dead code.
1332
1333 2013-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>
1334
1335         [CSS Shapes] New positioning model: Borders
1336         https://bugs.webkit.org/show_bug.cgi?id=118822
1337
1338         Reviewed by Dean Jackson.
1339
1340         Converting to the shape coordinate system was not properly accounting
1341         for borders and padding. This has been fixed and a new convienence
1342         method added because of the added complexity of the conversion.
1343
1344         Test: csswg/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html
1345
1346         * rendering/RenderBlock.cpp:
1347         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine): Update to use
1348             computeSegmentsForContainingBlockLine to do the coordinate
1349             conversion.
1350         (WebCore::RenderBlock::logicalRightFloatOffsetForLine): Ditto.
1351         * rendering/RenderBlockLineLayout.cpp:
1352         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Ditto.
1353         * rendering/shapes/ShapeOutsideInfo.cpp:
1354         (WebCore::ShapeOutsideInfo::computeSegmentsForContainingBlockLine):
1355             Add new method to do the coordinate conversion from the containing
1356             block coordinate system to the coordinate system of the shape so
1357             that the segments can be correctly calculated.
1358
1359 2013-07-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1360
1361         Remove deprecated and unused compositing settings
1362         https://bugs.webkit.org/show_bug.cgi?id=119014
1363
1364         Reviewed by Andreas Kling.
1365
1366         * page/Settings.in:
1367
1368 2013-07-23  Tim Horton  <timothy_horton@apple.com>
1369
1370         Add a test for plug-in unavailability indicator obscurity detection
1371         https://bugs.webkit.org/show_bug.cgi?id=119007
1372
1373         Reviewed by Anders Carlsson.
1374
1375         Test: plugins/unavailable-plugin-indicator-obscurity.html
1376
1377         Expose the ability to test whether the unavailable plugin indicator
1378         is obscured via the internals object.
1379
1380         * testing/Internals.cpp:
1381         (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
1382         * testing/Internals.h:
1383         * testing/Internals.idl:
1384         Expose RenderEmbeddedObject::isReplacementObscured as
1385         internals.isPluginUnavailabilityIndicatorObscured for testing purposes.
1386
1387 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1388
1389         [Soup] Clean up header inclusions in ResourceRequest(Soup), SocketStreamHandle
1390         https://bugs.webkit.org/show_bug.cgi?id=118984
1391
1392         Reviewed by Darin Adler.
1393
1394         Execute a minor cleanup of the header inclusions in Soup-specific ResourceRequestSoup.cpp, ResourceRequest.h
1395         and SocketStreamHandle.h source files. The inclusions are sorted into proper order, with blank lines and unnecessary
1396         reinclusions removed.
1397
1398         * platform/network/soup/ResourceRequest.h:
1399         * platform/network/soup/ResourceRequestSoup.cpp:
1400         * platform/network/soup/SocketStreamHandle.h:
1401
1402 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1403
1404         [Soup] Remove unnecessary header inclusions in ResourceHandleSoup.cpp
1405         https://bugs.webkit.org/show_bug.cgi?id=118983
1406
1407         Reviewed by Martin Robinson.
1408
1409         Remove inclusions of the CachedResourceLoader, ChromeClient, Frame and Page headers. These are not
1410         necessary (anymore) and only prevent the source file to be built independently of WebCore, as it should be.
1411
1412         * platform/network/soup/ResourceHandleSoup.cpp:
1413
1414 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1415
1416         Remove unnecessary header inclusions in GraphicsContext3D.cpp, GraphicsContext3DOpenGLCommon.cpp
1417         https://bugs.webkit.org/show_bug.cgi?id=118989
1418
1419         Reviewed by Darin Adler.
1420
1421         * platform/graphics/GraphicsContext3D.cpp: Remove the unnecessary DrawingBuffer header inclusion.
1422         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Remove the unnecessary
1423         CanvasRenderingContext and WebGLObject header inclusions.
1424
1425 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1426
1427         Remove the topDocumentURL member of the GraphicsContext3D::Attributes struct
1428         https://bugs.webkit.org/show_bug.cgi?id=118987
1429
1430         Reviewed by Darin Adler.
1431
1432         Remove the topDocumentURL member that currently resides in the GraphicsContext3D::Attributes struct.
1433         It's not used anywhere and only has one place where it is set, in WebGLRenderingContext::create.
1434
1435         * html/canvas/WebGLRenderingContext.cpp:
1436         (WebCore::WebGLRenderingContext::create):
1437         * platform/graphics/GraphicsContext3D.h:
1438
1439 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1440
1441         Remove unused DrawingBuffer::paintRenderingResultsToImageData
1442         https://bugs.webkit.org/show_bug.cgi?id=118986
1443
1444         Reviewed by Darin Adler.
1445
1446         Remove the paintRenderingResultsToImageData method of the DrawingBuffer class. It is not used anywhere
1447         and also introduces a nasty layering violation by including and operating with the ImageData class.
1448
1449         * platform/graphics/gpu/DrawingBuffer.cpp:
1450         * platform/graphics/gpu/DrawingBuffer.h:
1451
1452 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1453
1454         Remove unnecessary includes in FormDataBuilder.cpp
1455         https://bugs.webkit.org/show_bug.cgi?id=118991
1456
1457         Reviewed by Darin Adler.
1458
1459         * platform/network/FormDataBuilder.cpp: Remove the Frame and FrameLoader header inclusions,
1460         nothing these two headers provide is used in this source file.
1461
1462 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1463
1464         Fix the style of the ContentDispositionType enum definition
1465         https://bugs.webkit.org/show_bug.cgi?id=118990
1466
1467         Reviewed by Darin Adler.
1468
1469         * platform/network/HTTPParsers.h: Align the style of the ContentDispositionType enumeration
1470         definition with the other enumeration definitions in the HTTPParsers header, using the
1471         'enum Name { ... }' style instead of a typedef.
1472
1473 2013-07-23  Zan Dobersek  <zdobersek@igalia.com>
1474
1475         [GTK] Mock GDK_IS_X11_DISPLAY macro can be redefined unnecessarily
1476         https://bugs.webkit.org/show_bug.cgi?id=118980
1477
1478         Reviewed by Martin Robinson.
1479
1480         * platform/gtk/GtkVersioning.h: Only define the GDK_IS_X11_DISPLAY macro when using the GTK+ 2 API version
1481         as that's the only supported configuration where the macro is not defined. Definining it only if it's not
1482         yet defined at the time of inclusion of this header can cause redefinitions in GTK+ headers that are normally
1483         included later.
1484
1485 2013-07-22  Beth Dakin  <bdakin@apple.com>
1486
1487         StickyPositionConstraints should store the constrainingRectAtLastLayout
1488         https://bugs.webkit.org/show_bug.cgi?id=118999
1489
1490         Reviewed by Simon Fraser.
1491
1492         Much like how FixedPositionConstraints store a viewportRectAtLastLayout, 
1493         StickyConstraints should store a constrainingRectAtLastLayout. We'll need this to 
1494         get sticky right in overflow areas once overflow areas scroll on the scrolling 
1495         thread. 
1496
1497         * page/scrolling/ScrollingConstraints.h:
1498         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
1499         (WebCore::StickyPositionViewportConstraints::constrainingRectAtLastLayout):
1500         (WebCore::StickyPositionViewportConstraints::setConstrainingRectAtLastLayout):
1501         * rendering/RenderBoxModelObject.cpp:
1502         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
1503
1504 2013-07-22  Santosh Mahto  <santosh.ma@samsung.com>
1505
1506         DateInputType constructor initiate incorrect base class
1507         https://bugs.webkit.org/show_bug.cgi?id=118962
1508
1509         Reviewed by Gyuyoung Kim.
1510
1511         No new test required since solving code error
1512
1513         * html/DateInputType.cpp:
1514         (WebCore::DateInputType::DateInputType):
1515         Corrected the base class instantiation in constructor.
1516
1517 2013-07-22  Tim Horton  <timothy_horton@apple.com>
1518
1519         Plug-in unavailability indicator should not be displayed if a blocked plugin's indicator is clipped
1520         https://bugs.webkit.org/show_bug.cgi?id=118998
1521         <rdar://problem/14511268>
1522
1523         Reviewed by Anders Carlsson.
1524         
1525         * html/HTMLEmbedElement.cpp:
1526         (WebCore::HTMLEmbedElement::updateWidget):
1527         * html/HTMLObjectElement.cpp:
1528         (WebCore::HTMLObjectElement::updateWidget):
1529         * html/HTMLPlugInElement.cpp:
1530         (WebCore::HTMLPlugInElement::defaultEventHandler):
1531         (WebCore::HTMLPlugInElement::supportsFocus):
1532         * html/HTMLPlugInImageElement.cpp:
1533         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
1534         * loader/SubframeLoader.cpp:
1535         (WebCore::SubframeLoader::createJavaAppletWidget):
1536         (WebCore::SubframeLoader::loadPlugin):
1537         * page/FrameView.cpp:
1538         (WebCore::FrameView::updateWidget):
1539         Rename showsUnavailablePluginIndicator to isPluginUnavailable, since being unavailable
1540         and actually showing the indicator are two totally different things.
1541
1542         * WebCore.exp.in: Expose setUnavailablePluginIndicatorIsHidden.
1543
1544         * rendering/RenderEmbeddedObject.cpp:
1545         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1546         Rename m_showsUnavailablePluginIndicator to m_isPluginUnavailable.
1547         Add m_isUnavailablePluginIndicatorHidden, defaulting to false.
1548
1549         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription):
1550         Set m_isPluginUnavailable when we get an unavailability reason.
1551
1552         (WebCore::RenderEmbeddedObject::paint):
1553         (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden): Added.
1554
1555         * rendering/RenderEmbeddedObject.h:
1556         (WebCore::RenderEmbeddedObject::isPluginUnavailable): Added.
1557
1558         (WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
1559         Repurpose "showsUnavailablePluginIndicator" to actually represent whether
1560         the indicator is displayed (i.e. the plugin is unavailable, and the
1561         indicator is not hidden).
1562
1563 2013-07-22  Tim Horton  <timothy_horton@apple.com>
1564
1565         RenderEmbeddedObject::isReplacementObscured should include the arrow in its area-of-interest
1566         https://bugs.webkit.org/show_bug.cgi?id=118995
1567         <rdar://problem/14516421>
1568
1569         Reviewed by Anders Carlsson.
1570
1571         * rendering/RenderEmbeddedObject.cpp:
1572         (WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
1573         Rename method from replacementTextRect to unavailablePluginIndicatorBounds for accuracy.
1574         Use the bounding box of the indicator's path, which includes the rounded rect behind
1575         the text as well as the arrow button.
1576
1577         (WebCore::RenderEmbeddedObject::isReplacementObscured):
1578         * rendering/RenderEmbeddedObject.h:
1579
1580 2013-07-22  Tim Horton  <timothy_horton@apple.com>
1581
1582         <applet> plugins are instantiated post-attach (instead of post-layout like for object and embed)
1583         https://bugs.webkit.org/show_bug.cgi?id=118994
1584         <rdar://problem/14511232>
1585
1586         Reviewed by Anders Carlsson.
1587
1588         Make <applet> consistent with <object> and <embed>, deferring plugin
1589         instantiation to post-layout, so that layout is up-to-date if anything
1590         needs it (like RenderEmbeddedObject::isReplacementObscured) during creation.
1591
1592         * html/HTMLAppletElement.cpp:
1593         (WebCore::HTMLAppletElement::updateWidget):
1594         Copy code from HTMLObjectElement/HTMLEmbedElement that defers plugin
1595         creation until post-layout tasks. Java is always an NPAPI plugin, so
1596         we should always defer if requested.
1597
1598 2013-07-22  Benjamin Poulain  <benjamin@webkit.org>
1599
1600         Do not allocate 2 AtomicString just to do a comparison in HTMLAnchorElement::setRel()
1601         https://bugs.webkit.org/show_bug.cgi?id=118941
1602
1603         Reviewed by Gavin Barraclough.
1604
1605         Currently, the only type of link relation supported by HTMLAnchorElement is RelationNoReferrer.
1606
1607         To find the value, we create a SpaceSplitString with the input value of the attribute (which
1608         create one or more AtomicString depending on the input). Then we create a new AtomicString for
1609         the literal "noreferrer". Finally, we compare the pointers and throw away all the AtomicStrings.
1610
1611         This causes a lot of memory operations for something really simple.
1612
1613         This patch adds a little helper method to SpaceSplitString to find a literal in the input. The only
1614         allocation happens if we need to foldCase(). The following operations are done without allocating
1615         new buffer and without hashing the input.
1616
1617         * dom/SpaceSplitString.cpp:
1618         (WebCore::tokenizeSpaceSplitString):
1619         (WebCore::AppendTokenToVectorTokenProcessor::AppendTokenToVectorTokenProcessor):
1620         (WebCore::AppendTokenToVectorTokenProcessor::processToken):
1621         (WebCore::SpaceSplitStringData::createVector):
1622         (WebCore::TokenIsEqualToCStringTokenProcessor::TokenIsEqualToCStringTokenProcessor):
1623         (WebCore::TokenIsEqualToCStringTokenProcessor::processToken):
1624         (WebCore::TokenIsEqualToCStringTokenProcessor::referenceStringWasFound):
1625         (WebCore::SpaceSplitString::spaceSplitStringContainsValue):
1626         * dom/SpaceSplitString.h:
1627         (WebCore::SpaceSplitString::spaceSplitStringContainsValue):
1628         * html/HTMLAnchorElement.cpp:
1629         (WebCore::HTMLAnchorElement::setRel):
1630
1631 2013-07-22  Zalan Bujtas  <zalan@apple.com>
1632
1633         segfault in RenderLayerCompositor when the iframe's position attribute is changed and it embeds <object>.
1634         https://bugs.webkit.org/show_bug.cgi?id=118965
1635
1636         Reviewed by Simon Fraser.
1637
1638         Do not change the composition state unless we can reliably figure out the iframe's size.
1639         If the renderer is not yet attached, its size is not computable.
1640
1641         Test: compositing/iframes/iframe-position-absolute-with-padding-percentage-crash.html
1642
1643         * rendering/RenderLayerCompositor.cpp:
1644         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
1645
1646 2013-07-22  Chris Fleizach  <cfleizach@apple.com>
1647
1648         AX: VoiceOver only read the first column in a safari table
1649         https://bugs.webkit.org/show_bug.cgi?id=118992
1650
1651         Reviewed by Tim Horton.
1652
1653         In case the first section has fewer columns than the rest of the table, the AXTable was only reporting the number of
1654         columns for the first section. We need to take the max number of columns out of all sections.
1655
1656         Test: accessibility/table-with-mismatch-column-count-in-initial-section.html
1657
1658         * accessibility/AccessibilityTable.cpp:
1659         (WebCore::AccessibilityTable::addChildren):
1660
1661 2013-07-22  Beth Dakin  <bdakin@apple.com>
1662
1663         StickyPositionContraints should not need to change to account for a RenderLayer's 
1664         scrollOffset
1665         https://bugs.webkit.org/show_bug.cgi?id=118958
1666         -and corresponding-
1667         <rdar://problem/12469203>
1668
1669         Reviewed by Simon Fraser.
1670
1671         Before this patch, to get sticky offsets right in overflow areas, the 
1672         StickyPositionConstraints changed on every scroll to factor it in. This will be a 
1673         problem once we can scroll overflow areas on the scrolling thread. The constraints 
1674         should never have to change to account for the scroll position. This patch fixes 
1675         that issue by changing the StickyPositionViewportConstraints’s containerBlockRect 
1676         and stickyBoxRect to be in a coordinate space that is relative to the scrolling 
1677         ancestor rather than being absolute. This patch also removes ‘absolute’ from those 
1678         variable names since they are no longer absolute.
1679
1680         A few re-names in the StickyPositionViewportConstraints class. The parameter to 
1681         computeStickyOffset() used to be called viewportRect, and is now called 
1682         constrainingRect. m_absoluteStickyBoxRect is now m_stickyBoxRect, and 
1683         m_absoluteContainingBlockRect is now m_containingBlockRect. And finally, 
1684         layerPositionForViewportRect() is now layerPositionForConstrainingRect()
1685         * page/scrolling/ScrollingConstraints.cpp:
1686         (WebCore::StickyPositionViewportConstraints::computeStickyOffset):
1687         (WebCore::StickyPositionViewportConstraints::layerPositionForConstrainingRect):
1688         * page/scrolling/ScrollingConstraints.h:
1689         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
1690         (WebCore::StickyPositionViewportConstraints::containingBlockRect):
1691         (WebCore::StickyPositionViewportConstraints::setContainingBlockRect):
1692         (WebCore::StickyPositionViewportConstraints::stickyBoxRect):
1693         (WebCore::StickyPositionViewportConstraints::setStickyBoxRect):
1694         (WebCore::StickyPositionViewportConstraints::operator==):
1695
1696         Accounting for the re-names. 
1697         * page/scrolling/ScrollingStateStickyNode.cpp:
1698         (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
1699         (WebCore::ScrollingStateStickyNode::dumpProperties):
1700         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1701         (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
1702
1703         Compute all values relative to the scrolling ancestor. This requires some juggling 
1704         in the overflow case to factor border and padding in or out.
1705         * rendering/RenderBoxModelObject.cpp:
1706         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
1707
1708         This is where the scrollOffset should be factored in.
1709         (WebCore::RenderBoxModelObject::stickyPositionOffset):
1710
1711 2013-07-22  Dean Jackson  <dino@apple.com>
1712
1713         PlugIn content can disappear after restarting
1714         https://bugs.webkit.org/show_bug.cgi?id=118982
1715
1716         Reviewed by Simon Fraser.
1717
1718         When a snapshotted plug-in is restarted, we inserted its compositing
1719         layer back into the tree, but didn't recalculate style. This meant
1720         that a subsequent compositing tree operation (such as any hardware
1721         animation) could cause the content to disappear.
1722
1723         * html/HTMLPlugInImageElement.cpp:
1724         (WebCore::HTMLPlugInImageElement::setDisplayState): Force a style recalc.
1725         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Ditto.
1726
1727 2013-07-22  Zalan Bujtas  <zalan@apple.com>
1728
1729         REGRESSION(r152227) Images with compositing layer don't show up unless the containing window is resized.
1730         https://bugs.webkit.org/show_bug.cgi?id=118951
1731
1732         Reviewed by Simon Fraser.
1733
1734         Ensure that the content rect is initialized when the image is set on the graphics layer.
1735
1736         RenderLayerBacking::updateGraphicsLayerGeometry() only updates the contents rect when
1737         the associated graphics layer has a content layer. Since the image gets committed 
1738         on the graphics layer after the update calls, the contents rect is left uninitialized.
1739
1740         Test: compositing/images/positioned-image-content-rect.html
1741
1742         * rendering/RenderLayerBacking.cpp:
1743         (WebCore::RenderLayerBacking::updateImageContents):
1744
1745 2013-07-22  Diego Pino Garcia  <dpino@igalia.com>
1746
1747         [Old Web Inspector] When right-clicking on a DataGrid column, show editing menu option as "Edit <columnName>" instead of just "Edit"
1748         https://bugs.webkit.org/show_bug.cgi?id=118971
1749
1750         Reviewed by Timothy Hatcher.
1751
1752         * English.lproj/localizedStrings.js: 
1753         * inspector/front-end/DataGrid.js: Change "Edit" for "Edit <columnTitle>"
1754         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
1755
1756 2013-07-22  Alex Christensen  <achristensen@apple.com>
1757
1758         Added assembly files to Windows 64-bit builds.
1759         https://bugs.webkit.org/show_bug.cgi?id=118931
1760
1761         Reviewed by Brent Fulgham.
1762
1763         * WebCore.vcxproj/WebCore.vcxproj: Added PaintHooks.asm for x64 and enabled MASM.
1764         * WebCore.vcxproj/WebCore.vcxproj.filters: Added PaintHooks.asm.
1765
1766 2013-07-22  Jakob Petsovits  <jpetsovits@blackberry.com>
1767
1768         [BlackBerry] Fix WebGL to a 2D canvas copies.
1769         https://bugs.webkit.org/show_bug.cgi?id=118921
1770         https://jira.bbqnx.net/browse/BRWSR-12714
1771         JIRA 449577
1772
1773         Reviewed by George Staikos.
1774
1775         The transform here was converted incorrectly when it
1776         replaced the pixel copy that was there before.
1777         As a true draw transformation, it doesn't need the "- 1"
1778         modification that pixel copies often require.
1779
1780         Fixes existing webgl/conformance/canvas tests.
1781
1782         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1783         (WebCore::GraphicsContext3D::paintToCanvas):
1784
1785 2013-07-22  peavo@outlook.com  <peavo@outlook.com>
1786
1787         [Curl] Download fails for certain urls.
1788         https://bugs.webkit.org/show_bug.cgi?id=118468
1789
1790         Reviewed by Brent Fulgham.
1791
1792         The current Curl download implementation has a few shortcomings:
1793         1) Downloading from secure locations fails. We need to provide Curl with the path to a certificate file (.pem file).
1794         2) Cookies are not set in the download request. We need to give Curl the path to the cookie file.
1795         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).
1796
1797         * platform/network/curl/CurlDownload.cpp:
1798         (WebCore::CurlDownload::CurlDownload): Initialize custom headers member.
1799         (WebCore::CurlDownload::~CurlDownload): Free custom headers member.
1800         (WebCore::CurlDownload::init): Set certificate and cookie file path.
1801         (WebCore::CurlDownload::closeFile): Check file handle against value for invalid platform handle.
1802         (WebCore::CurlDownload::writeDataToFile): Added utility method to write download data to file.
1803         (WebCore::CurlDownload::addHeaders): Added utility method to add headers to request.
1804         (WebCore::CurlDownload::didReceiveData): Use writeDataToFile utility method.
1805         * platform/network/curl/CurlDownload.h:
1806         Put class in WebCore namespace.
1807         Added method to init download from resource handle, request, and response object.
1808         Added utility method to write download data to file.
1809         Added utility method to add headers to request.
1810         Added custom headers member.
1811
1812 2013-07-22  Eric Carlson  <eric.carlson@apple.com>
1813
1814         [iOS] captions sometimes positioned incorrectly after fullscreen state change
1815         https://bugs.webkit.org/show_bug.cgi?id=118912
1816
1817         Reviewed by Jer Noble.
1818
1819         * html/shadow/MediaControlElements.cpp:
1820         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Call clearTextTrackRepresentation.
1821         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Call updateDisplay so
1822             cues are re-rendered with the updated size.
1823         (WebCore::MediaControlTextTrackContainerElement::clearTextTrackRepresentation): Cleanup the
1824             text track representation.
1825         (WebCore::MediaControlTextTrackContainerElement::enteredFullscreen): New, force cues to be updated.
1826         (WebCore::MediaControlTextTrackContainerElement::exitedFullscreen): Ditto.
1827         * html/shadow/MediaControlElements.h:
1828
1829         * html/shadow/MediaControls.cpp:
1830         (WebCore::MediaControls::enteredFullscreen): Call MediaControlTextTrackContainerElement::enteredFullscreen.
1831         (WebCore::MediaControls::exitedFullscreen): Call MediaControlTextTrackContainerElement::exitedFullscreen.
1832
1833 2013-07-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1834
1835         [Qt][WK1] Support direct painting without GraphicsSurface
1836         https://bugs.webkit.org/show_bug.cgi?id=118302
1837
1838         Reviewed by Jocelyn Turcotte.
1839
1840         Configure the WebGL OpenGL context to share texture with
1841         the HostWindow OpenGL if available, and paint accelerated
1842         using the the now shared textures.
1843
1844         This should return the performance without GraphicsSurface
1845         on the WK1 code path to what it was before r135995 (28/11 2012).
1846
1847         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1848         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1849         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1850
1851 2013-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1852
1853         Introduce toSVGUseElement(), use it
1854         https://bugs.webkit.org/show_bug.cgi?id=118942
1855
1856         Reviewed by Allan Sandfeld Jensen.
1857
1858         As a step to change static_cast with toSVGXXX, static_cast<SVGUseElement*> can
1859         be changed with toSVGUseElement().
1860
1861         No new tests, no behavior change.
1862
1863         * dom/EventRetargeter.h:
1864         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
1865         * page/EventHandler.cpp:
1866         (WebCore::instanceAssociatedWithShadowTreeElement):
1867         * rendering/svg/RenderSVGResourceClipper.cpp:
1868         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1869         * rendering/svg/RenderSVGTransformableContainer.cpp:
1870         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
1871         * svg/SVGStyledElement.cpp:
1872         (WebCore::SVGStyledElement::title):
1873         * svg/SVGUseElement.cpp:
1874         (WebCore::dumpInstanceTree):
1875         (WebCore::SVGUseElement::buildInstanceTree):
1876         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1877         * svg/SVGUseElement.h:
1878         (WebCore::toSVGUseElement):
1879
1880 2013-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1881
1882         Use toSVGPathElement() instead of static_cast<>
1883         https://bugs.webkit.org/show_bug.cgi?id=118960
1884
1885         Reviewed by Allan Sandfeld Jensen.
1886
1887         Though there is toSVGPathElement(), some files still use static_cast<SVGPathElement*>.
1888         To remove all static_cast<> use, we need to change argument from SVGElement to Element.
1889
1890         Merge from https://src.chromium.org/viewvc/blink?view=rev&revision=154621
1891
1892         No new tests, no behavior change.
1893
1894         * rendering/svg/RenderSVGTextPath.cpp:
1895         (WebCore::RenderSVGTextPath::layoutPath):
1896         * rendering/svg/SVGPathData.cpp:
1897         (WebCore::updatePathFromPathElement):
1898         * rendering/svg/SVGRenderTreeAsText.cpp:
1899         (WebCore::operator<<):
1900         * svg/SVGMPathElement.cpp:
1901         (WebCore::SVGMPathElement::pathElement):
1902         * svg/SVGPathElement.h:
1903         (WebCore::toSVGPathElement):
1904         * svg/SVGPathSegList.cpp:
1905         (WebCore::SVGPathSegList::commitChange):
1906         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
1907         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
1908         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
1909         (WebCore::SVGPathSegListPropertyTearOff::contextElement):
1910
1911 2013-07-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1912
1913         [Qt] Implement more of DOM3 KeyEvent key-identifiers
1914         https://bugs.webkit.org/show_bug.cgi?id=118566
1915
1916         Reviewed by Jocelyn Turcotte.
1917
1918         Implemented as many of the key values from http://www.w3.org/TR/DOM-Level-3-Events/#key-values-list
1919         as Qt keycodes support.
1920
1921         Also corrected the mapping of the Menu key, which was confused because MENU
1922         is also the ancient Microsoft speak for the Alt keys.
1923
1924         * platform/qt/PlatformKeyboardEventQt.cpp:
1925         (WebCore::keyIdentifierForQtKeyCode):
1926
1927 2013-07-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1928
1929         Introduce toSVGGradientElement(), use it
1930         https://bugs.webkit.org/show_bug.cgi?id=118943
1931
1932         Reviewed by Andreas Kling.
1933
1934         As a step to change static_cast with toSVGXXX, static_cast<SVGGradientElement*> can
1935         be changed with toSVGGradientElement().
1936
1937         No new tests, no behavior change.
1938
1939         * rendering/svg/RenderSVGGradientStop.cpp:
1940         (WebCore::RenderSVGGradientStop::gradientElement):
1941         * rendering/svg/RenderSVGResourceGradient.cpp:
1942         (WebCore::RenderSVGResourceGradient::applyResource):
1943         * rendering/svg/SVGResources.cpp:
1944         (WebCore::targetReferenceFromResource):
1945         * svg/SVGGradientElement.h:
1946         (WebCore::toSVGGradientElement):
1947         * svg/SVGLinearGradientElement.cpp:
1948         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
1949         * svg/SVGRadialGradientElement.cpp:
1950         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
1951
1952 2013-07-21  Andreas Kling  <akling@apple.com>
1953
1954         KURL creates duplicate strings when completing data: URIs.
1955         <http://webkit.org/b/118952>
1956         <rdar://problem/14504480>
1957
1958         Reviewed by Anders Carlsson.
1959
1960         When checking if the original URL input string can be reused, compare against the part
1961         of the parsing buffer that we would actually return, not the entire buffer.
1962
1963         632 kB progression on <http://www.nytimes.com/>
1964
1965         Test: KURLTest.KURLDataURIStringSharing
1966
1967         * platform/KURL.cpp:
1968         (WebCore::KURL::parse):
1969
1970 2013-07-20  Benjamin Poulain  <benjamin@webkit.org>
1971
1972         Add ASCIILiteral() on strings allocated often enough to appear in my Instruments
1973         https://bugs.webkit.org/show_bug.cgi?id=118937
1974
1975         Reviewed by Alexey Proskuryakov.
1976
1977         * html/BaseCheckableInputType.cpp:
1978         (WebCore::BaseCheckableInputType::saveFormControlState):
1979         (WebCore::BaseCheckableInputType::fallbackValue):
1980         * html/HTMLTextFormControlElement.cpp:
1981         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
1982         * inspector/InspectorApplicationCacheAgent.cpp:
1983         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
1984         * loader/cache/CachedScript.cpp:
1985         (WebCore::CachedScript::CachedScript):
1986         * platform/network/ResourceRequestBase.h:
1987         (WebCore::ResourceRequestBase::ResourceRequestBase):
1988
1989 2013-07-20  Dean Jackson  <dino@apple.com>
1990
1991         Updated ANGLE is leaking like a sieve
1992         https://bugs.webkit.org/show_bug.cgi?id=118939
1993
1994         Rollout 152863, r152821, r152929 and r152755.
1995
1996         * CMakeLists.txt:
1997
1998 2013-07-19  Jer Noble  <jer.noble@apple.com>
1999
2000         Pagination: Do not paint the baseBackgroundColor if asked to skipRootBackground.
2001         https://bugs.webkit.org/show_bug.cgi?id=118933
2002
2003         Reviewed by Simon Fraser.
2004
2005         Captions rendered through TextTrackRepresentation are rendered with a background
2006         color when in paginated views. Do not fill the paint area with the
2007         baseBackgroundColor when the paint flags include SkipRootBackground.
2008
2009         * rendering/RenderView.cpp:
2010         (WebCore::RenderView::paint):
2011
2012 2013-07-19  Brady Eidson  <beidson@apple.com>
2013
2014         Pages should not be able to abuse users inside beforeunload handlers.
2015         <rdar://problem/14475779> and https://bugs.webkit.org/show_bug.cgi?id=118871.
2016
2017         Reviewed by Alexey Proskuryakov.
2018
2019         Tests: fast/loader/show-only-one-beforeunload-dialog.html
2020                http/tests/misc/iframe-beforeunload-dialog-matching-ancestor-securityorigin.html
2021                http/tests/misc/iframe-beforeunload-dialog-not-matching-ancestor-securityorigin.html
2022
2023         * loader/FrameLoader.cpp:
2024         (WebCore::FrameLoader::FrameLoader):
2025         (WebCore::FrameLoader::shouldClose):
2026         (WebCore::FrameLoader::handleBeforeUnloadEvent):
2027         (WebCore::FrameLoader::shouldCloseFiringBeforeUnloadEvent): Renamed from fireBeforeUnloadEvent.
2028           Add logic to enforce "1 beforeunload dialog per navigation" as well as "iframes can only show beforeunload 
2029           dialogs if their entire ancestry's security origins match the navigating frame."
2030         * loader/FrameLoader.h:
2031         * loader/FrameLoader.h:
2032
2033         Add the ability for Page to know when any frame is dispatching beforeunload:
2034         * page/Page.cpp:
2035         (WebCore::Page::Page):
2036         (WebCore::Page::incrementFrameHandlingBeforeUnloadEventCount):
2037         (WebCore::Page::decrementFrameHandlingBeforeUnloadEventCount):
2038         (WebCore::Page::isAnyFrameHandlingBeforeUnloadEvent):
2039         * page/Page.h:
2040
2041         * page/DOMWindow.cpp:
2042         (WebCore::DOMWindow::print): Disallow if any frame is in beforeunload dispatch.
2043         (WebCore::DOMWindow::alert): Ditto.
2044         (WebCore::DOMWindow::confirm): Ditto.
2045         (WebCore::DOMWindow::prompt): Ditto.
2046         (WebCore::DOMWindow::showModalDialog): Ditto.
2047
2048 2013-07-19  Chris Fleizach  <cfleizach@apple.com>
2049
2050         AX: VoiceOver not detecting misspelled words don't work in all cases
2051         https://bugs.webkit.org/show_bug.cgi?id=118924
2052
2053         Reviewed by Tim Horton.
2054
2055         VoiceOver is now looking for a new misspelled attribute.
2056
2057         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2058         (AXAttributeStringSetSpelling):
2059         (AXAttributedStringAppendText):
2060
2061 2013-07-19  Ryosuke Niwa  <rniwa@webkit.org>
2062
2063         Extract computeRenderStyleForProperty and nodeOrItsAncestorNeedsStyleRecalc from ComputedStyleExtractor::propertyValue
2064         https://bugs.webkit.org/show_bug.cgi?id=118930
2065
2066         Reviewed by Andreas Kling.
2067
2068         Extracted two functions as a preparation to fix bugs 118032 and 118618.
2069
2070         * css/CSSComputedStyleDeclaration.cpp:
2071         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
2072         (WebCore::computeRenderStyleForProperty):
2073         (WebCore::ComputedStyleExtractor::propertyValue):
2074
2075 2013-07-19  Andreas Kling  <akling@apple.com>
2076
2077         Cache style declaration CSSOM wrappers directly on MutableStylePropertySet.
2078         <http://webkit.org/b/118883>
2079
2080         Reviewed by Gavin Barraclough
2081
2082         Merge https://chromium.googlesource.com/chromium/blink/+/183bcd51eb0e79cab930cf46695df05dc793630f
2083         From Blink r153700 by <ager@chromium.org>:
2084
2085         In my measurements the mapping is adding more overhead than just having a field
2086         in all MutableStylePropertySet objects. So this saves memory and makes access
2087         faster.
2088
2089         * css/StylePropertySet.cpp:
2090         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
2091         (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
2092         (WebCore::StylePropertySet::hasCSSOMWrapper):
2093         (WebCore::MutableStylePropertySet::cssStyleDeclaration):
2094         (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
2095         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
2096         * css/StylePropertySet.h:
2097         (WebCore::StylePropertySet::StylePropertySet):
2098
2099 2013-07-19  Brent Fulgham  <bfulgham@apple.com>
2100
2101         [Windows] Avoid passing addresses of temporaries to Windows API.
2102         https://bugs.webkit.org/show_bug.cgi?id=118917
2103
2104         Reviewed by Anders Carlsson.
2105
2106         The temporary Vector returned by String::charactersWithNullTermination
2107         was going out of scope before its first use, causing Windows API to
2108         receive garbage memory.
2109
2110         * platform/win/ContextMenuWin.cpp:
2111         (WebCore::ContextMenu::createPlatformContextMenuFromItems):
2112         * platform/win/PasteboardWin.cpp:
2113         (WebCore::createGlobalHDropContent):
2114         * platform/win/SSLKeyGeneratorWin.cpp:
2115         (WebCore::WebCore::signedPublicKeyAndChallengeString):
2116
2117 2013-07-19  Zoltan Horvath  <zoltan@webkit.org>
2118
2119         [CSS Shapes] Remove lineWithinShapeBounds() from ShapeInfo since it's no longer used
2120         https://bugs.webkit.org/show_bug.cgi?id=118913
2121
2122         Reviewed by Andreas Kling.
2123
2124         No new tests, no behavior change.
2125
2126         * rendering/shapes/ShapeInfo.h: Remove lineWithinShapeBounds().
2127
2128 2013-07-19  Alex Christensen  <achristensen@apple.com>
2129
2130         Added x64 configuration to Visual Studio build.
2131         https://bugs.webkit.org/show_bug.cgi?id=118888
2132
2133         Reviewed by Brent Fulgham.
2134
2135         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
2136         * WebCore.vcxproj/WebCore.vcxproj:
2137         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
2138         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
2139
2140 2013-07-19  Abhijeet Kandalkar  <abhijeet.k@samsung.com>
2141
2142         Spatial Navigation handling of space key in <select> appears to confuse listIndex and optionIndex.
2143         https://bugs.webkit.org/show_bug.cgi?id=99525
2144
2145         HTMLSelect Element inherently contains the logic to focus option node and thus, implementing an explicit logic to find the focus index is not required.
2146
2147         Reviewed by Joseph Pecoraro.
2148
2149         Test: fast/spatial-navigation/snav-multiple-select-optgroup.html
2150
2151         * html/HTMLSelectElement.cpp:
2152         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2153         * page/SpatialNavigation.cpp:
2154         (WebCore::canScrollInDirection):
2155         * rendering/RenderListBox.cpp:
2156         (WebCore::RenderListBox::addFocusRingRects):
2157
2158 2013-07-19  David Hyatt  <hyatt@apple.com>
2159
2160         OSX: ePub: Unable to select text in vertical Japanese book
2161         https://bugs.webkit.org/show_bug.cgi?id=118864
2162         <rdar://problem/14109351>
2163
2164         Reviewed by Dan Bernstein and Sam Weinig.
2165
2166         This patch fixes all of the various writing-mode and pagination combinations
2167         so that the columns are painted in the correct location. The code that sets up
2168         the initial painting translation offset in the block direction and that advances
2169         that offset has been pulled into two helper functions, initialBlockOffsetForPainting
2170         and blockDeltaForPaintingNextColumn, and that code is now shared by the four call
2171         sites that need it (painting and hit testing in RenderBlock and painting and hit testing
2172         in RenderLayer).
2173         
2174         This patch also backs out the maximumScrollPosition change, since it only occurred because
2175         of incorrect sizing of the RenderView, and this sizing issue has now been corrected by
2176         ensuring that computeLogicalHeight() always makes sure you are the size of the viewport
2177         and does not shrink you to the column height.
2178         
2179         There was also a race condition that caused pagination to be incorrect if layout occurred
2180         before the html/body renderer that set the writing-mode were available. When this happened,
2181         the writing mode got propagated up to the view, but the column styles didn't get
2182         adjusted to compensate for the writing mode change.
2183
2184         Added tests for every pagination and writing-mode combination in fast/multicol/pagination.
2185
2186         * css/StyleResolver.cpp:
2187         (WebCore::StyleResolver::styleForDocument):
2188         (WebCore::StyleResolver::adjustRenderStyle):
2189         Move setStylesForPaginationMode into RenderStyle and make it a member function. This is
2190         necessary so that the style can be adjusted dynamically to fix the race condition mentioned
2191         above.
2192
2193         * page/FrameView.cpp:
2194         (WebCore::FrameView::maximumScrollPosition):
2195         Back out this change since the symptom it was fixing only occurred because the logical
2196         height of the view was being set incorrectly.
2197
2198         * rendering/RenderBlock.cpp:
2199         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
2200         Patch the column code that sets up the initial page height to use the pagination API's
2201         page height rather than the viewport logical height. This allows the view to still match
2202         the viewport in dimensions rather than being incorrectly sized to the column height.
2203         
2204         (WebCore::RenderBlock::initialBlockOffsetForPainting):
2205         (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
2206         Two new helper functions used to set up the block direction paint/hit testing translation.
2207         The major bug fix that occurred in this code is that the old block axis code didn't handle
2208         reversal correctly and it also used physical coordinates to try to determine the translation
2209         offset, when you really need to use logical coordinates in the original writing mode coordinate
2210         system to determine the offset.
2211
2212         (WebCore::RenderBlock::paintColumnContents):
2213         Patched to call the new helper functions.
2214
2215         (WebCore::ColumnRectIterator::ColumnRectIterator):
2216         (WebCore::ColumnRectIterator::adjust):
2217         (WebCore::ColumnRectIterator::update):
2218         Patched to call the new helper functions.
2219
2220         * rendering/RenderBlock.h:
2221         Add the two new helper functions to the RenderBlock header.
2222
2223         * rendering/RenderBox.cpp:
2224         (WebCore::RenderBox::styleDidChange):
2225         If the writing mode of the html/body propagates to the viewport and changes its writing mode,
2226         also change our column styles to match if we're in paginated mode.
2227
2228         (WebCore::RenderBox::computeLogicalHeight):
2229         (WebCore::RenderBox::computePercentageLogicalHeight):
2230         Call the new pageOrViewLogicalHeight function on RenderView instead of
2231         RenderBox::viewLogicalHeightForPercentages (which is now removed).
2232
2233         * rendering/RenderLayer.cpp:
2234         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2235         (WebCore::RenderLayer::hitTestChildLayerColumns):
2236         Patched to use the two new helper functions for block direction paint offset setup and
2237         advancement.
2238
2239         * rendering/RenderView.cpp:
2240         (WebCore::RenderView::pageOrViewLogicalHeight):
2241         New helper function that does what viewLogicalHeightForPercentages used to do but also
2242         handles returning the page length for block axis column progression. Again, this is to
2243         allow the view to retain its correct size (matching the viewport).
2244
2245         (WebCore::RenderView::viewLogicalHeight):
2246         Back out the code that made the view grow or shrink to the size of the Pagination API page
2247         length when the progression was block axis. This was the source of most of the scroll origin
2248         and scrolling issues.
2249
2250         * rendering/RenderView.h:
2251         Add the new pageOrViewLogicalHeight() function.
2252
2253         * rendering/style/RenderStyle.cpp:
2254         (WebCore::RenderStyle::setColumnStylesFromPaginationMode):
2255         This is the old StyleResolver function for setting up the column styles. It's in RenderStyle
2256         now so that it can be called at any time to change a style rather than only at style resolution
2257         time.
2258
2259         * rendering/style/RenderStyle.h:
2260         Declaration of the setColumnStylesFromPaginationMode function.
2261
2262 2013-07-19  peavo@outlook.com  <peavo@outlook.com>
2263
2264         [Curl] Http response code 401 (Authentication required) is not handled.
2265         https://bugs.webkit.org/show_bug.cgi?id=118849
2266
2267         Reviewed by Brent Fulgham.
2268
2269         The current Curl implementation does not handle a 401 response.
2270         When receiving http code 401, we need to give a notification that authorization is required, by calling the appropriate notification method.
2271         This gives a WebKit client the possibility to present a password dialog to the user.
2272         In response to this, we should provide Curl with the given username and password, so another request can be sent with the given credentials.
2273
2274         * platform/network/ResourceHandle.h:
2275             Added method to check if credential storage should be used.
2276         * platform/network/ResourceHandleInternal.h:
2277             Added member to keep track of number of authentication failures.
2278         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2279         * platform/network/curl/ResourceHandleCurl.cpp:
2280         (WebCore::ResourceHandle::shouldUseCredentialStorage):
2281             Added method to check if credential storage should be used.
2282         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2283             Implement method; notify client when authentication is required.
2284         (WebCore::ResourceHandle::receivedCredential):
2285             Implement method; provide Curl with password and username when available.
2286         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
2287             Implement method; reset Curl username and password.
2288         (WebCore::ResourceHandle::receivedCancellation):
2289             Implement method; notify client that authorization has been cancelled.
2290         * platform/network/curl/ResourceHandleManager.cpp:
2291         (WebCore::isHttpAuthentication):
2292             Added function to check if http code is an 'Authorization required' code.
2293         (WebCore::getProtectionSpace):
2294             Added function to initialize a protection space object from a Curl handle and a response object. 
2295         (WebCore::headerCallback):
2296             Notify client when authorization is required.
2297         (WebCore::ResourceHandleManager::applyAuthenticationToRequest):
2298             Added method to set Curl username and password.
2299         (WebCore::ResourceHandleManager::initializeHandle):
2300             Use method to set Curl username and password.
2301         * platform/network/curl/ResourceHandleManager.h:
2302             Added method to set Curl username and password.
2303
2304 2013-07-19  Radu Stavila  <stavila@adobe.com>
2305
2306         Hover doesn't work for block elements inside a href element
2307         https://bugs.webkit.org/show_bug.cgi?id=118907
2308
2309         Reviewed by David Hyatt.
2310
2311         Added test for hovering block elements inside a href element.
2312
2313         Test: fast/css/hover-display-block.html
2314
2315         * rendering/RenderObject.cpp:
2316         (WebCore::RenderObject::hoverAncestor):
2317
2318 2013-07-19  Zoltan Horvath  <zoltan@webkit.org>
2319
2320         [CSS Shapes] Clear overflowing line's segments in pushShapeContentOverflowBelowTheContentBox
2321         https://bugs.webkit.org/show_bug.cgi?id=118002
2322
2323         Reviewed by David Hyatt.
2324
2325         When the last line in the shape overlaps with the shape bottom boundaries we need to clear the computed segments. (We need to compute
2326         the segments anyway, since shape-outside's code uses the same code path to determine its segments and the line containing is not a
2327         requirement in that case.) Rather then doing the job in RenderBlock::LineBreaker::nextLineBreak I moved the functionality to its correct
2328         place to pushShapeContentOverflowBelowTheContentBox. Now all the overflow related functionality is located in one function. I fixed the
2329         corresponding layout test.
2330
2331         Tests: I modified shape-inside-overflow.html.
2332
2333         * rendering/RenderBlockLineLayout.cpp:
2334         (WebCore::pushShapeContentOverflowBelowTheContentBox): Remove segments if line overlaps with the shape's boundaries.
2335         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Move segments clear logic to pushShapeContentOverflowBelowContentBox.
2336
2337 2013-07-19  Geoffrey Garen  <ggaren@apple.com>
2338
2339         TrailingObjects shouldn't shrink vector capacity in a loop
2340         https://bugs.webkit.org/show_bug.cgi?id=118322
2341
2342         Reviewed by Darin Adler.
2343
2344         This seems to take about 3% off the profile of loading a large text file.
2345
2346         * rendering/RenderBlockLineLayout.cpp:
2347         (WebCore::TrailingObjects::clear): clear() has the built-in side effect
2348         of throwing away existing capacity. Use shrink(0) to indicate that we
2349         want to keep our existing capacity.
2350
2351 2013-07-19  Diego Pino Garcia  <dpino@igalia.com>
2352
2353         [GTK] Merge decamelizations fix ups in the GObject DOM bindings code generator
2354         https://bugs.webkit.org/show_bug.cgi?id=117543
2355
2356         Reviewed by Carlos Garcia Campos.
2357
2358         Ensure that all the code that calls to decamelize() applies the same fix ups
2359
2360         Now all functions that need to decamelize a string should simply call
2361         to decamelize(). This function calls to FixUpDecamelize to apply some
2362         fix ups.
2363
2364         * bindings/scripts/CodeGeneratorGObject.pm:
2365         (decamelize): decamelizes a string and applies fix ups
2366         (FixUpDecamelize): applies a series of fix ups to a decamelized string
2367         (GetParentGObjType): moved fix ups to FixUpDecamelize()
2368         (GenerateProperties): simply call to decamelize
2369         (GenerateHeader): simply call to decamelize
2370         (GetGReturnMacro): simply call to decamelize
2371         (GenerateFunction): simply call to decamelize
2372         (GenerateCFile): simply call to decamelize
2373         (GenerateEventTargetIface): simply call to decamelize
2374
2375 2013-07-19  Kwang Yul Seo  <skyul@company100.net>
2376
2377         Unreviewed.
2378
2379         Fix an assertion failure which causes debug bots to fail.
2380
2381         * platform/network/NetworkStateNotifier.cpp:
2382         (WebCore::NetworkStateNotifier::addNetworkStateChangeListener):
2383
2384 2013-07-19  Miguel Gomez  <magomez@igalia.com>
2385
2386         [GTK] media/video-seek-multiple.html is failing
2387         https://bugs.webkit.org/show_bug.cgi?id=117580
2388
2389         Reviewed by Philippe Normand.
2390
2391         When receiving several seek calls in a row, ensure that the final position
2392         is the one requested in the last call received.
2393
2394         Already covered in test media/video-seek-multiple.html
2395
2396         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2397         (WebCore::MediaPlayerPrivateGStreamer::seek):
2398
2399 2013-07-19  Kangil Han  <kangil.han@samsung.com>
2400
2401         Use explicit HTMLFrameElementBase cast and introduce toHTMLFrameElementBase
2402         https://bugs.webkit.org/show_bug.cgi?id=118873
2403
2404         Reviewed by Ryosuke Niwa.
2405
2406         It should be HTMLFrameElementBase that embraces both HTMLFrameElement and HTMLIFrameElement.
2407         This also makes correct toFooElement possible.
2408         Next, to avoid direct use of static_cast, this patch introduces toHTMLFrameElementBase for code cleanup.
2409
2410         * editing/FrameSelection.cpp:
2411         (WebCore::scanForForm):
2412         * html/HTMLBodyElement.cpp:
2413         (WebCore::HTMLBodyElement::didNotifySubtreeInsertions):
2414         * html/HTMLFrameElementBase.h:
2415         (WebCore::toHTMLFrameElementBase):
2416         * loader/SubframeLoader.cpp:
2417         (WebCore::SubframeLoader::loadSubframe):
2418         * page/EventHandler.cpp:
2419         (WebCore::targetIsFrame):
2420         * page/FrameView.cpp:
2421         (WebCore::FrameView::init):
2422         * rendering/RenderFrameBase.cpp:
2423         (WebCore::RenderFrameBase::layoutWithFlattening):
2424         * rendering/RenderLayer.cpp:
2425         (WebCore::frameElementAndViewPermitScroll):
2426         (WebCore::RenderLayer::scrollRectToVisible):
2427
2428 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2429
2430         Bindings generation tests are failing
2431         https://bugs.webkit.org/show_bug.cgi?id=118877
2432
2433         Reviewed by Kentaro Hara.
2434
2435         I inadvertently removed the wrong part of the if statement
2436         in r152845, causing hasAttribute() to be used unconditionally
2437         for reflected boolean attributes instead of fastHasAttribute().
2438         This patch fixes the issue.
2439
2440         No new tests, covered by bindings tests.
2441
2442         * bindings/scripts/CodeGenerator.pm:
2443         (GetterExpression):
2444
2445 2013-07-18  Kwang Yul Seo  <skyul@company100.net>
2446
2447         WorkerGlobalScope should support onoffline/ononline event handlers
2448         https://bugs.webkit.org/show_bug.cgi?id=118832
2449
2450         Reviewed by Alexey Proskuryakov.
2451
2452         HTML5 spec says that WorkerGlobalScope should support
2453         onoffline/ononline event handlers as stated in
2454         http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#event-offline
2455
2456         Modified NetworkStateNotifier to support multiple callbacks and added a
2457         callback to dispatch offline and online events to WorkerGlobalScope
2458         when network state is changed.
2459
2460         No new test because the current test infrastructure does not provide a
2461         mock network state notifier.
2462
2463         * page/Page.cpp:
2464         (WebCore::networkStateChanged):
2465         Change the function to take an additional argument, isOnLine so that we
2466         can remove a call to NetworkStateNotifier::onLine().
2467         (WebCore::Page::Page):
2468         Use NetworkStateNotifier::addNetworkStateChangeListener which
2469         allows us to add multiple callbacks.
2470
2471         * platform/network/NetworkStateNotifier.cpp:
2472         (WebCore::NetworkStateNotifier::addNetworkStateChangeListener):
2473         Replace NetworkStateNotifier::setNetworkStateChangedFunction with
2474         NetworkStateNotifier::addNetworkStateChangeListener.
2475         (WebCore::NetworkStateNotifier::notifyNetworkStateChange):
2476         A helper method to notify all registered network state change
2477         callbacks.
2478         * platform/network/NetworkStateNotifier.h:
2479         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2480         * platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp:
2481         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2482         (WebCore::NetworkStateNotifier::networkStateChange):
2483         * platform/network/efl/NetworkStateNotifierEfl.cpp:
2484         (WebCore::NetworkStateNotifier::networkInterfaceChanged):
2485         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2486         * platform/network/mac/NetworkStateNotifierMac.cpp:
2487         (WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
2488         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2489         * platform/network/qt/NetworkStateNotifierQt.cpp:
2490         (WebCore::NetworkStateNotifier::updateState):
2491         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2492         * platform/network/win/NetworkStateNotifierWin.cpp:
2493         (WebCore::NetworkStateNotifier::addressChanged):
2494         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2495         Replace m_networkStateChangedFunction() with notifyNetworkStateChange().
2496
2497         * workers/Worker.cpp:
2498         (WebCore::networkStateChanged):
2499         Notify network state change by iterating all Workers.
2500         (WebCore::Worker::Worker):
2501         Initialize allWorkers and add networkStateChanged to
2502         NetworkStateNotifier in first invocation. Add this Worker to
2503         allWorkers.
2504         (WebCore::Worker::~Worker):
2505         Remove this Worker from allWorkers.
2506         (WebCore::Worker::notifyNetworkStateChange):
2507         * workers/Worker.h:
2508         * workers/WorkerGlobalScope.h:
2509         Add onoffline and ononline event handlers.
2510         * workers/WorkerGlobalScope.idl:
2511         Add onoffline and ononline event handlers
2512         * workers/WorkerGlobalScopeProxy.h:
2513
2514         * workers/WorkerMessagingProxy.cpp:
2515         (WebCore::NotifyNetworkStateChangeTask::create):
2516         (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask):
2517         (WebCore::NotifyNetworkStateChangeTask::performTask):
2518         A subclass of ScriptExecutionContext::Task to dispatch offline and
2519         online events to WorkerGlobalScope.
2520         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
2521         Notify network state change using ScriptExecutionContext::postTask to
2522         dispatch events across threads.
2523         * workers/WorkerMessagingProxy.h:
2524
2525 2013-07-18  Ryosuke Niwa  <rniwa@webkit.org>
2526
2527         Build fix after r152876.
2528
2529         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2530         (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
2531
2532 2013-07-18  Brent Fulgham  <bfulgham@apple.com>
2533
2534         [Media] Share more code between Mac and Windows implementation files.
2535         https://bugs.webkit.org/show_bug.cgi?id=118801
2536
2537         Reviewed by Eric Carlson.
2538
2539         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2540         (WebCore::MediaPlayerPrivateAVFoundation::clearTextTracks): Move
2541         implementation from ObjC file to parent file.
2542         (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
2543         Ditto.
2544         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2545         Remove duplicate implementation.
2546         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2547         Ditto.
2548         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2549         Ditto.
2550         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2551         Ditto.
2552         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2553         Ditto.
2554
2555 2013-07-18  Alex Christensen  <achristensen@apple.com>
2556
2557         Fixed compile errors for non-Cairo platforms using EGL.
2558         https://bugs.webkit.org/show_bug.cgi?id=118536
2559
2560         Reviewed by Brent Fulgham.
2561
2562         * platform/graphics/egl/GLContextEGL.cpp: Added #if USE(CAIRO) around cairo.h.
2563         (WebCore::GLContextEGL::~GLContextEGL): Added #if USE(CAIRO) around cairo_device_destroy call. 
2564
2565 2013-07-18  Jer Noble  <jer.noble@apple.com>
2566
2567         New PDFPlugin doesn't support WebKitOmitPDFSupport, acts as if Plug-ins are off
2568         https://bugs.webkit.org/show_bug.cgi?id=118858
2569
2570         Reviewed by Eric Carlson.
2571
2572         Expand the scope of rejecting non video/ or audio/ MIME types when
2573         filling the MIME type cache.
2574
2575         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2576         (WebCore::shouldRejectMIMEType): Added utility function.
2577
2578 2013-07-17  Brent Fulgham  <bfulgham@apple.com>
2579
2580         [Windows] Support in-band text tracks.
2581         https://bugs.webkit.org/show_bug.cgi?id=103770
2582
2583         Reviewed by Eric Carlson.
2584
2585         Existing media tests cover these features.
2586
2587         * WebCore.vcxproj/WebCore.vcxproj: Add new files for Windows captions
2588         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
2589         * config.h: Make sure proper buid flags are turned on when building
2590         with AVCF_LEGIBLE_OUTPUT.
2591         * page/CaptionUserPreferencesMediaAF.cpp: Revise to reduce soft linking
2592         duplication between Mac and Windows.
2593         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Update
2594         to support Windows platform by removing compiler guards and adding
2595         Windows declarations for soft-link functions.
2596         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Ditto.
2597         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2598         Remove build guards preventing Windows from using LegibleOutput
2599         features.
2600         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
2601         (WebCore::MediaPlayerPrivateAVFoundation::seek):
2602         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2603         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
2604         (WebCore::MediaPlayerPrivateAVFoundation::trackModeChanged):
2605         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2606         (WebCore::MediaPlayerPrivateAVFoundation::contentsNeedsDisplay): Ditto
2607         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:
2608         Add new LegibleOutput support functions, and try to reduce duplication
2609         between Windows and Mac soft link declarations.
2610         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Ditto.
2611         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp: Added.
2612         (WebCore::InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF):
2613         (WebCore::InbandTextTrackPrivateAVCF::disconnect):
2614         (WebCore::InbandTextTrackPrivateAVCF::kind):
2615         (WebCore::InbandTextTrackPrivateAVCF::isClosedCaptions):
2616         (WebCore::InbandTextTrackPrivateAVCF::isSDH):
2617         (WebCore::InbandTextTrackPrivateAVCF::containsOnlyForcedSubtitles):
2618         (WebCore::InbandTextTrackPrivateAVCF::isMainProgramContent):
2619         (WebCore::InbandTextTrackPrivateAVCF::isEasyToRead):
2620         (WebCore::InbandTextTrackPrivateAVCF::label):
2621         (WebCore::InbandTextTrackPrivateAVCF::language):
2622         (WebCore::InbandTextTrackPrivateAVCF::isDefault):
2623         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: Added.
2624         (WebCore::InbandTextTrackPrivateAVCF::create):
2625         (WebCore::InbandTextTrackPrivateAVCF::~InbandTextTrackPrivateAVCF):
2626         (WebCore::InbandTextTrackPrivateAVCF::mediaSelectionOption):
2627         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp: Added.
2628         (WebCore::InbandTextTrackPrivateLegacyAVCF::InbandTextTrackPrivateLegacyAVCF):
2629         (WebCore::InbandTextTrackPrivateLegacyAVCF::disconnect):
2630         (WebCore::InbandTextTrackPrivateLegacyAVCF::kind):
2631         (WebCore::InbandTextTrackPrivateLegacyAVCF::isClosedCaptions):
2632         (WebCore::InbandTextTrackPrivateLegacyAVCF::containsOnlyForcedSubtitles):
2633         (WebCore::InbandTextTrackPrivateLegacyAVCF::isMainProgramContent):
2634         (WebCore::InbandTextTrackPrivateLegacyAVCF::isEasyToRead):
2635         (WebCore::InbandTextTrackPrivateLegacyAVCF::label):
2636         (WebCore::InbandTextTrackPrivateLegacyAVCF::language):
2637         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h: Added.
2638         (WebCore::InbandTextTrackPrivateLegacyAVCF::create):
2639         (WebCore::InbandTextTrackPrivateLegacyAVCF::~InbandTextTrackPrivateLegacyAVCF):
2640         (WebCore::InbandTextTrackPrivateLegacyAVCF::avPlayerItemTrack):
2641         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2642         Update to support LegibleOutput features for the Windows port.
2643         (WebCore::AVFWrapper::currentTrack): Added.
2644         (WebCore::AVFWrapper::legibleOutput): Added.
2645         (WebCore::createMetadataKeyNames): Added missing key names.
2646         (WebCore::avLegibleOutput): Added.
2647         (WebCore::safeMediaSelectionGroupForLegibleMedia): Added.
2648         (WebCore::MediaPlayerPrivateAVFoundationCF::cancelLoad): Clear text
2649         tracks when cancelling.
2650         (WebCore::MediaPlayerPrivateAVFoundationCF::setCurrentTrack): Added.
2651         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTrack): Added.
2652         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration): Revised
2653         to match logic in Objective C implementation.
2654         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime): Revised
2655         to match logic in Objective C implementation.
2656         (WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext):
2657         Check presence of metadata before proceeding. Revised to match logic
2658         in Objective C implementation.
2659         (WebCore::MediaPlayerPrivateAVFoundationCF::paint): Ditto.
2660         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged): Update for
2661         in-band text tracks.
2662         (WebCore::MediaPlayerPrivateAVFoundationCF::clearTextTracks): Added.
2663         (WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
2664         Added.
2665         (WebCore::MediaPlayerPrivateAVFoundationCF::processNewAndRemovedTextTracks):
2666         Added.
2667         (WebCore::MediaPlayerPrivateAVFoundationCF::processMediaSelectionOptions):
2668         Added.
2669         (WebCore::AVFWrapper::setCurrentTrack): Added.
2670         (WebCore::MediaPlayerPrivateAVFoundationCF::languageOfPrimaryAudioTrack):
2671         Added.
2672         (WebCore::AVFWrapper::AVFWrapper): Add new initializers.
2673         (WebCore::AVFWrapper::~AVFWrapper): Clean up text track information.
2674         (WebCore::AVFWrapper::createPlayer): Add Legible Output support.
2675         (WebCore::AVFWrapper::createPlayerItem): Ditto.
2676         (WebCore::LegibleOutputData::LegibleOutputData): Added.
2677         (WebCore::AVFWrapper::processCue): Added.
2678         (WebCore::AVFWrapper::legibleOutputCallback): Added.
2679         (WebCore::AVFWrapper::safeMediaSelectionGroupForLegibleMedia): Added.
2680         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2681         Update to support LegibleOutput features for the Windows port.
2682         * platform/win/SoftLinking.h: Change signature of variable accessor
2683         to match Mac so reduce duplicate code.
2684
2685 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2686
2687         Make atob() / btoa() argument non optional
2688         https://bugs.webkit.org/show_bug.cgi?id=118844
2689
2690         Reviewed by Kentaro Hara.
2691
2692         According to the latest specification, the argument to atob() / btoa()
2693         should not be optional:
2694         http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#windowbase64
2695
2696         This patch makes WebKit behave according to the specification. The argument
2697         is also mandatory in Firefox, IE10 and Blink.
2698
2699         atob() / btoa() are also moved to their own WindowBase64 interface which
2700         the Window interface implements. This does not change the behavior but
2701         this is closer to the specification and it will make exposing those
2702         methods to workers easier later on.
2703
2704         No new tests, already covered by:
2705         fast/dom/Window/atob-btoa.html
2706
2707         * CMakeLists.txt:
2708         * DerivedSources.make:
2709         * DerivedSources.pri:
2710         * GNUmakefile.list.am:
2711         * page/DOMWindow.idl:
2712         * page/WindowBase64.idl: Added.
2713
2714 2013-07-18  Antoine Quint  <graouts@apple.com>
2715
2716         Crash in WebCore::createMarkup()
2717         https://bugs.webkit.org/show_bug.cgi?id=118847
2718
2719         Reviewed by Ryosuke Niwa.
2720
2721         Also check that we have a containingBlock() for the renderer() so that we
2722         may safely call node() on it.
2723
2724         * editing/markup.cpp:
2725         (WebCore::highestAncestorToWrapMarkup):
2726
2727 2013-07-18  Praveen R Jadhav  <praveen.j@samsung.com>
2728
2729         Only the first call to 'stop' method of AudioBufferSourceNode must be entertained.
2730         https://bugs.webkit.org/show_bug.cgi?id=118776
2731
2732         Reviewed by Jer Noble.
2733
2734         Subsequent calls to 'stop' for a AudioSourceBufferNode throws an exception.
2735         End time set by first 'stop' method is used for processing.
2736
2737         No new tests. audiobuffersource-exception.html is updated.
2738
2739         * Modules/webaudio/AudioScheduledSourceNode.cpp:
2740         (WebCore::AudioScheduledSourceNode::stop):
2741
2742 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2743
2744         Simplify SVG animated type handling in the JSC bindings generator
2745         https://bugs.webkit.org/show_bug.cgi?id=118845
2746
2747         Reviewed by Kentaro Hara.
2748
2749         Simplify IsSVGAnimatedType subroutine in the bindings generator so that
2750         we no longer need to hardcode SVG animated types. Also remove the
2751         CanUseFastAttribute subroutine as it is equivalent to IsSVGAnimatedType.
2752         This allows us to simplify the GetterExpression subroutine so that
2753         we can use fastHasAttribute() unconditionally for boolean type.
2754
2755         No new tests, no behavior change.
2756
2757         * bindings/scripts/CodeGenerator.pm:
2758         (IsSVGAnimatedType):
2759         (GetterExpression):
2760
2761 2013-07-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2762
2763         Use [ImplementedAs] instead of special casing in the bindings generators
2764         https://bugs.webkit.org/show_bug.cgi?id=118848
2765
2766         Reviewed by Kentaro Hara.
2767
2768         In several instances, special casing were used in the bindings generator to avoid
2769         name clashes in the implementation. The [ImplementedBy] IDL extended attribute is
2770         meant to solve this issue so we now use it instead.
2771
2772         No new tests, no behavior change.
2773
2774         * bindings/scripts/CodeGenerator.pm:
2775         (WK_ucfirst):
2776         (AttributeNameForGetterAndSetter):
2777         * bindings/scripts/CodeGeneratorJS.pm:
2778         (GenerateImplementation):
2779         (NativeToJSValue):
2780         * bindings/scripts/CodeGeneratorObjC.pm:
2781         (GenerateHeader):
2782         (GenerateImplementation):
2783         * svg/SVGAElement.idl:
2784         * svg/SVGFECompositeElement.cpp:
2785         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2786         (WebCore::SVGFECompositeElement::parseAttribute):
2787         (WebCore::SVGFECompositeElement::setFilterEffectAttribute):
2788         (WebCore::SVGFECompositeElement::build):
2789         * svg/SVGFECompositeElement.h:
2790         * svg/SVGFECompositeElement.idl:
2791         * svg/SVGFEMorphologyElement.cpp:
2792         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
2793         (WebCore::SVGFEMorphologyElement::parseAttribute):
2794         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
2795         (WebCore::SVGFEMorphologyElement::build):
2796         * svg/SVGFEMorphologyElement.h:
2797         * svg/SVGFEMorphologyElement.idl:
2798         * svg/SVGTransform.cpp:
2799         (WebCore::SVGTransform::updateSVGMatrix):
2800         * svg/SVGTransform.h:
2801         * svg/SVGTransform.idl:
2802
2803 2013-07-18  Zalan Bujtas  <zalan@apple.com>
2804
2805         Incorrect calculated width for mspace.
2806         https://bugs.webkit.org/show_bug.cgi?id=118601
2807
2808         Reviewed by Chris Fleizach.
2809
2810         Use intrinsic logical widths to size <mspace> properly.
2811         This patch also fixes an assert on isPreferredLogicalHeightDirty() which occurs
2812         while layouting <mspace>. The assert fix is required, so that the sizing can be
2813         fixed.
2814
2815         Test: mathml/presentation/mspace-prefered-width.html
2816
2817         * rendering/mathml/RenderMathMLBlock.cpp:
2818         (WebCore::parseMathMLLength): switch to LayoutUnits.
2819         (WebCore::parseMathMLNamedSpace): switch to LayoutUnits.
2820         * rendering/mathml/RenderMathMLBlock.h:
2821         * rendering/mathml/RenderMathMLFraction.cpp:
2822         (WebCore::RenderMathMLFraction::updateFromElement):
2823         * rendering/mathml/RenderMathMLFraction.h:
2824         * rendering/mathml/RenderMathMLSpace.cpp:
2825         (WebCore::RenderMathMLSpace::computeIntrinsicLogicalWidths):
2826         * rendering/mathml/RenderMathMLSpace.h:
2827
2828 2013-07-18  Ryosuke Niwa  <rniwa@webkit.org>
2829
2830         willWriteSelectionToPasteboard and willPerformDragSourceAction editing callbacks are not called for drag and drop
2831         https://bugs.webkit.org/show_bug.cgi?id=118828
2832
2833         Reviewed by Gavin Barraclough.
2834
2835         Call these two callbacks when we start a drag and drop.
2836
2837         No new tests for now but we should start logging these callbacks in DRT and WTR's EditorClients.
2838
2839         * page/DragController.cpp:
2840         (WebCore::DragController::startDrag):
2841
2842 2013-07-18  Santosh Mahto  <santosh.ma@samsung.com>
2843
2844         ASSERTION FAILED: !listItems().size() || m_activeSelectionAnchorIndex >= 0 in WebCore::HTMLSelectElement::updateListBoxSelection
2845         https://bugs.webkit.org/show_bug.cgi?id=118591
2846
2847         Reviewed by Kent Tamura.
2848
2849         Test: fast/forms/select/selectall-command-crash.html
2850
2851         * html/HTMLSelectElement.cpp:
2852         (WebCore::HTMLSelectElement::selectAll):
2853         We should return this function if activeSelectionAnchorIndex is not valid index
2854
2855 2013-07-18  Ryuan Choi  <ryuan.choi@samsung.com>
2856
2857         [EFL] Refactor spin.edc not to use offset
2858         https://bugs.webkit.org/show_bug.cgi?id=118830
2859
2860         Reviewed by Gyuyoung Kim.
2861
2862         EDJE allows offset to specify the pixel based position,
2863         but it's not good way if you want to locate object like arrow top or bottom.
2864
2865         Instead, this patch uses align property.
2866
2867         * platform/efl/DefaultTheme/widget/spinner/spinner.edc:
2868
2869 2013-07-18  Nick Diego Yamane  <nick.yamane@openbossa.org>
2870
2871         [gstreamer] Avoid calls to g_slist_index in webKitWebAudioSrcLoop()
2872         https://bugs.webkit.org/show_bug.cgi?id=118827
2873
2874         Reviewed by Philippe Normand.
2875
2876         webKitWebAudioSrcLoop() currently calls g_slist_index for each element 
2877         to get its index in a list it's iterating over. g_list_index function uses
2878         a sequential search to find that element, which is clearly unecessary.
2879         This patch adds a local variable to store the current index and use it 
2880         instead of calling g_slist_index function.
2881
2882         No new tests, no behavior changes.
2883
2884         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2885         (webKitWebAudioSrcLoop):
2886
2887 2013-07-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2888
2889         Introduce toSVGInlineFlowBox() and use it
2890         https://bugs.webkit.org/show_bug.cgi?id=118794
2891
2892         Reviewed by Andreas Kling.
2893
2894         As a step to change static_cast with toSVGXXX, static_cast<SVGInlineFlowBox*> can
2895         be changed with toSVGInlineFlowBox().
2896
2897         Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=154385
2898
2899         No new tests, no behavior change.
2900
2901         * rendering/svg/SVGInlineFlowBox.cpp:
2902         (WebCore::SVGInlineFlowBox::paintSelectionBackground):
2903         * rendering/svg/SVGInlineFlowBox.h:
2904         (WebCore::toSVGInlineFlowBox):
2905         * rendering/svg/SVGRootInlineBox.cpp:
2906         (WebCore::SVGRootInlineBox::paint):
2907         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
2908         (WebCore::SVGRootInlineBox::layoutChildBoxes):
2909
2910 2013-07-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2911
2912         Use toSVGMarkerElement() instead of static_cast<>
2913         https://bugs.webkit.org/show_bug.cgi?id=118800
2914
2915         Reviewed by Andreas Kling.
2916
2917         Though there is toSVGMarkerElement(), some files still use static_cast<SVGMarkerElement*>.
2918         To remove all static_cast<> use, we need to change argument from SVGElement to Node.
2919
2920         No new tests, no behavior changes.
2921
2922         * rendering/svg/RenderSVGResourceMarker.cpp:
2923         (WebCore::RenderSVGResourceMarker::referencePoint):
2924         (WebCore::RenderSVGResourceMarker::angle):
2925         (WebCore::RenderSVGResourceMarker::markerTransformation):
2926         (WebCore::RenderSVGResourceMarker::viewportTransform):
2927         (WebCore::RenderSVGResourceMarker::calcViewport):
2928         * rendering/svg/RenderSVGResourceMarker.h:
2929         (WebCore::RenderSVGResourceMarker::markerUnits):
2930         * svg/SVGMarkerElement.h:
2931         (WebCore::toSVGMarkerElement):
2932
2933 2013-07-17  Jacky Jiang  <zhajiang@blackberry.com>
2934
2935         Dereference null pointer crash in Length::decrementCalculatedRef()
2936         https://bugs.webkit.org/show_bug.cgi?id=118686
2937
2938         Reviewed by Simon Fraser.
2939
2940         Length(Calculated) won't insert any CalculationValue to CalculationValueHandleMap;
2941         therefore, we dereference null CalculationValue pointer when the temporary
2942         Length object goes out of the scope.
2943         Length(Calculated) is not allowed as it doesn't make sense that we construct
2944         a Calculated Length object with uninitialized calc expression.
2945         The code just wants to blend with zero. To fix the bug, we can just blend
2946         with Length(0, Fixed) here as we currently can blend different type units
2947         and zero has the same behavior regardless of unit.
2948
2949         Test: transitions/transition-transform-translate-calculated-length-crash.html
2950
2951         * platform/graphics/transforms/TranslateTransformOperation.cpp:
2952         (WebCore::TranslateTransformOperation::blend):
2953
2954 2013-07-17  Tim Horton  <timothy_horton@apple.com>
2955
2956         Update blocked/missing plug-in UI
2957         https://bugs.webkit.org/show_bug.cgi?id=118347
2958         <rdar://problem/14209318>
2959
2960         Reviewed by Sam Weinig.
2961
2962         * WebCore.exp.in:
2963         Export RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription.
2964
2965         * rendering/RenderEmbeddedObject.cpp:
2966         (WebCore::replacementTextRoundedRectPressedColor):
2967         (WebCore::replacementTextRoundedRectColor):
2968         (WebCore::replacementTextColor):
2969         Change colors to new design and add some more constants.
2970
2971         (WebCore::shouldUnavailablePluginMessageBeButton): Added.
2972
2973         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Added.
2974         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
2975         Call through to the -WithDescription variant.
2976
2977         (WebCore::RenderEmbeddedObject::paintReplaced):
2978         Fill the background, and otherwise match the new design.
2979
2980         (WebCore::addReplacementArrowPath):
2981         Add an arrow to the given path, inside the given rect.
2982
2983         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
2984         Add a 1px padding to the bottom of the text.
2985         Add a circle and an arrow into the indicator as per the new design.
2986
2987         (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
2988         Hit-test the indicator arrow as well; otherwise, the fact that the arrow
2989         is a hole in the path means it won't be hit.
2990
2991         * rendering/RenderEmbeddedObject.h:
2992
2993 2013-07-17  Commit Queue  <commit-queue@webkit.org>
2994
2995         Unreviewed, rolling out r152701, r152703, r152739, r152754,
2996         and r152756.
2997         http://trac.webkit.org/changeset/152701
2998         http://trac.webkit.org/changeset/152703
2999         http://trac.webkit.org/changeset/152739
3000         http://trac.webkit.org/changeset/152754
3001         http://trac.webkit.org/changeset/152756
3002         https://bugs.webkit.org/show_bug.cgi?id=118821
3003
3004         this was a buggy fix and we're going to try something
3005         different (Requested by thorton on #webkit).
3006
3007         * CMakeLists.txt:
3008         * DerivedSources.make:
3009         * DerivedSources.pri:
3010         * GNUmakefile.am:
3011         * WebCore.exp.in:
3012         * WebCore.vcxproj/WebCore.vcxproj:
3013         * WebCore.vcxproj/WebCore.vcxproj.filters:
3014         * WebCore.xcodeproj/project.pbxproj:
3015         * css/CSSDefaultStyleSheets.cpp:
3016         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
3017         * css/unavailablePlugIns.css: Removed.
3018         * dom/EventListener.h:
3019         * html/HTMLAppletElement.cpp:
3020         (WebCore::HTMLAppletElement::updateWidget):
3021         * html/HTMLPlugInElement.cpp:
3022         (WebCore::HTMLPlugInElement::defaultEventHandler):
3023         * html/HTMLPlugInImageElement.cpp:
3024         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3025         * loader/SubframeLoader.cpp:
3026         (WebCore::SubframeLoader::createJavaAppletWidget):
3027         * page/ChromeClient.h:
3028         (WebCore::ChromeClient::shouldUnavailablePluginMessageBeButton):
3029         * rendering/RenderEmbeddedObject.cpp:
3030         (WebCore::replacementTextRoundedRectPressedColor):
3031         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
3032         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
3033         (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed):
3034         (WebCore::RenderEmbeddedObject::paint):
3035         (WebCore::RenderEmbeddedObject::paintReplaced):
3036         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
3037         (WebCore::RenderEmbeddedObject::replacementTextRect):
3038         (WebCore::RenderEmbeddedObject::isReplacementObscured):
3039         (WebCore::RenderEmbeddedObject::layout):
3040         (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
3041         (WebCore::shouldUnavailablePluginMessageBeButton):
3042         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
3043         (WebCore::RenderEmbeddedObject::getCursor):
3044         (WebCore::RenderEmbeddedObject::canHaveChildren):
3045         * rendering/RenderEmbeddedObject.h:
3046         * rendering/RenderWidget.h:
3047
3048 2013-07-17  Simon Fraser  <simon.fraser@apple.com>
3049
3050         Optimize RenderLayerCompositor's OverlapMap
3051         https://bugs.webkit.org/show_bug.cgi?id=118764
3052
3053         Reviewed by Tim Horton.
3054
3055         Overlap stack items can have RectLists with hundreds of rectangles.
3056         This makes the linear search in OverlapMap::overlapsLayers() very slow.
3057         
3058         Optimize by storing the bounding rect of the list of rects, and doing an early
3059         check on that. This reduces time spent in RenderLayer::scrollTo() by 13% in some
3060         content with lots of layers inside an overflow:scroll.
3061
3062         * rendering/RenderLayerCompositor.cpp:
3063         (WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
3064         (WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
3065         (WebCore::RenderLayerCompositor::OverlapMap::RectList::append):
3066         (WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects):
3067
3068 2013-07-17  Bem Jones-Bey  <bjonesbe@adobe.com>
3069
3070         [CSS Shapes] Port refactoring of shape-outside code from Blink
3071         https://bugs.webkit.org/show_bug.cgi?id=118757
3072
3073         Reviewed by Dean Jackson.
3074
3075         Refactor the left and right offset methods to reduce the number of
3076         arguments by splitting the methods into smaller methods. This
3077         refactoring was requested as part of porting support for stacked
3078         floats with shape-outside to Blink.
3079
3080         Also add a variable when calling computeSegmentsForLine to make it
3081         more readable and easier to follow the coordinate system change.
3082
3083         No new tests, no behavior change.
3084
3085         * rendering/RenderBlock.cpp:
3086         (WebCore::RenderBlock::computeLogicalLocationForFloat): Update to use
3087             the refactored IgnoringShapeOutside methods.
3088         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine): New method to
3089             compute the offset contributed by left floats.
3090         (WebCore::RenderBlock::adjustLogicalLeftOffsetForLine): New method to
3091             compute misc adjustments to the left offset.
3092         (WebCore::RenderBlock::logicalRightFloatOffsetForLine): New method to
3093             compute the offset contributed by right floats.
3094         (WebCore::RenderBlock::adjustLogicalRightOffsetForLine): New method to
3095             compute misc adjustments to the right offset.
3096         * rendering/RenderBlock.h:
3097         (WebCore::RenderBlock::logicalRightOffsetForLine): Implement original
3098             method in terms of the float offset computation method and the
3099             offset adjustment method. This method takes into account the
3100             shape-outside on any floats when computing the offset.
3101         (WebCore::RenderBlock::logicalLeftOffsetForLine): Ditto.
3102         (WebCore::RenderBlock::logicalRightOffsetForLineIgnoringShapeOutside):
3103             Compute the right offset as if there was no shape-outside on any
3104             of the floats.
3105         (WebCore::RenderBlock::logicalLeftOffsetForLineIgnoringShapeOutside):
3106             Compute the left offset as if there was no shape-outside on any
3107             of the floats.
3108         * rendering/RenderBlockLineLayout.cpp:
3109         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Update
3110             to use a variable to make the calls to computeSegmentsForLine more
3111             explicit about the coordinate system conversion.
3112
3113 2013-07-17  Zalan Bujtas  <zalan@apple.com>
3114
3115         Wrong linebox height, when block element parent has vertical-align property defined.
3116         https://bugs.webkit.org/show_bug.cgi?id=118245
3117
3118         Reviewed by David Hyatt.
3119
3120         Do not push the current element to the next, when it is still considered empty, even with
3121         some object(s) in front. Behave as if it was actually empty.
3122         Inline elements like <span></span> generate such lines.
3123
3124         Test: fast/css/empty-span-with-parent-div-and-vertical-align.html
3125
3126         * rendering/RenderBlockLineLayout.cpp:
3127         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3128
3129 2013-07-17  Andreas Kling  <akling@apple.com>
3130
3131         CSS selector list splitting should be by component, not by selector.
3132         <http://webkit.org/b/118761>
3133         <rdar://problem/14421609>
3134
3135         Reviewed by Antti Koivisto.
3136
3137         Test (amended): fast/css/rule-selector-overflow.html
3138
3139         * css/CSSSelectorList.h:
3140         * css/CSSSelectorList.cpp:
3141         (WebCore::CSSSelectorList::CSSSelectorList):
3142         (WebCore::CSSSelectorList::componentCount):
3143         * css/CSSStyleRule.cpp:
3144         (WebCore::CSSStyleRule::setSelectorText):
3145
3146             Renamed CSSSelectorList::length() to componentCount() and made it public.
3147
3148         * css/RuleSet.h:
3149
3150             maximumSelectorCount => maximumSelectorComponentCount
3151
3152         * css/StyleRule.cpp:
3153         (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
3154
3155             Make the splits after accumulating 'maximumSelectorComponentCount' components.
3156
3157         * css/StyleRule.h:
3158         * css/StyleSheetContents.cpp:
3159         (WebCore::StyleSheetContents::parserAppendRule):
3160
3161             splitIntoMultipleRulesWithMaximumSelectorCount => splitIntoMultipleRulesWithMaximumSelectorComponentCount
3162
3163 2013-07-17  Rob Buis  <rwlbuis@webkit.org>
3164
3165         [Mac] REGRESSION(r152685): svg/custom/xlink-prefix-in-attributes.html failed unexpectedly
3166         https://bugs.webkit.org/show_bug.cgi?id=118701
3167
3168         Reviewed by Ryosuke Niwa.
3169
3170         Use the computed attribute prefix, otherwise href being in xlink namespace but not having any prefix
3171         will cause outputting the xlink namespace in appendNamespace.
3172
3173         Patch fixes svg/custom/xlink-prefix-in-attributes.html.
3174
3175         * editing/MarkupAccumulator.cpp:
3176         (WebCore::MarkupAccumulator::appendAttribute):
3177
3178 2013-07-17  Chris Fleizach  <cfleizach@apple.com>
3179
3180         Regression: columnheader/rowheader roles not exposed correctly
3181         https://bugs.webkit.org/show_bug.cgi?id=113628
3182
3183         Reviewed by Tim Horton.
3184
3185         When we determine the row and column headers we look at the ARIA role being returned, but
3186         since TableCell overrides the determineAccessibilityRole method, the ARIA role is never set.
3187
3188         Test: platform/mac/accessibility/aria-columnrowheaders.html
3189
3190         * accessibility/AccessibilityTableCell.cpp:
3191         (WebCore::AccessibilityTableCell::determineAccessibilityRole):
3192
3193 2013-07-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3194
3195         Get rid of SVGPoint special case from the bindings generator
3196         https://bugs.webkit.org/show_bug.cgi?id=118783
3197
3198         Reviewed by Kentaro Hara.
3199
3200         Get rid of SVGPoint special case from the bindings generator by adding a
3201         new SVGPoint.h header that contains a typedef to FloatPoint.
3202
3203         Also use SVGPoint type in the implementation API for consistency with
3204         the IDL.
3205
3206         No new tests, no behavior change.
3207
3208         * bindings/scripts/CodeGenerator.pm:
3209         (SkipIncludeHeader):
3210         * bindings/scripts/test/JS/JSTestObj.cpp:
3211         (WebCore::jsTestObjMutablePoint):
3212         (WebCore::jsTestObjImmutablePoint):
3213         (WebCore::setJSTestObjMutablePoint):
3214         (WebCore::setJSTestObjImmutablePoint):
3215         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
3216         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
3217         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3218         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
3219         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3220         (-[DOMTestObj mutablePoint]):
3221         (-[DOMTestObj immutablePoint]):
3222         (-[DOMTestObj mutablePointFunction]):
3223         (-[DOMTestObj immutablePointFunction]):
3224         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
3225         (-[DOMTestTypedefs immutablePointFunction]):
3226         * rendering/svg/RenderSVGRoot.cpp:
3227         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
3228         * rendering/svg/SVGTextQuery.cpp:
3229         (WebCore::SVGTextQuery::startPositionOfCharacter):
3230         (WebCore::SVGTextQuery::endPositionOfCharacter):
3231         (WebCore::SVGTextQuery::characterNumberAtPosition):
3232         * rendering/svg/SVGTextQuery.h:
3233         * svg/SVGPathElement.cpp:
3234         (WebCore::SVGPathElement::getPointAtLength):
3235         * svg/SVGPathElement.h:
3236         * svg/SVGPathTraversalStateBuilder.cpp:
3237         (WebCore::SVGPathTraversalStateBuilder::currentPoint):
3238         * svg/SVGPathTraversalStateBuilder.h:
3239         * svg/SVGPathUtilities.cpp:
3240         (WebCore::getPointAtLengthOfSVGPathByteStream):
3241         * svg/SVGPathUtilities.h:
3242         * svg/SVGPoint.h: Added.
3243         * svg/SVGPointList.cpp:
3244         (WebCore::SVGPointList::valueAsString):
3245         * svg/SVGPointList.h:
3246         * svg/SVGSVGElement.cpp:
3247         (WebCore::SVGSVGElement::createSVGPoint):
3248         * svg/SVGSVGElement.h:
3249         * svg/SVGTextContentElement.cpp:
3250         (WebCore::SVGTextContentElement::getStartPositionOfChar):
3251         (WebCore::SVGTextContentElement::getEndPositionOfChar):
3252         (WebCore::SVGTextContentElement::getCharNumAtPosition):
3253         * svg/SVGTextContentElement.h:
3254         * svg/SVGZoomEvent.cpp:
3255         (WebCore::SVGZoomEvent::previousTranslate):
3256         (WebCore::SVGZoomEvent::newTranslate):
3257         * svg/SVGZoomEvent.h:
3258
3259 2013-07-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3260
3261         [GStreamer] webkitwebsrc: use SubResourceLoader
3262         https://bugs.webkit.org/show_bug.cgi?id=73743
3263
3264         Reviewed by Philippe Normand.
3265
3266         * GNUmakefile.list.am: Add new files to compilation.
3267         * PlatformEfl.cmake: Ditto.
3268         * PlatformGTK.cmake: Ditto.
3269         * loader/SubresourceLoader.h: Add getOrCreateReadBuffer() when
3270         using SOUP.
3271         * loader/cache/CachedRawResource.h:
3272         * loader/cache/CachedRawResourceClient.h:
3273         (WebCore::CachedRawResourceClient::getOrCreateReadBuffer): Added
3274         to allow the client to allocate the read buffer.
3275         * loader/cache/CachedResource.h:
3276         (WebCore::CachedResource::getOrCreateReadBuffer):
3277         * loader/soup/CachedRawResourceSoup.cpp: Added.
3278         (WebCore::CachedRawResource::getOrCreateReadBuffer): Iterate the
3279         clients until one returns a valid read buffer or return NULL to
3280         fallback to the default read buffer.
3281         * loader/soup/SubresourceLoaderSoup.cpp: Added.
3282         (WebCore::SubresourceLoader::getOrCreateReadBuffer): Call
3283         CachedResource::getOrCreateReadBuffer().
3284         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3285         (StreamingClient): Make this a CachedRawResourceClient.
3286         (_WebKitWebSrcPrivate): Remove frame and resourceHandle and add a
3287         cached resource handle.
3288         (webKitWebSrcDispose): Clear the player pointer.
3289         (webKitWebSrcStop): Remove the client from the cached resource.
3290         (webKitWebSrcStart): Use CachedResourceLoader to schedule a
3291         CachedRawResource load for the media without buffering the data.
3292         (webKitWebSrcNeedDataMainCb): Call CachedResource::setDefersLoading.
3293         (webKitWebSrcEnoughDataMainCb): Ditto.
3294         (webKitWebSrcSetMediaPlayer): Simply update the player pointer.
3295         (StreamingClient::responseReceived): Update to the
3296         CachedRawResourceClient API.
3297         (StreamingClient::dataReceived): Ditto.
3298         (StreamingClient::getOrCreateReadBuffer): Ditto.
3299         (StreamingClient::notifyFinished): Ditto.
3300
3301 2013-07-17  Kwang Yul Seo  <skyul@company100.net>
3302
3303         Remove unused member variable m_domURL from WorkerGlobalScope
3304         https://bugs.webkit.org/show_bug.cgi?id=118784
3305
3306         Reviewed by Christophe Dumez.
3307
3308         WorkerContext::webkitURL() was removed in r107082, and this was the
3309         only place where the member variable |m_domURL| in WorkerContext was
3310         mutated. This variable is no longer needed and so it should be removed.
3311
3312         No behavior change.
3313
3314         * workers/WorkerGlobalScope.h:
3315
3316 2013-07-17  Mihai Maerean  <mmaerean@adobe.com>
3317
3318         ASSERTION FAILED: layoutState->m_renderer == this in WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage
3319         https://bugs.webkit.org/show_bug.cgi?id=118587
3320
3321         Reviewed by David Hyatt.
3322
3323         The fix consists in not calling containingBlockLogicalHeightForPositioned for flow threads (in
3324         RenderBox::availableLogicalHeightUsing) as it gets to handle the RenderView as it would have been flowed into
3325         the flow thread.
3326
3327         Test: fast/regions/crash-div-outside-body-vertical-rl.html
3328
3329         * rendering/RenderBox.cpp:
3330         (WebCore::RenderBox::availableLogicalHeightUsing):
3331
3332 2013-07-17  Kangil Han  <kangil.han@samsung.com>
3333
3334         Use toHTMLMediaElement
3335         https://bugs.webkit.org/show_bug.cgi?id=118727
3336
3337         Reviewed by Ryosuke Niwa.
3338
3339         To avoid direct use of static_cast, this patch uses toHTMLMediaElement for code cleanup.
3340
3341         * bindings/js/JSHTMLMediaElementCustom.cpp:
3342         (WebCore::JSHTMLMediaElement::setController):
3343         * html/HTMLMediaElement.h:
3344         (WebCore::toHTMLMediaElement):
3345         * html/HTMLSourceElement.cpp:
3346         (WebCore::HTMLSourceElement::insertedInto):
3347         (WebCore::HTMLSourceElement::removedFrom):
3348         * html/HTMLTrackElement.cpp:
3349         (WebCore::HTMLTrackElement::removedFrom):
3350         (WebCore::HTMLTrackElement::mediaElement):
3351         * html/shadow/MediaControlElementTypes.cpp:
3352         (WebCore::toParentMediaElement):
3353         * loader/SubframeLoader.cpp:
3354         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
3355         * page/FrameView.cpp:
3356         (WebCore::FrameView::updateWidget):
3357         * platform/efl/RenderThemeEfl.cpp:
3358         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
3359         (WebCore::RenderThemeEfl::paintMediaMuteButton):
3360         (WebCore::RenderThemeEfl::paintMediaToggleClosedCaptionsButton):
3361         * platform/graphics/wince/MediaPlayerProxy.cpp:
3362         (WebCore::WebMediaPlayerProxy::initEngine):
3363         (WebCore::WebMediaPlayerProxy::element):
3364         * platform/gtk/RenderThemeGtk.cpp:
3365         (WebCore::getMediaElementFromRenderObject):
3366         * rendering/HitTestResult.cpp:
3367         (WebCore::HitTestResult::mediaElement):
3368         * rendering/RenderLayerBacking.cpp:
3369         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3370         * rendering/RenderLayerCompositor.cpp:
3371         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
3372         * rendering/RenderMedia.cpp:
3373         (WebCore::RenderMedia::mediaElement):
3374         * rendering/RenderThemeMac.mm:
3375         (WebCore::RenderThemeMac::paintMediaSliderTrack):
3376         * rendering/RenderThemeWinCE.cpp:
3377         (WebCore::mediaElementParent):
3378         * testing/Internals.cpp:
3379         (WebCore::Internals::simulateAudioInterruption):
3380
3381 2013-07-16  Ryuan Choi  <ryuan.choi@samsung.com>
3382
3383         Remove Platform(EFL) guard from Widget::frameRectsChanged
3384         https://bugs.webkit.org/show_bug.cgi?id=118782
3385
3386         Reviewed by Christophe Dumez.
3387
3388         Since r58487, Widget::frameRectsChanged was moved to cpp and guarded.
3389         But we can move back to header because WebKit/Efl refactored related code in r145710.
3390
3391         No new tests, refactoring.
3392
3393         * platform/Widget.cpp: Removed platform guard and move frameRectsChangd() back to header.
3394         * platform/Widget.h:
3395         (WebCore::Widget::frameRectsChanged):
3396         * platform/efl/WidgetEfl.cpp:
3397
3398 2013-07-16  Alex Christensen  <achristensen@apple.com>
3399
3400         Update ANGLE to r2426.
3401         https://bugs.webkit.org/show_bug.cgi?id=118550
3402
3403         Reviewed by Dean Jackson.
3404
3405         * CMakeLists.txt: Renamed DetectRecursion to DetectCallDepth and added builtin_symbol_table.
3406
3407 2013-07-16  Tim Horton  <timothy_horton@apple.com>
3408
3409         Many crashes loading Java applets after r152701
3410         https://bugs.webkit.org/show_bug.cgi?id=118760
3411         <rdar://problem/14462836>
3412
3413         Reviewed by Dean Jackson.
3414
3415         * html/HTMLAppletElement.cpp:
3416         (WebCore::HTMLAppletElement::updateWidget):
3417         Re-acquire the renderer after calling createJavaAppletWidget,
3418         because it can cause reattach, leaving our renderer pointer stale.
3419
3420         * loader/SubframeLoader.cpp:
3421         (WebCore::SubframeLoader::createJavaAppletWidget):
3422         Null-check renderer, as element->renderEmbeddedObject() can very clearly
3423         return null in some cases.
3424
3425 2013-07-16  Pratik Solanki  <psolanki@apple.com>
3426
3427         Missing break in WebGLRenderingContext::validateCompressedTexFuncData()
3428         https://bugs.webkit.org/show_bug.cgi?id=118742
3429
3430         Reviewed by Ryosuke Niwa.
3431
3432         * html/canvas/WebGLRenderingContext.cpp:
3433         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
3434
3435 2013-07-16  Andreas Kling  <akling@apple.com>
3436
3437         Atomicize HTMLAnchorElement.hash before passing it to JS.
3438         <http://webkit.org/b/118748>
3439         <rdar://problem/14459780>
3440
3441         Reviewed by Sam Weinig.
3442
3443         Instead of generating a unique string from '#' + the URL hash every time HTMLAnchorElement.hash
3444         is queried, turn it into an AtomicString. This prevents massive memory usage in scripts that
3445         fetch .hash a lot.
3446
3447         Reduces memory consumption by 4.65 MB when viewing the full HTML5 spec at <http://whatwg.org/c>
3448
3449         * html/HTMLAnchorElement.cpp:
3450         (WebCore::HTMLAnchorElement::hash):
3451
3452 2013-07-16  Brendan Long  <b.long@cablelabs.com>
3453
3454         Make WebVTTParser return cue data instead of cue DOM objects
3455         https://bugs.webkit.org/show_bug.cgi?id=118687
3456
3457         Reviewed by Eric Carlson.
3458
3459         No new tests because this doesn't change functionality.
3460
3461         * html/track/InbandTextTrack.cpp:
3462         Make TextTrackCueMap handle WebVTTCues instead of just generic cues.
3463         m_dataToCueMap and m_cueToDataMap were renamed m_genericDataToCueMap
3464         and m_genericCueToDataMap. The cue maps were turned into pointers so we
3465         only allocate the ones we need.
3466         (WebCore::TextTrackCueMap::TextTrackCueMap): Initialize maps to 0.
3467         (WebCore::TextTrackCueMap::~TextTrackCueMap): Delete allocated maps.
3468         (WebCore::TextTrackCueMap::add): Changed to allocate cue maps as needed, and added WebVTT version.
3469         (WebCore::TextTrackCueMap::find): Checked to check if cue maps are allocated, and added WebVTT version.
3470         (WebCore::TextTrackCueMap::findGenericData): Changed to accept TextTrackCue instead of TextTrackCueGeneric.
3471         (WebCore::TextTrackCueMap::findWebVTTData): Same as findGenericData, except for WebVTTCueData.
3472         (WebCore::TextTrackCueMap::remove): Accept TextTrackCue instead of TextTrackCueGeneric, and look in both maps.
3473         (WebCore::InbandTextTrack::addWebVTTCue): Added, based on addGenericCue.
3474         (WebCore::InbandTextTrack::removeWebVTTCue): Added, almost identical to removeGenericCue.
3475         (WebCore::InbandTextTrack::removeCue): m_cueMap.remove() takes a TextTrackCue now so it can remove both types of cue.
3476         (WebCore::InbandTextTrack::willRemoveTextTrackPrivate): Use ASSERT_UNUSED instead of UNUSED_PARAM + ASSERT.
3477         * html/track/InbandTextTrack.h: Add new functions above, change maps to pointers and add maps for holding WebVTT cues.
3478         * html/track/WebVTTParser.cpp:
3479         (WebCore::WebVTTParser::getNewCues): Return WebVTTCueData instead of TextTrackCue.
3480         (WebCore::WebVTTParser::createNewCue): Create WebVTTCueData instead of TextTrackCue.
3481         * html/track/WebVTTParser.h: Add WebVTTCueData class, based on GenericCueData.
3482         The following functions are just constructors, destructors, getters, or setters.
3483         (WebCore::WebVTTCueData::create):
3484         (WebCore::WebVTTCueData::~WebVTTCueData):
3485         (WebCore::WebVTTCueData::startTime):
3486         (WebCore::WebVTTCueData::setStartTime):
3487         (WebCore::WebVTTCueData::endTime):
3488         (WebCore::WebVTTCueData::setEndTime):
3489         (WebCore::WebVTTCueData::id):
3490         (WebCore::WebVTTCueData::setId):
3491         (WebCore::WebVTTCueData::content):
3492         (WebCore::WebVTTCueData::setContent):
3493         (WebCore::WebVTTCueData::settings):
3494         (WebCore::WebVTTCueData::setSettings):
3495         (WebCore::WebVTTCueData::WebVTTCueData):
3496         * loader/TextTrackLoader.cpp:
3497         (WebCore::TextTrackLoader::getNewCues): Convert WebVTTCueData to TextTrackCue when we get them.
3498         * platform/graphics/InbandTextTrackPrivateClient.h: Add addWebVTTCue and removeWebVTTCue functions to the interface.
3499
3500 2013-07-16  Tim Horton  <timothy_horton@apple.com>
3501
3502         Use the correct cursor value for the unavailable plugin indicator
3503         https://bugs.webkit.org/show_bug.cgi?id=118747
3504         <rdar://problem/14456498>
3505
3506         Reviewed by Dean Jackson.
3507
3508         CSS says "pointer" is the hand cursor, not "hand".
3509
3510         * css/unavailablePlugIns.css:
3511         (object::-webkit-unavailable-plugin-content > div):
3512         (object::-webkit-unavailable-plugin-content > div > span):
3513
3514 2013-07-16  Simon Fraser  <simon.fraser@apple.com>
3515
3516         Protect against the LayerFlushController being deleted inside its flushLayers() callback
3517         https://bugs.webkit.org/show_bug.cgi?id=118741
3518
3519         Reviewed by Tim Horton.
3520
3521         It's possible (especially on iOS) for the LayerFlushController to be destroyed
3522         inside its callback, via -[WebView _close]. Protect against this by making
3523         it refcounted, and holding a ref across the callback.
3524         
3525         Due to the odd relationship in which LayerFlushController owns its LayerFlushScheduler
3526         by value, we achieve this by allowing subclasses of LayerFlushScheduler
3527         to override runLoopObserverCallback(). WebViewLayerFlushScheduler uses the
3528         override to protect the owner of the LayerFlushScheduler, which is the
3529         LayerFlushController, when the callback is firing.
3530
3531         * WebCore.exp.in:
3532         * platform/graphics/ca/LayerFlushScheduler.h: Make runLoopObserverCallback() and the dtor virtual.
3533
3534 2013-07-16  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3535
3536         Get rid of multiple inheritance support from the bindings generators
3537         https://bugs.webkit.org/show_bug.cgi?id=118353
3538
3539         Reviewed by Kentaro Hara.
3540
3541         Remove multiple inheritance support from the bindings generators (except
3542         the ObjC one which still needs it for now). Multiple inheritance is no
3543         longer supported in Web IDL and it makes the scripts more complex than
3544         they needs to be.
3545
3546         Multiple inheritance support is no longer needed now that our SVG
3547         interfaces have been updated to use the simpler SVG2 inheritance model
3548         and use Web IDL 'implements' statements.
3549
3550         Note that the IDL parser still support multiple inheritance for now in
3551         order not to break the ObjC bindings generator.
3552
3553         No new tests, no behavior change.
3554
3555         * bindings/scripts/CodeGenerator.pm:
3556         * bindings/scripts/CodeGeneratorCPP.pm:
3557         (GetParentImplClassName):
3558         (GetParent):
3559         (GenerateImplementation):
3560         * bindings/scripts/CodeGeneratorGObject.pm:
3561         (GetParentClassName):
3562         (GetParentImplClassName):
3563         (GetParentGObjType):
3564         * bindings/scripts/CodeGeneratorJS.pm:
3565         (GetParentClassName):
3566         (GenerateHeader):
3567         (GenerateImplementation):
3568         (GenerateConstructorDefinition):
3569         * bindings/scripts/CodeGeneratorObjC.pm:
3570         (AddMethodsConstantsAndAttributesFromParentInterfaces):
3571         (GenerateImplementation):
3572         * bindings/scripts/IDLParser.pm:
3573         (parseInterface):
3574         (parseException):
3575         (parseInheritance):
3576
3577 2013-07-16  Eric Carlson  <eric.carlson@apple.com>
3578
3579         HTMLMediaElement should not add cues for disabled text tracks
3580         https://bugs.webkit.org/show_bug.cgi?id=118682
3581
3582         Reviewed by Ryosuke Niwa.
3583
3584         Merge https://src.chromium.org/viewvc/blink?view=rev&revision=153810
3585
3586         Tests: media/track/track-disabled-addcue.html
3587                media/track/track-disabled.html
3588
3589         * html/HTMLMediaElement.cpp:
3590         (WebCore::HTMLMediaElement::textTrackAddCues): Do nothing if the track is disabled.
3591         (WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
3592
3593 2013-07-16  Krzysztof Czech  <k.czech@ymail.com>
3594
3595         [ATK] Adds support for aria-haspopup property.
3596         https://bugs.webkit.org/show_bug.cgi?id=117834
3597
3598         Reviewed by Christophe Dumez.
3599
3600         Adds support for aria-haspopup property.
3601
3602         Tests: accessibility/element-haspopup.html
3603                accessibility/popup-button-title.html
3604
3605         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3606         (webkitAccessibleGetAttributes):
3607
3608 2013-07-16  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
3609
3610         [texmap][GStreamer] upload onto the texture only the buffer to be painted
3611         https://bugs.webkit.org/show_bug.cgi?id=118471
3612
3613         Reviewed by Philippe Normand.
3614
3615         Right now all the buffers are uploaded onto the texture. With this
3616         logic pose situations where buffers that will not be painted are
3617         uploaded.
3618
3619         This patch uploads only the buffers that are going to be shown.
3620
3621         With this approach, the buffers may arrive before a GraphicsLayer is
3622         set, so we should be more cautious with GraphicsLayerTextureMapper's
3623         client.
3624
3625         No new tests, covered by existing tests.
3626
3627         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3628         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
3629         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
3630         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
3631         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
3632         (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
3633         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3634         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3635         (WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper):
3636         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
3637
3638 2013-07-16  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
3639
3640         [GStreamer] verify and log the received caps in the video sink
3641         https://bugs.webkit.org/show_bug.cgi?id=118559
3642
3643         Reviewed by Philippe Normand.
3644
3645         Verify the correctness of the received caps in the video sink, and
3646         also log them for debugging purposes.
3647
3648         No new tests, no behavior change.
3649
3650         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
3651         (webkitVideoSinkSetCaps):
3652
3653 2013-07-16  Kangil Han  <kangil.han@samsung.com>
3654
3655         Use toHTMLSelectElement and dismiss isHTMLSelectElement
3656         https://bugs.webkit.org/show_bug.cgi?id=118714
3657
3658         Reviewed by Ryosuke Niwa.
3659
3660         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
3661         Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.
3662
3663         * html/HTMLSelectElement.h:
3664         (WebCore::toHTMLSelectElement):
3665         * testing/Internals.cpp:
3666         (WebCore::Internals::isSelectPopupVisible):
3667
3668 2013-07-15  Yuta Kitamura  <yutak@chromium.org>
3669
3670         Fix a crash in Range::processContents().
3671
3672         NULL ptr in WebCore::Range::processAncestorsAndTheirSiblings
3673         https://bugs.webkit.org/show_bug.cgi?id=77614
3674
3675         Reviewed by Ryosuke Niwa.
3676
3677         This change is ported from Blink revision 153483:
3678         https://src.chromium.org/viewvc/blink?revision=153483&view=revision
3679
3680         This crash can be initiated by calling Range.detach() while deleteContents()
3681         is processing the same range. Range::processContents() should save the state
3682         of the range since mutation events can change the state of the range.
3683
3684         Test: fast/dom/Range/detach-range-during-deletecontents.html
3685
3686         * dom/Range.cpp:
3687         (WebCore::Range::processContents):
3688         * dom/RangeBoundaryPoint.h:
3689         (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
3690
3691 2013-07-15  Ryosuke Niwa  <rniwa@webkit.org>
3692
3693         Input element that becomes visible during a simulated click event from an associated label element doesn't get focused
3694         https://bugs.webkit.org/show_bug.cgi?id=118700
3695
3696         Reviewed by Kent Tamura.
3697
3698         Inspired by https://chromium.googlesource.com/chromium/blink/+/6435f70d53403b250e261a914f30d55142f81476.
3699
3700         The bug was caused by isMouseFocusable() check in HTMLLabelElement::defaultEventHandler not updating the layout even
3701         though the call to dispatchSimulatedClick may have dirtied the render tree.
3702
3703         Explicitly update the layout so that we have up-to-date render tree.
3704
3705         Test: fast/forms/label/label-becomes-visible-while-clicking-on-label.html
3706
3707         * html/HTMLLabelElement.cpp:
3708         (WebCore::HTMLLabelElement::defaultEventHandler):
3709
3710 2013-07-15  Kangil Han  <kangil.han@samsung.com>
3711
3712         Introduce toHTMLIFrameElement
3713         https://bugs.webkit.org/show_bug.cgi?id=118672
3714
3715         Reviewed by Ryosuke Niwa.
3716
3717         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
3718
3719         * bindings/js/JSHTMLDocumentCustom.cpp:
3720         (WebCore::JSHTMLDocument::nameGetter):
3721         * css/StyleResolver.cpp:
3722         (WebCore::StyleResolver::adjustRenderStyle):
3723         * dom/Document.cpp:
3724         (WebCore::Document::seamlessParentIFrame):
3725         * html/HTMLIFrameElement.h:
3726         (WebCore::toHTMLIFrameElement):
3727         * rendering/RenderEmbeddedObject.cpp:
3728         (WebCore::RenderEmbeddedObject::viewCleared):
3729         * rendering/RenderIFrame.cpp:
3730         (WebCore::RenderIFrame::isSeamless):
3731         (WebCore::RenderIFrame::flattenFrame):
3732
3733 2013-07-15  Chris Rogers  <crogers@google.com>
3734
3735         Add support for WaveShaperNode.oversample
3736         https://bugs.webkit.org/show_bug.cgi?id=117435
3737
3738         Reviewed by Kenneth Russell.
3739
3740         Adapted from Blink:
3741         https://codereview.chromium.org/15619003/
3742
3743         Please see specification for details:
3744         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#WaveShaperNode
3745
3746         .oversample specifies what type of oversampling (if any) should be used when applying the shaping curve.
3747         The default value is "none", meaning the curve will be applied directly to the input samples.
3748         A value of "2x" or "4x" can improve the quality of the processing by avoiding some aliasing,
3749         with the "4x" value yielding the highest quality.
3750
3751         Tests: webaudio/waveshaper-oversample-2x.html
3752                webaudio/waveshaper-oversample-4x.html
3753
3754         * CMakeLists.txt:
3755         * GNUmakefile.list.am:
3756         * Modules/webaudio/WaveShaperDSPKernel.cpp:
3757         (WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
3758         (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
3759         (WebCore::WaveShaperDSPKernel::process):
3760         (WebCore::WaveShaperDSPKernel::processCurve):
3761         (WebCore::WaveShaperDSPKernel::processCurve2x):
3762         (WebCore::WaveShaperDSPKernel::processCurve4x):
3763         (WebCore::WaveShaperDSPKernel::reset):
3764         (WebCore::WaveShaperDSPKernel::latencyTime):
3765         * Modules/webaudio/WaveShaperDSPKernel.h:
3766         * Modules/webaudio/WaveShaperNode.cpp:
3767         (WebCore::WaveShaperNode::WaveShaperNode):
3768         (WebCore::WaveShaperNode::setOversample):
3769         (WebCore::WaveShaperNode::oversample):
3770         * Modules/webaudio/WaveShaperNode.h:
3771         (WebCore::WaveShaperNode::latency):
3772         * Modules/webaudio/WaveShaperNode.idl:
3773         * Modules/webaudio/WaveShaperProcessor.cpp:
3774         (WebCore::WaveShaperProcessor::WaveShaperProcessor):
3775         (WebCore::WaveShaperProcessor::setOversample):
3776         * Modules/webaudio/WaveShaperProcessor.h:
3777         (WebCore::WaveShaperProcessor::oversample):
3778         * WebCore.xcodeproj/project.pbxproj:
3779         * platform/audio/DownSampler.cpp: Added.
3780         (WebCore::DownSampler::DownSampler):
3781         (WebCore::DownSampler::initializeKernel):
3782         (WebCore::DownSampler::process):
3783         (WebCore::DownSampler::reset):
3784         (WebCore::DownSampler::latencyFrames):
3785         * platform/audio/DownSampler.h: Added.
3786         * platform/audio/UpSampler.cpp: Added.
3787         (WebCore::UpSampler::UpSampler):
3788         (WebCore::UpSampler::initializeKernel):
3789         (WebCore::UpSampler::process):
3790         (WebCore::UpSampler::reset):
3791         (WebCore::UpSampler::latencyFrames):
3792         * platform/audio/UpSampler.h: Added.
3793
3794 2013-07-15  Tim Horton  <timothy_horton@apple.com>
3795
3796         Update blocked/missing plug-in UI
3797         https://bugs.webkit.org/show_bug.cgi?id=118347
3798         <rdar://problem/14209318>
3799
3800         Reviewed by Sam Weinig.
3801         Patch by Anders Carlsson, Antoine Quint, Sam Weinig, and myself.
3802
3803         * CMakeLists.txt:
3804         * DerivedSources.make:
3805         * DerivedSources.pri:
3806         * GNUmakefile.am:
3807         * WebCore.exp.in:
3808         * WebCore.vcxproj/WebCore.vcxproj:
3809         * WebCore.vcxproj/WebCore.vcxproj.filters:
3810         * WebCore.xcodeproj/project.pbxproj:
3811         * css/CSSDefaultStyleSheets.cpp:
3812         * css/unavailablePlugIns.css: Added.
3813         Add new Source/WebCore/css/unavailablePlugIns.css stylesheet.
3814
3815         * dom/EventListener.h:
3816         New event listener type to support the creation of an event listener
3817         for the label and icon for missing / blocked plug-in UI.
3818
3819         * html/HTMLPlugInElement.cpp:
3820         (WebCore::HTMLPlugInElement::defaultEventHandler):
3821         Remove explicit event handling since we're now using a DOM event handler
3822         on the label and icon in the shadow root.
3823
3824         * html/HTMLPlugInImageElement.cpp:
3825         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3826         Don't populate the shadow root with plugin snapshotting elements
3827         if we're not planning on showing a snapshot, because this means that
3828         the shadow root was created for the unavailable plugin indicator instead.
3829
3830         * page/ChromeClient.h:
3831         (WebCore::ChromeClient::shouldUnavailablePluginMessageIncludeButton):
3832         * rendering/RenderEmbeddedObject.cpp:
3833         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
3834         (WebCore::shouldUnavailablePluginMessageIncludeButton):
3835         Rename from shouldUnavailablePluginMessageBeButton to
3836         shouldUnavailablePluginMessageIncludeButton for accuracy.
3837
3838         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonDescription):
3839         Set custom text to be displayed in the unavailability indicator.
3840
3841         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
3842         (WebCore::RenderEmbeddedObject::handleUnavailablePluginButtonClickEvent):
3843         (WebCore::RenderEmbeddedObject::willBeDestroyed):
3844         (WebCore::RenderEmbeddedObject::isReplacementObscured):
3845         (WebCore::RenderEmbeddedObjectEventListener::handleEvent):
3846         (WebCore::RenderEmbeddedObjectEventListener::operator==):
3847         Remove the old code used to render the missing / blocked plug-in UI in C++ in favor
3848         of populating a shadow root in setPluginUnavailabilityReason(). We add a DOM event
3849         listener in the shadow root to eventually call into unavailablePluginButtonClicked()
3850         on the ChromeClient.
3851
3852         (WebCore::RenderEmbeddedObject::paint):
3853         (WebCore::RenderEmbeddedObject::layout):
3854         Paint and lay out UA shadow root children.
3855
3856         (WebCore::RenderEmbeddedObject::canHaveChildren):
3857         canHaveChildren can use the existence of a UA shadow root to decide
3858         whether a RenderEmbeddedObject can have children.
3859
3860         * rendering/RenderEmbeddedObject.h:
3861         (WebCore::RenderEmbeddedObjectEventListener::create):
3862         (WebCore::RenderEmbeddedObjectEventListener::cast):
3863         (WebCore::RenderEmbeddedObjectEventListener::RenderEmbeddedObjectEventListener):
3864         Create the new event listener class necessary to handle events in the shadow root.
3865
3866         (WebCore::RenderEmbeddedObject::pluginUnavailabilityReasonDescription): Added.
3867
3868         * rendering/RenderWidget.h:
3869         Promote willBeDestroyed() to be public so we may override it in the RenderEmbeddedObject subclass.
3870
3871 2013-07-15  Andreas Kling  <akling@apple.com>
3872
3873         Pack WebCore::Font slightly better.
3874         <http://webkit.org/b/118681>
3875         <rdar://problem/14446014>
3876
3877         Reviewed by Sam Weinig.
3878
3879         Knock 8 bytes off of Font by packing the members better. Reduces memory consumption by 429 kB when
3880         viewing the full HTML5 spec at <http://whatwg.org/c>
3881
3882         * platform/graphics/Font.h:
3883         (WebCore::Font::typesettingFeatures):
3884
3885 2013-07-15  Rob Buis  <rwlbuis@webkit.org>
3886
3887         XMLSerializer doesn't include namespaces on nodes in HTML documents
3888         https://bugs.webkit.org/show_bug.cgi?id=16496
3889
3890         Reviewed by Ryosuke Niwa.
3891
3892         Introduce a xml fragment serialization mode as indicated by
3893         http://html5.org/specs/dom-parsing.html#xmlserializer (commit 00b84d2). In this mode
3894         the XML fragment serialization algorithm is respected, the changes in this patch do the following:
3895
3896         - elements are self-closing if otherwise this would lead to invalid xml syntax.
3897         - the resulting xml is XML namespace-well-formed (http://www.w3.org/TR/xml-names11/#Conformance).
3898         This is achieved by always, when in xml fragment serialization mode, attempting to write out the element/attribute namespace,
3899         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.
3900
3901         The chosen approach matches FireFox 25 behavior.
3902
3903         Test: fast/dom/dom-serialize-namespace.html
3904
3905         * WebCore.order: Adapt to changed createMarkup signature.
3906         * editing/MarkupAccumulator.cpp:
3907         (WebCore::MarkupAccumulator::MarkupAccumulator):
3908         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): makes sure xml namespace/prefix is known so it is never used in namespace declarations.
3909         (WebCore::MarkupAccumulator::appendNamespace): Avoid adding namespace declarations that do not differ from current default namespace.
3910         (WebCore::MarkupAccumulator::appendOpenTag): Print xml prefix if the element's namespace is XML to avoid conflicts.
3911         (WebCore::MarkupAccumulator::appendAttribute):
3912         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Also take into account xmlns attributes with no namespace.
3913         (WebCore::MarkupAccumulator::shouldSelfClose): Force self-closing to create well-formed XML elements.
3914         * editing/MarkupAccumulator.h: Use EFragmentSerialization.
3915         (WebCore::MarkupAccumulator::inXMLFragmentSerialization):
3916         * editing/markup.cpp:
3917         (WebCore::createMarkup):
3918         * editing/markup.h: Add EFragmentSerialization enum.
3919         * xml/XMLSerializer.cpp:
3920         (WebCore::XMLSerializer::serializeToString):
3921
3922 2013-07-15  Ryosuke Niwa  <rniwa@webkit.org>
3923
3924         MediaFragmentURIParser::parseFragments shouldn't upconvert 8-bit string
3925         https://bugs.webkit.org/show_bug.cgi?id=118692
3926
3927         Reviewed by Michael Saboff.
3928
3929         Merge https://chromium.googlesource.com/chromium/blink/+/2aa17cc56a807f7e05d386d6eb66cda25e6b0542.
3930
3931         * html/MediaFragmentURIParser.cpp:
3932         (WebCore::MediaFragmentURIParser::parseFragments):
3933
3934 2013-07-15  Kwang Yul Seo  <skyul@company100.net>
3935
3936         NetworkStorageSession::createDefaultSession is only implemented by Soup
3937         https://bugs.webkit.org/show_bug.cgi?id=118679
3938
3939         Reviewed by Alexey Proskuryakov.
3940
3941         Remove NetworkStorageSession::createDefaultSession() because
3942         NetworkStorageSession::defaultStorageSession() returns the default
3943         session.
3944
3945         No new tests, no behavior change.
3946
3947         * platform/network/NetworkStorageSession.h:
3948         * platform/network/soup/NetworkStorageSessionSoup.cpp:
3949
3950 2013-07-15  Ryosuke Niwa  <rniwa@webkit.org>
3951
3952         compositionstart event should contain the text to be replaced
3953         https://bugs.webkit.org/show_bug.cgi?id=118684
3954
3955         Reviewed by Alexey Proskuryakov.
3956
3957         Merge https://chromium.googlesource.com/chromium/blink/+/9e04f728a95ad7d4783b1d31c3cdc1412dd6cc4d.
3958
3959         DOM3 level 3 specifies compositionstart event's data to be the text to be replaced.
3960         http://www.w3.org/TR/DOM-Level-3-Events/#event-type-compositionstart
3961
3962         According to the author of the Blink change, IE10 on Windows and Firefox22 on Linux confirms
3963         to the specified behavior.
3964
3965         Test: fast/events/ime-composition-events-001.html
3966
3967         * editing/Editor.cpp:
3968         (WebCore::Editor::setComposition):
3969
3970 2013-07-15  Ryosuke Niwa  <rniwa@webkit.org>
3971
3972         xmlDocPtrForString shouldn't upconvert 8-bit string
3973         https://bugs.webkit.org/show_bug.cgi?id=118693
3974
3975         Reviewed by Michael Saboff.
3976
3977         Merge https://chromium.googlesource.com/chromium/blink/+/5d9b240db74591c3689415c7b7c5180fadb379e9
3978
3979         Prior to this changeset, we were upconverting the entire XML document.
3980         Let xmllib2 parse a document as iso-8859-1 when it's a 8-bit string.
3981
3982         * xml/parser/XMLDocumentParserLibxml2.cpp:
3983         (WebCore::nativeEndianUTF16Encoding):
3984         (WebCore::xmlDocPtrForString):
3985
3986 2013-07-15  Roger Fong  <roger_fong@apple.com>
3987
3988         Replace WKCACFTypes include with d3d9 include.
3989
3990         Rubberstamped by Eric Carlson.
3991
3992         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3993
3994 2013-07-15  Antoine Quint  <graouts@apple.com>
3995
3996         Text with "text-overflow:ellipsis" and an SVG font do not render correctly
3997         https://bugs.webkit.org/show_bug.cgi?id=118669
3998
3999         Reviewed by David Kilzer.
4000
4001         Partial runs may be routed through the complex path in several Font functions. While incomplete,
4002         we can check for a non-NULL run.renderingContext() and exempt runs that have it from being forced
4003         down the complex path. A more thorough fix is already tracked by http://webkit.org/b/100050.
4004
4005         Adding a new testcase which is a copy of svg/text/text-overflow-ellipsis-svgfont.html with kerning
4006         and ligatures turned on explicitly since DRT runs with those off by default and this option is required
4007         to be on for the issue to reproduce.
4008
4009         Fix courtesy of Dan Bernstein.
4010
4011         Test: svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html
4012
4013         * platform/graphics/Font.cpp:
4014         (WebCore::Font::drawText):
4015         (WebCore::Font::drawEmphasisMarks):
4016         (WebCore::Font::selectionRectForText):
4017
4018 2013-07-15  peavo@outlook.com  <peavo@outlook.com>
4019
4020         [Curl] Download does not replace existing file.
4021         https://bugs.webkit.org/show_bug.cgi?id=118356
4022
4023         Reviewed by Brent Fulgham.
4024
4025         If the download target file already exists, it is not replaced after the download has finished.
4026         At this point, the user would have already approved to replace the file, so it should be replaced.
4027
4028         * platform/network/curl/CurlDownload.cpp:
4029         (CurlDownload::moveFileToDestination): Move file and replace it if it already exists.
4030         If the new file is on a different volume, do a copy/delete operation.
4031
4032 2013-07-15  Luciano Wolf  <luciano.wolf@openbossa.org>
4033
4034         [CoordinatedGraphics] Crash at CoordinatedGraphicsScene::updateImageBacking
4035         https://bugs.webkit.org/show_bug.cgi?id=118613
4036
4037         The operations of creating/removing/updating/clearing weren't in the
4038         right sequence. Changing the order solves the issue because when an image is
4039         replaced the old one is deleted before the new one is created, and IDs are
4040         not unique in cairo (they're based on the image pointer).
4041
4042         Reviewed by Noam Rosenthal.
4043
4044         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
4045         (WebCore::CoordinatedGraphicsScene::syncImageBackings):
4046
4047 2013-07-15  Brian Holt  <brian.holt@samsung.com>
4048
4049         [ATK] Leak: Leak in WebKitAccessibleTextGetText
4050         https://bugs.webkit.org/show_bug.cgi?id=118596
4051
4052         Reviewed by Carlos Garcia Campos.