f4f7931a71c055c0fe9e116263424e74eff90d45
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-06-20  Ryosuke Niwa  <rniwa@webkit.org>
2
3         REGRESSION(r149652): accessing items in .children via id doesn't work when element is not rooted in DOM tree
4         https://bugs.webkit.org/show_bug.cgi?id=117836
5
6         Reviewed by Benjamin Poulain.
7
8         When the root node of a HTML collection is not in the document or in a shadow tree,
9         we shouldn't use its tree scope's id and name maps to find name getters.
10
11         Always use the slow path in such cases.
12
13         Test: fast/dom/htmlallcollection-detached-node-children.html
14
15         * html/HTMLCollection.cpp:
16         (WebCore::HTMLCollection::namedItem):
17
18 2013-06-20  Alexey Proskuryakov  <ap@apple.com>
19
20         https://bugs.webkit.org/show_bug.cgi?id=116495
21         Fix null-pointer deref in DocumentLoader::responseReceived()
22
23         Patch by Nate Chapin, reviewed by Mike West and myself.
24
25         Test: http/tests/security/XFrameOptions/x-frame-options-deny-delete-frame-in-load-event.html
26
27         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::responseReceived): Added
28         a null check.
29
30 2013-06-20  Roger Fong  <roger_fong@apple.com>
31
32         Unreviewed. Roll out part of r150618.
33
34         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
35
36 2013-06-20  Enrica Casucci  <enrica@apple.com>
37
38         Initial advance on the first glyph of the run is not correctly set for rtl text.
39         https://bugs.webkit.org/show_bug.cgi?id=117839
40         <rdar://problem/13860717>
41
42         Reviewed by Sam Weinig.
43
44         We need to set the initial advance to the glyphBuffer, using the
45         initial advance of the complex run that will be drawn first.
46         In order to choose the run correctly we must consider the text direction.
47
48         Test: fast/text/complex-first-glyph-with-initial-advance.html
49
50         * platform/graphics/mac/ComplexTextController.cpp:
51         (WebCore::ComplexTextController::advance):
52
53 2013-06-20  Alex Christensen  <achristensen@apple.com>
54
55         Fixed WebGL compile errors on Windows.
56         https://bugs.webkit.org/show_bug.cgi?id=117805
57
58         Reviewed by Brent Fulgham.
59
60         * html/canvas/WebGLRenderingContext.cpp: Included CString.h.
61         Added PLATFORM(WIN) to existing lists of platform macros.
62         * platform/graphics/ANGLEWebKitBridge.h:
63         * platform/graphics/GraphicsContext3D.h:
64         (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
65         * platform/graphics/OpenGLESShims.h:
66
67 2013-06-20  Simon Fraser  <simon.fraser@apple.com>
68
69         FrameView needs to initialize paintsEntireContents on creation
70         https://bugs.webkit.org/show_bug.cgi?id=117844
71
72         Reviewed by Anders Carlsson.
73
74         In WebKit1, if the WebView is layer-backed, WebHTMLView gets a layer.
75         In this mode, FrameView::paintsEntireContents() is true. However,
76         we would only call setPaintsEntireContents(true) on the FrameView
77         when the view's layer-backed status changes. FrameView also needs
78         to fetch this state when it is initialized, because we may be creating
79         a new FrameView for an already layer-backed WebHTMLView.
80
81         * page/ChromeClient.h:
82         (WebCore::ChromeClient::shouldPaintEntireContents):
83         * page/FrameView.cpp:
84         (WebCore::FrameView::init):
85
86 2013-06-20  Simon Fraser  <simon.fraser@apple.com>
87
88         Sticky elements are missing or misplaced sometimes when reloading a page that scrolls to a named anchor
89         https://bugs.webkit.org/show_bug.cgi?id=117819
90
91         Reviewed by Anders Carlsson.
92         
93         At the end of FrameView::performPostLayoutTasks() we call scrollToAnchor() which attempts
94         to restore the scroll position to a named anchor, even when the document has been
95         changed by layout. This ends up in a call to ScrollView::scrollTo(), which in turn
96         calls repaintFixedElementsAfterScrolling(). However, repaintFixedElementsAfterScrolling()
97         would bail if m_nestedLayoutCount != 0, so we never updated layer positions which
98         depend on scroll position (but which would not be updated by layout, since their
99         renderers are not marked for layout when scrolling happens).
100         
101         We've solved this problem once before in updateFixedElementsAfterScrolling() which
102         checks for m_nestedLayoutCount <= 1, so that we do work on the outermost nested layout.
103         Apply that same fix to repaintFixedElementsAfterScrolling().
104
105         Very timing-dependent, so hard to make a test.
106
107         * page/FrameView.cpp:
108         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
109
110 2013-06-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
111
112         HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
113         https://bugs.webkit.org/show_bug.cgi?id=117830
114
115         Reviewed by Anders Carlsson.
116
117         The order of the template arguments at HashSet alternate 'find', 'contains' and
118         'add' methods is reversed so that callers can just pass the translator
119         and let the compiler deduce input argument type.
120
121         No new tests. No new functionality.
122
123         * dom/QualifiedName.cpp:
124         (WebCore::QualifiedName::QualifiedName):
125         * platform/graphics/cg/SubimageCacheWithTimer.cpp:
126         (WebCore::SubimageCacheWithTimer::getSubimage):
127         * svg/SVGAElement.cpp:
128         (WebCore::SVGAElement::isSupportedAttribute):
129         * svg/SVGAnimateMotionElement.cpp:
130         (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
131         * svg/SVGAnimateTransformElement.cpp:
132         (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
133         * svg/SVGAnimationElement.cpp:
134         (WebCore::SVGAnimationElement::isSupportedAttribute):
135         * svg/SVGCircleElement.cpp:
136         (WebCore::SVGCircleElement::isSupportedAttribute):
137         * svg/SVGClipPathElement.cpp:
138         (WebCore::SVGClipPathElement::isSupportedAttribute):
139         * svg/SVGComponentTransferFunctionElement.cpp:
140         (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
141         * svg/SVGCursorElement.cpp:
142         (WebCore::SVGCursorElement::isSupportedAttribute):
143         * svg/SVGEllipseElement.cpp:
144         (WebCore::SVGEllipseElement::isSupportedAttribute):
145         * svg/SVGFEBlendElement.cpp:
146         (WebCore::SVGFEBlendElement::isSupportedAttribute):
147         * svg/SVGFEColorMatrixElement.cpp:
148         (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
149         * svg/SVGFEComponentTransferElement.cpp:
150         (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
151         * svg/SVGFECompositeElement.cpp:
152         (WebCore::SVGFECompositeElement::isSupportedAttribute):
153         * svg/SVGFEConvolveMatrixElement.cpp:
154         (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
155         * svg/SVGFEDiffuseLightingElement.cpp:
156         (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
157         * svg/SVGFEDisplacementMapElement.cpp:
158         (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
159         * svg/SVGFEDropShadowElement.cpp:
160         (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
161         * svg/SVGFEGaussianBlurElement.cpp:
162         (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
163         * svg/SVGFEImageElement.cpp:
164         (WebCore::SVGFEImageElement::isSupportedAttribute):
165         * svg/SVGFELightElement.cpp:
166         (WebCore::SVGFELightElement::isSupportedAttribute):
167         * svg/SVGFEMergeNodeElement.cpp:
168         (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
169         * svg/SVGFEMorphologyElement.cpp:
170         (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
171         * svg/SVGFEOffsetElement.cpp:
172         (WebCore::SVGFEOffsetElement::isSupportedAttribute):
173         * svg/SVGFESpecularLightingElement.cpp:
174         (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
175         * svg/SVGFETileElement.cpp:
176         (WebCore::SVGFETileElement::isSupportedAttribute):
177         * svg/SVGFETurbulenceElement.cpp:
178         (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
179         * svg/SVGFilterElement.cpp:
180         (WebCore::SVGFilterElement::isSupportedAttribute):
181         (WebCore::SVGFilterElement::childShouldCreateRenderer):
182         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
183         (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
184         * svg/SVGForeignObjectElement.cpp:
185         (WebCore::SVGForeignObjectElement::isSupportedAttribute):
186         * svg/SVGGElement.cpp:
187         (WebCore::SVGGElement::isSupportedAttribute):
188         * svg/SVGGradientElement.cpp:
189         (WebCore::SVGGradientElement::isSupportedAttribute):
190         * svg/SVGImageElement.cpp:
191         (WebCore::SVGImageElement::isSupportedAttribute):
192         * svg/SVGLineElement.cpp:
193         (WebCore::SVGLineElement::isSupportedAttribute):
194         * svg/SVGLinearGradientElement.cpp:
195         (WebCore::SVGLinearGradientElement::isSupportedAttribute):
196         * svg/SVGMPathElement.cpp:
197         (WebCore::SVGMPathElement::isSupportedAttribute):
198         * svg/SVGMarkerElement.cpp:
199         (WebCore::SVGMarkerElement::isSupportedAttribute):
200         * svg/SVGMaskElement.cpp:
201         (WebCore::SVGMaskElement::isSupportedAttribute):
202         * svg/SVGPathElement.cpp:
203         (WebCore::SVGPathElement::isSupportedAttribute):
204         * svg/SVGPatternElement.cpp:
205         (WebCore::SVGPatternElement::isSupportedAttribute):
206         * svg/SVGPolyElement.cpp:
207         (WebCore::SVGPolyElement::isSupportedAttribute):
208         * svg/SVGRadialGradientElement.cpp:
209         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
210         * svg/SVGRectElement.cpp:
211         (WebCore::SVGRectElement::isSupportedAttribute):
212         * svg/SVGScriptElement.cpp:
213         (WebCore::SVGScriptElement::isSupportedAttribute):
214         * svg/SVGStopElement.cpp:
215         (WebCore::SVGStopElement::isSupportedAttribute):
216         * svg/SVGStyleElement.cpp:
217         (WebCore::SVGStyleElement::isSupportedAttribute):
218         * svg/SVGStyledTransformableElement.cpp:
219         (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
220         * svg/SVGSymbolElement.cpp:
221         (WebCore::SVGSymbolElement::isSupportedAttribute):
222         * svg/SVGTRefElement.cpp:
223         (WebCore::SVGTRefElement::isSupportedAttribute):
224         * svg/SVGTextContentElement.cpp:
225         (WebCore::SVGTextContentElement::isSupportedAttribute):
226         * svg/SVGTextElement.cpp:
227         (WebCore::SVGTextElement::isSupportedAttribute):
228         * svg/SVGTextPathElement.cpp:
229         (WebCore::SVGTextPathElement::isSupportedAttribute):
230         * svg/SVGTextPositioningElement.cpp:
231         (WebCore::SVGTextPositioningElement::isSupportedAttribute):
232         * svg/SVGUseElement.cpp:
233         (WebCore::SVGUseElement::isSupportedAttribute):
234         (WebCore::isDisallowedElement):
235         * svg/SVGViewElement.cpp:
236         (WebCore::SVGViewElement::isSupportedAttribute):
237         * svg/animation/SVGSMILElement.cpp:
238         (WebCore::SVGSMILElement::isSupportedAttribute):
239
240 2013-06-20  Commit Queue  <commit-queue@webkit.org>
241
242         Unreviewed, rolling out r151451.
243         http://trac.webkit.org/changeset/151451
244         https://bugs.webkit.org/show_bug.cgi?id=117848
245
246         "Broke quite a lot of sites" (Requested by rhogan on #webkit).
247
248         * rendering/RenderBox.cpp:
249         (WebCore::RenderBox::computePositionedLogicalWidth):
250         (WebCore::RenderBox::computePositionedLogicalHeight):
251         * rendering/RenderBox.h:
252         (WebCore::RenderBox::intrinsicSize):
253         * rendering/RenderButton.h:
254         * rendering/RenderListBox.cpp:
255         (WebCore::RenderListBox::RenderListBox):
256         (WebCore::RenderListBox::computeLogicalHeight):
257         * rendering/RenderListBox.h:
258         * rendering/RenderMenuList.h:
259         * rendering/RenderReplaced.h:
260         * rendering/RenderTextControl.cpp:
261         (WebCore::RenderTextControl::RenderTextControl):
262         (WebCore::RenderTextControl::computeLogicalHeight):
263         * rendering/RenderTextControl.h:
264
265 2013-06-20  Commit Queue  <commit-queue@webkit.org>
266
267         Unreviewed, rolling out r151788.
268         http://trac.webkit.org/changeset/151788
269         https://bugs.webkit.org/show_bug.cgi?id=117847
270
271         "This is the wrong fix" (Requested by rhogan on #webkit).
272
273         * rendering/RenderTextControl.cpp:
274         (WebCore::RenderTextControl::computeLogicalHeight):
275         (WebCore::RenderTextControl::computePreferredLogicalWidths):
276
277 2013-05-24  Balazs Kelemen  <kbalazs@webkit.org>
278
279         [Gstreamer] cleanup buffering and state updates
280         https://bugs.webkit.org/show_bug.cgi?id=116642
281
282         Reviewed by Philippe Normand.
283
284         Covered by existing media tests, especially the ones that have been unskipped.
285
286         Always do download buffering. It should not differ if preload is "none" because
287         it's about when to start buffering, not about how. Fix a bunch other subtle issues
288         to make this change go smoothly with the tests. As a bonus some tests that were
289         failing so far started to pass.
290         It is possible to further tweak the buffering in a way that will enable us to support
291         a different and appropriate behavior for preload="metadata" but it should be managed
292         a bit differently. I will implement it in a follow-up.
293
294         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
295         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
296         (WebCore::MediaPlayerPrivateGStreamer::load): Don't call setDownloadBuffering
297         yet. Now it also responsible for starting the fill timer and it turned out that
298         setting the download flag before the pipeline is set to a state has negative
299         effect on some tests. Most probably GStreamer starts buffering too early if
300         we set the download flag.
301         (WebCore::MediaPlayerPrivateGStreamer::commitLoad): Call setDownloadBuffering now.
302         (WebCore::MediaPlayerPrivateGStreamer::play): Ditto, plus set m_delayingLoad to false
303         because otherwise setPreload will wrongly assume that the load has not been committed
304         yet if prepareToPlay is not called before play.
305         (WebCore::MediaPlayerPrivateGStreamer::pause): Make sure we don't commit a load here
306         if it was not committed yet by looking in the pipeline state.
307         (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats): No need to observe the
308         type of buffering.
309         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): Introduced m_downloadFinished to update
310         ready and network states in updateStates based on it. The previously used condition
311         - (maxTimeLoaded() == duration()) - was not correct in the case when duration is not known.
312         (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded): Removed a lie. If the fill timer is not active
313         it does not necesarily means that download has been finished. This lie was actually ensuring
314         a lot of tests to pass because it made the condition (maxTimeLoaded() == duration()) true.
315         Now that state updates has been cleaned up we don't need to lie.
316         (WebCore::MediaPlayerPrivateGStreamer::updateStates): Merge all the parts that takes part in updating
317         ready and network states. It was untrackable. Unset download buffering for for live streams early so
318         we don't need to restart them.
319         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
320         (MediaPlayerPrivateGStreamer): Removed m_startedBuffering because there is no need for it now.
321
322 2013-06-20  Eric Carlson  <eric.carlson@apple.com>
323
324         ASSERT removing then adding a <track> element
325         https://bugs.webkit.org/show_bug.cgi?id=117814
326
327         Reviewed by Jer Noble.
328
329         Test: media/track/add-and-remove-track.html
330
331         * html/HTMLTrackElement.cpp:
332         (WebCore::HTMLTrackElement::insertedInto): Always call ensureTrack before adding the track
333             to the parent <video> element.
334         (WebCore::HTMLTrackElement::ensureTrack): Call m_track->setTrackElement() in case the
335             parent was cleared after m_track was created.
336
337         * html/track/LoadableTextTrack.cpp:
338         (WebCore::LoadableTextTrack::setTrackElement): New, set m_trackElement.
339         * html/track/LoadableTextTrack.h:
340
341 2013-06-20  Roger Fong  <roger_fong@apple.com>
342
343         Unreviewed. Build fix for Apple Windows port.
344
345         * rendering/RenderThemeWin.cpp:
346         (WebCore::cssValueIdToSysColorIndex):
347
348 2013-06-20  Alexey Proskuryakov  <ap@apple.com>
349
350         [Mac] Downloaded file name encoding is incorrect when download link opens in a new window
351         https://bugs.webkit.org/show_bug.cgi?id=117818
352         <rdar://problem/14212635>
353
354         Reviewed by Brady Eidson.
355
356         No tests added. The machinery we have for logging downloaded file name is very
357         far from being able to work in a secondary window.
358
359         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
360         Made a targeted fix - don't update encoding fallback array if we already have one,
361         there is no chance for it to be more correct. In this case, it's incorrect because
362         it comes from a new blank window, instead of original referer.
363         We have a lot of code in addExtraFieldsToRequest() to struggle with this, and we have
364         a FIXME to try not calling it from policy delegate.
365
366 2013-06-18  Robert Hogan  <robert@webkit.org>
367
368         REGRESSION (r151451): Text not vertically centered correctly on icloud.com
369         https://bugs.webkit.org/show_bug.cgi?id=117744
370
371         Reviewed by David Hyatt.
372
373         The positioned height and width computation adds in the element's border and padding so 
374         don't add it to the intrinsic height and preferred widths of text controls that are
375         absolutely positioned.
376
377         Test: fast/replaced/height-of-positioned-text-control.html
378
379         * rendering/RenderTextControl.cpp:
380         (WebCore::RenderTextControl::computeLogicalHeight):
381         (WebCore::RenderTextControl::computePreferredLogicalWidths):
382
383 2013-06-20  Roger Fong  <roger_fong@apple.com>
384
385         Make Windows makefile copy build output to a different folder.
386         <rdar://problem/14219184>.
387
388         * WebCore.vcxproj/WebCore.make:
389
390 2013-06-19  Jer Noble  <jer.noble@apple.com>
391
392         Roll-on in-band captions are displayed bottom-to-top rather than top-to-bottom.
393         https://bugs.webkit.org/show_bug.cgi?id=117811
394
395         Reviewed by Eric Carlson.
396
397         When comparing Generic cues, we should check that their type is Generic, not WebVTT.
398
399         * html/track/TextTrackCueGeneric.cpp:
400         (WebCore::TextTrackCueGeneric::isOrderedBefore):
401
402 2013-06-20  Ralph Thomas  <ralpht@gmail.com>
403
404         [CMake][CSS Shaders] Add WebCore files for CSS Shaders to CMakeLists.txt
405         https://bugs.webkit.org/show_bug.cgi?id=117711
406
407         Reviewed by Laszlo Gombos.
408
409         No new tests, no CMake platforms currently enable this functionality.
410
411         * CMakeLists.txt:
412
413 2013-06-20  Alexis Menard  <alexis@webkit.org>
414
415         Cleanup usage of CSSPropertyID and CSSValueID inside WebKit.
416         https://bugs.webkit.org/show_bug.cgi?id=117829
417
418         Reviewed by Andreas Kling.
419
420         A lot of call sites were using integers to represent them. While it's
421         not incorrect per se, it's not ideal for various reason such as type
422         safety or to remove ambiguity.
423
424         This patch eradicate the wrong usage by not letting any integer based
425         API for getting CSSValueIDs or CSSPropertyIDs from CSSPrimitiveValues.
426
427         Instead we use new but typed functions to construct the values as well
428         as getting them. Two customs and internal types were added to CSSPrimitiveValue
429         to handle correctly the new APIs.
430
431         It's good to note that in order to preserve compatibility on the
432         CSSPrimitiveValue type whenever CSSPrimitiveValue handles a CSSValueID
433         or a CSSPropertyID the return type for the public API will be CSS_IDENT
434         despite it is a separate internal type.
435
436         No new tests: refactor, existing tests should cover.
437
438         * css/CSSComputedStyleDeclaration.cpp:
439         (WebCore::ComputedStyleExtractor::propertyMatches):
440         * css/CSSFontSelector.cpp:
441         (WebCore::CSSFontSelector::addFontFaceRule):
442         * css/CSSGradientValue.cpp:
443         (WebCore::positionFromValue):
444         (WebCore::CSSLinearGradientValue::customCssText):
445         (WebCore::CSSLinearGradientValue::createGradient):
446         (WebCore::CSSRadialGradientValue::customCssText):
447         (WebCore::CSSRadialGradientValue::createGradient):
448         * css/CSSParser.cpp:
449         (WebCore::CSSParser::parseSystemColor):
450         (WebCore::isFillPositionKeyword):
451         (WebCore::CSSParser::parse4ValuesFillPosition):
452         (WebCore::CSSParser::parse3ValuesFillPosition):
453         (WebCore::CSSParser::parseFillPosition):
454         (WebCore::CSSParser::parseFillRepeat):
455         (WebCore::CSSParser::parseRadialGradient):
456         (WebCore::CSSParser::isBlendMode):
457         (WebCore::CSSParser::isCompositeOperator):
458         * css/CSSParser.h:
459         * css/CSSParserValues.cpp:
460         (WebCore::CSSParserValue::createCSSValue):
461         * css/CSSPrimitiveValue.cpp:
462         (WebCore::isValidCSSUnitTypeForDoubleConversion):
463         (WebCore::CSSPrimitiveValue::primitiveType):
464         (WebCore::propertyName):
465         (WebCore::valueName):
466         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
467         (WebCore::CSSPrimitiveValue::cleanup):
468         (WebCore::CSSPrimitiveValue::getStringValue):
469         (WebCore::CSSPrimitiveValue::customCssText):
470         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
471         (WebCore::CSSPrimitiveValue::equals):
472         * css/CSSPrimitiveValue.h:
473         (WebCore::CSSPrimitiveValue::isFontRelativeLength):
474         (WebCore::CSSPrimitiveValue::isValueID):
475         (WebCore::CSSPrimitiveValue::createIdentifier):
476         (WebCore::CSSPrimitiveValue::createParserOperator):
477         (WebCore::CSSPrimitiveValue::getPropertyID):
478         (WebCore::CSSPrimitiveValue::getValueID):
479         * css/CSSPrimitiveValueMappings.h:
480         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
481         (WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
482         (WebCore::CSSPrimitiveValue::operator ColumnSpan):
483         (WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
484         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
485         (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
486         (WebCore::CSSPrimitiveValue::operator CompositeOperator):
487         (WebCore::CSSPrimitiveValue::operator ControlPart):
488         (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
489         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
490         (WebCore::CSSPrimitiveValue::operator EFillBox):
491         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
492         (WebCore::CSSPrimitiveValue::operator EBoxPack):
493         (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
494         (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
495         (WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
496         (WebCore::CSSPrimitiveValue::operator EBoxSizing):
497         (WebCore::CSSPrimitiveValue::operator EBoxDirection):
498         (WebCore::CSSPrimitiveValue::operator EBoxLines):
499         (WebCore::CSSPrimitiveValue::operator EBoxOrient):
500         (WebCore::CSSPrimitiveValue::operator ECaptionSide):
501         (WebCore::CSSPrimitiveValue::operator EClear):
502         (WebCore::CSSPrimitiveValue::operator ECursor):
503         (WebCore::CSSPrimitiveValue::operator CursorVisibility):
504         (WebCore::CSSPrimitiveValue::operator EDisplay):
505         (WebCore::CSSPrimitiveValue::operator EEmptyCell):
506         (WebCore::CSSPrimitiveValue::operator EAlignItems):
507         (WebCore::CSSPrimitiveValue::operator EJustifyContent):
508         (WebCore::CSSPrimitiveValue::operator EFlexDirection):
509         (WebCore::CSSPrimitiveValue::operator EAlignContent):
510         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
511         (WebCore::CSSPrimitiveValue::operator EFloat):
512         (WebCore::CSSPrimitiveValue::operator LineBreak):
513         (WebCore::CSSPrimitiveValue::operator EListStylePosition):
514         (WebCore::CSSPrimitiveValue::operator EListStyleType):
515         (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
516         (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
517         (WebCore::CSSPrimitiveValue::operator RegionFragment):
518         (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
519         (WebCore::CSSPrimitiveValue::operator ENBSPMode):
520         (WebCore::CSSPrimitiveValue::operator EOverflow):
521         (WebCore::CSSPrimitiveValue::operator EPageBreak):
522         (WebCore::CSSPrimitiveValue::operator EPosition):
523         (WebCore::CSSPrimitiveValue::operator EResize):
524         (WebCore::CSSPrimitiveValue::operator ETableLayout):
525         (WebCore::CSSPrimitiveValue::operator ETextAlign):
526         (WebCore::CSSPrimitiveValue::operator TextAlignLast):
527         (WebCore::CSSPrimitiveValue::operator TextJustify):
528         (WebCore::CSSPrimitiveValue::operator TextDecoration):
529         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
530         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
531         (WebCore::CSSPrimitiveValue::operator ETextSecurity):
532         (WebCore::CSSPrimitiveValue::operator ETextTransform):
533         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
534         (WebCore::CSSPrimitiveValue::operator EUserDrag):
535         (WebCore::CSSPrimitiveValue::operator EUserModify):
536         (WebCore::CSSPrimitiveValue::operator EUserSelect):
537         (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
538         (WebCore::CSSPrimitiveValue::operator EVisibility):
539         (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
540         (WebCore::CSSPrimitiveValue::operator EWordBreak):
541         (WebCore::CSSPrimitiveValue::operator EOverflowWrap):
542         (WebCore::CSSPrimitiveValue::operator TextDirection):
543         (WebCore::CSSPrimitiveValue::operator WritingMode):
544         (WebCore::CSSPrimitiveValue::operator TextCombine):
545         (WebCore::CSSPrimitiveValue::operator RubyPosition):
546         (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
547         (WebCore::CSSPrimitiveValue::operator TextOverflow):
548         (WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
549         (WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
550         (WebCore::CSSPrimitiveValue::operator TextOrientation):
551         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
552         (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
553         (WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
554         (WebCore::CSSPrimitiveValue::operator FontWeight):
555         (WebCore::CSSPrimitiveValue::operator FontItalic):
556         (WebCore::CSSPrimitiveValue::operator FontSmallCaps):
557         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
558         (WebCore::CSSPrimitiveValue::operator ColorSpace):
559         (WebCore::CSSPrimitiveValue::operator Hyphens):
560         (WebCore::CSSPrimitiveValue::operator LineSnap):
561         (WebCore::CSSPrimitiveValue::operator LineAlign):
562         (WebCore::CSSPrimitiveValue::operator Order):
563         (WebCore::CSSPrimitiveValue::operator ESpeak):
564         (WebCore::CSSPrimitiveValue::operator BlendMode):
565         (WebCore::CSSPrimitiveValue::operator LineCap):
566         (WebCore::CSSPrimitiveValue::operator LineJoin):
567         (WebCore::CSSPrimitiveValue::operator WindRule):
568         (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
569         (WebCore::CSSPrimitiveValue::operator EBorderCollapse):
570         (WebCore::CSSPrimitiveValue::operator EBorderFit):
571         (WebCore::CSSPrimitiveValue::operator EImageRendering):
572         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
573         (WebCore::CSSPrimitiveValue::operator ColumnAxis):
574         (WebCore::CSSPrimitiveValue::operator ColumnProgression):
575         (WebCore::CSSPrimitiveValue::operator WrapFlow):
576         (WebCore::CSSPrimitiveValue::operator WrapThrough):
577         (WebCore::CSSPrimitiveValue::operator GridAutoFlow):
578         (WebCore::CSSPrimitiveValue::convertToLength):
579         (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
580         (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
581         (WebCore::CSSPrimitiveValue::operator EColorRendering):
582         (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
583         (WebCore::CSSPrimitiveValue::operator EShapeRendering):
584         (WebCore::CSSPrimitiveValue::operator ETextAnchor):
585         (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
586         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
587         (WebCore::CSSPrimitiveValue::operator EMaskType):
588         * css/CSSToStyleMap.cpp:
589         (WebCore::CSSToStyleMap::mapFillAttachment):
590         (WebCore::CSSToStyleMap::mapFillSize):
591         (WebCore::CSSToStyleMap::mapAnimationDirection):
592         (WebCore::CSSToStyleMap::mapAnimationFillMode):
593         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
594         (WebCore::CSSToStyleMap::mapAnimationName):
595         (WebCore::CSSToStyleMap::mapAnimationPlayState):
596         (WebCore::CSSToStyleMap::mapAnimationProperty):
597         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
598         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
599         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
600         * css/Counter.h:
601         (WebCore::Counter::listStyleIdent):
602         * css/DeprecatedStyleBuilder.cpp:
603         (WebCore::ApplyPropertyNumber::applyValue):
604         (WebCore::ApplyPropertyAuto::applyValue):
605         (WebCore::ApplyPropertyClip::applyValue):
606         (WebCore::ApplyPropertyColor::applyValue):
607         (WebCore::ApplyPropertyLength::applyValue):
608         (WebCore::ApplyPropertyString::applyValue):
609         (WebCore::ApplyPropertyComputeLength::applyValue):
610         (WebCore::ApplyPropertyFontFamily::applyValue):
611         (WebCore::ApplyPropertyFontSize::applyValue):
612         (WebCore::ApplyPropertyFontWeight::applyValue):
613         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
614         (WebCore::ApplyPropertyCounter::applyValue):
615         (WebCore::ApplyPropertyCursor::applyValue):
616         (WebCore::ApplyPropertyTextAlign::applyValue):
617         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
618         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
619         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
620         (WebCore::ApplyPropertyLineHeight::applyValue):
621         (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
622         (WebCore::ApplyPropertyPageSize::applyValue):
623         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
624         (WebCore::ApplyPropertyResize::applyValue):
625         (WebCore::ApplyPropertyVerticalAlign::applyValue):
626         (WebCore::ApplyPropertyZoom::applyValue):
627         (WebCore::ApplyPropertyClipPath::applyValue):
628         (WebCore::ApplyPropertyShape::applyValue):
629         (WebCore::ApplyPropertyImageResolution::applyValue):
630         (WebCore::ApplyPropertyTextIndent::applyValue):
631         * css/MediaQueryEvaluator.cpp:
632         (WebCore::orientationMediaFeatureEval):
633         (WebCore::view_modeMediaFeatureEval):
634         (WebCore::pointerMediaFeatureEval):
635         * css/SVGCSSParser.cpp:
636         (WebCore::CSSParser::parseSVGValue):
637         * css/SVGCSSStyleSelector.cpp:
638         (WebCore::StyleResolver::applySVGProperty):
639         * css/StylePropertySet.cpp:
640         (WebCore::StylePropertySet::getLayeredShorthandValue):
641         * css/StyleResolver.cpp:
642         (WebCore::createGridTrackBreadth):
643         (WebCore::createGridTrackList):
644         (WebCore::createGridPosition):
645         (WebCore::StyleResolver::applyProperty):
646         (WebCore::colorForCSSValue):
647         (WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement):
648         (WebCore::StyleResolver::colorFromPrimitiveValue):
649         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
650         (WebCore::StyleResolver::createFilterOperations):
651         * css/ViewportStyleResolver.cpp:
652         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
653         * css/WebKitCSSMatrix.cpp:
654         (WebCore::WebKitCSSMatrix::setMatrixValue):
655         * editing/ApplyStyleCommand.cpp:
656         (WebCore::toIdentifier):
657         * editing/EditingStyle.cpp:
658         (WebCore::identifierForStyleProperty):
659         (WebCore::HTMLElementEquivalent::create):
660         (WebCore::HTMLElementEquivalent::HTMLElementEquivalent):
661         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
662         (WebCore::HTMLTextDecorationEquivalent::create):
663         (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent):
664         (WebCore::EditingStyle::textDirection):
665         (WebCore::EditingStyle::prepareToApplyAt):
666         (WebCore::EditingStyle::textDirectionForSelection):
667         (WebCore::fontWeightIsBold):
668         (WebCore::legacyFontSizeFromCSSValue):
669         (WebCore::isTransparentColorValue):
670         * editing/EditingStyle.h:
671         * editing/markup.cpp:
672         (WebCore::propertyMissingOrEqualToNone):
673         * platform/blackberry/RenderThemeBlackBerry.cpp:
674         (WebCore::RenderThemeBlackBerry::systemFont):
675         * platform/blackberry/RenderThemeBlackBerry.h:
676         (WebCore::RenderThemeBlackBerry::systemFont):
677         * platform/blackberry/RenderThemeEfl.cpp:
678         (WebCore::RenderThemeEfl::systemFont):
679         * platform/blackberry/RenderThemeEfl.h:
680         (WebCore::RenderThemeEfl::systemFont):
681         * platform/gtk/RenderThemeGtk.cpp:
682         (WebCore::RenderThemeGtk::systemFont):
683         * platform/gtk/RenderThemeGtk.h:
684         * platform/gtk/RenderThemeGtk2.cpp:
685         (WebCore::RenderThemeGtk::systemColor):
686         * platform/gtk/RenderThemeGtk3.cpp:
687         (WebCore::RenderThemeGtk::systemColor):
688         * platform/qt/RenderThemeQt.cpp:
689         (WebCore::RenderThemeQt::systemFont):
690         (WebCore::RenderThemeQt::systemColor):
691         * platform/qt/RenderThemeQt.h:
692         * rendering/RenderTheme.cpp:
693         (WebCore::RenderTheme::systemColor):
694         * rendering/RenderTheme.h:
695         * rendering/RenderThemeMac.h:
696         * rendering/RenderThemeMac.mm:
697         (WebCore::RenderThemeMac::systemFont):
698         (WebCore::RenderThemeMac::systemColor):
699         * rendering/RenderThemeSafari.h:
700         (WebCore::RenderThemeSafari::systemFont):
701         * rendering/RenderThemeSafari.cpp:
702         (WebCore::RenderThemeSafari::systemFont):
703         * rendering/RenderThemeWin.cpp:
704         (WebCore::RenderThemeWin::systemFont):
705         (WebCore::cssValueIdToSysColorIndex):
706         (WebCore::RenderThemeWin::systemColor):
707         * rendering/RenderThemeWin.h:
708         * rendering/RenderThemeWinCE.cpp:
709         (WebCore::RenderThemeWinCE::systemFont):
710         (WebCore::cssValueIdToSysColorIndex):
711         (WebCore::RenderThemeWinCE::systemColor):
712         * rendering/RenderThemeWinCE.h:
713
714 2013-06-19  Brent Fulgham  <bfulgham@apple.com>
715
716         AX: List Items should support a default action
717         https://bugs.webkit.org/show_bug.cgi?id=117812
718
719         Reviewed by Chris Fleizach.
720
721         * accessibility/AccessibilityObject.cpp:
722         (WebCore::AccessibilityObject::actionVerb): Provide a "select" verb
723         for use in ListItemRole objects.
724         * platform/LocalizedStrings.cpp:
725         (WebCore::AXListItemActionVerb): Added.
726         * platform/LocalizedStrings.h:
727         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
728         (WebCore::AXListItemActionVerb):
729         * platform/efl/LocalizedStringsEfl.cpp:
730         (WebCore::AXListItemActionVerb):
731         * platform/gtk/LocalizedStringsGtk.cpp:
732         (WebCore::AXListItemActionVerb):
733
734 2013-06-20  Radu Stavila  <stavila@adobe.com>
735
736         [CSS Regions] Add new regionOversetChange event
737         https://bugs.webkit.org/show_bug.cgi?id=117508
738
739         Added regionOversetChange event and tests for it. The overset value of the region has been moved to the ElementRareData
740         object instead of the RenderRegion object. This was needed for the case when a reattach is performed (for instance by changing
741         the display type of the region's containing block) and the RenderRegion object is destroyed. When computing the overset again,
742         there would be no "previous" value to compare it to and decide whether the regionOversetChange event must be dispatched.
743
744         Reviewed by Antti Koivisto.
745
746         Tests:  fast/regions/webkit-named-flow-event-add-to-flow.html:
747                 fast/regions/webkit-named-flow-event-auto-height.html:
748                 fast/regions/webkit-named-flow-event-crash.html:
749                 fast/regions/webkit-named-flow-event-no-regions.html:
750                 fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change.html: Added.
751                 fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change.html: Added.
752                 fast/regions/webkit-named-flow-event-remove-from-dom.html:
753                 fast/regions/webkit-named-flow-event-remove-from-flow.html:
754                 fast/regions/webkit-named-flow-event-target.html:
755                 fast/regions/webkit-named-flow-event-to-null.html:
756                 fast/regions/webkit-named-flow-event.html:
757
758
759         * GNUmakefile.list.am:
760         * Target.pri:
761         * WebCore.xcodeproj/project.pbxproj:
762         * dom/Element.cpp:
763         (WebCore::Element::setRegionOversetState):
764         (WebCore::Element::regionOversetState):
765         (WebCore::Element::webkitRegionOverset):
766         * dom/Element.h:
767         * dom/ElementRareData.cpp:
768         * dom/ElementRareData.h:
769         (WebCore::ElementRareData::regionOversetState):
770         (WebCore::ElementRareData::setRegionOversetState):
771         (WebCore::ElementRareData::ElementRareData):
772         * dom/EventNames.h:
773         * dom/WebKitNamedFlow.cpp:
774         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
775         (WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
776         * dom/WebKitNamedFlow.h:
777         (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
778         (WebCore::ChangeRegionOversetTask::scheduleFor):
779         (WebCore::ChangeRegionOversetTask::unschedule):
780         (WebCore::ChangeRegionOversetTask::reset):
781         (WebCore::ChangeRegionOversetTask::onTimer):
782         * rendering/RegionOversetState.h: Added.
783         * rendering/RenderBlock.cpp:
784         (WebCore::RenderBlock::computeOverflow):
785         * rendering/RenderFlowThread.cpp:
786         (WebCore::RenderFlowThread::RenderFlowThread):
787         (WebCore::RenderFlowThread::layout):
788         (WebCore::RenderFlowThread::computeOversetStateForRegions):
789         * rendering/RenderFlowThread.h:
790         * rendering/RenderNamedFlowThread.cpp:
791         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
792         (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
793         (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
794         * rendering/RenderNamedFlowThread.h:
795         * rendering/RenderRegion.cpp:
796         (WebCore::RenderRegion::RenderRegion):
797         (WebCore::RenderRegion::regionOversetState):
798         (WebCore::RenderRegion::setRegionOversetState):
799         * rendering/RenderRegion.h:
800
801 2013-06-20  James Craig  <james@cookiecrook.com>
802
803         AX: aria-required is not exposed on all expected roles
804         https://bugs.webkit.org/show_bug.cgi?id=115123
805
806         Reviewed by Chris Fleizach.
807
808         aria-required is now exposed on more roles. Updated existing test file.
809
810         * accessibility/AccessibilityNodeObject.cpp:
811         (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
812         * accessibility/AccessibilityNodeObject.h:
813         * accessibility/AccessibilityObject.h:
814         (WebCore::AccessibilityObject::supportsRequiredAttribute):
815         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
816         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
817
818 2013-06-20  Seokju Kwon  <seokju.kwon@gmail.com>
819
820         Web Inspector: Use console.timeStamp instead of console.markTimeline
821         https://bugs.webkit.org/show_bug.cgi?id=117810
822
823         Reviewed by Joseph Pecoraro.
824
825         Webkit supports both console.timeStamp and console.markTimeline.
826         And they do the exact same thing.
827         This patch gets rid of console.markTimeline for Chrome/Firebug compatibility.
828
829         No new functionality, no new tests.
830
831         * WebCore.order:
832         * page/Console.cpp:
833         * page/Console.h:
834         * page/Console.idl:
835
836 2013-06-20  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
837
838         background-color and text-decoration are not preserved when merging paragraphs
839         https://bugs.webkit.org/show_bug.cgi?id=116215
840
841         Reviewed by Ryosuke Niwa.
842
843         In mergeInlineAndImplicitStyleOfElement(), style from matched rules are retrieved.
844         If they contain either background-color or text-decoration they will be removed
845         by removeNonEditingProperties() due to copyEditingProperties() implicit
846         'OnlyInheritableEditingProperties' parameter.
847         We have already had similar issue at https://bugs.webkit.org/show_bug.cgi?id=53196
848
849         Tests: editing/deleting/merge-div-from-span-with-style.html
850                editing/deleting/merge-paragraph-from-span-with-multiple-text-decoration.html
851                editing/deleting/merge-paragraph-from-span-with-style.html
852
853         * editing/EditingStyle.cpp:
854         (WebCore::copyEditingProperties):
855         (WebCore::editingStyleFromComputedStyle):
856         Add EditingStyle:: due to move EditingPropertiesToInclude to EditingStyle.h.
857
858         (WebCore::toEditingProperties):
859         Add a helper to easy convert PropertiesToInclude to EditingPropertiesToInclude,
860         needed in mergeInlineAndImplicitStyleOfElement().
861
862         (WebCore::EditingStyle::removeAllButEditingProperties):
863         Add a parameter to choose which editing properties should be preserved while
864         removing all properties (OnlyInheritableEditingProperties implicite).
865
866         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
867         Call removeAllButEditingProperties with parameter.
868
869         * editing/EditingStyle.h:
870         Move EditingPropertiesType to the header as it's needed by removeAllButEditingProperties().
871         Change EditingPropertiesType to EditingPropertiesToInclude to be consistent with
872         PropertiesToInclude.
873         Change removeNonEditingProperties() to removeAllButEditingProperties().
874
875 2013-06-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
876
877         The order of the generated supplemental code is not guaranteed
878         https://bugs.webkit.org/show_bug.cgi?id=117820
879
880         Reviewed by Kentaro Hara.
881
882         Sort the supplemental idl files before generating the code so that it is
883         generated in a consistent order.
884
885         No new tests, covered by existing bindings tests.
886
887         * bindings/scripts/generate-bindings.pl:
888
889 2013-06-19  Commit Queue  <commit-queue@webkit.org>
890
891         Unreviewed, rolling out r151769.
892         http://trac.webkit.org/changeset/151769
893         https://bugs.webkit.org/show_bug.cgi?id=117821
894
895         Broke windows build due to missing GL/glext.h header.
896         (Requested by bfulgham on #webkit).
897
898         * WebCore.vcxproj/WebCore.vcxproj:
899         * WebCore.vcxproj/WebCore.vcxproj.filters:
900
901 2013-06-19  Alex Christensen  <alex.christensen@flexsim.com>
902
903         Added WebGL files to Windows build without enabling them.
904         https://bugs.webkit.org/show_bug.cgi?id=117809
905
906         Reviewed by Brent Fulgham.
907
908         * WebCore.vcxproj/WebCore.vcxproj: Added WebGL source files.
909         * WebCore.vcxproj/WebCore.vcxproj.filters: Added platform\graphics\opengl and platform\graphics\gpu filters.
910
911 2013-06-19  Alex Christensen  <achristensen@apple.com>
912
913         Windows build should include WebGL generated files if WebGL is enabled.
914         https://bugs.webkit.org/show_bug.cgi?id=117802
915
916         Reviewed by Brent Fulgham.
917
918         Added WebGL generated files to Windows build if WebGL is enabled.
919         * DerivedSources.cpp:
920         * WebCore.vcxproj/WebCore.vcxproj:
921         * WebCore.vcxproj/WebCore.vcxproj.filters:
922
923 2013-06-19  Alexey Proskuryakov  <ap@apple.com>
924
925         [Mac] Common crashes when playing media
926         https://bugs.webkit.org/show_bug.cgi?id=117813
927         <rdar://problem/13837412>
928
929         Reviewed by Eric Carlson.
930
931         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
932         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
933         This method may be called from a secondary thread, but it does things that are
934         not thread safe.
935
936 2013-06-19  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
937
938         Incomplete repaint of input elements in writing-mode overflow
939         https://bugs.webkit.org/show_bug.cgi?id=110246
940
941         Reviewed by Simon Fraser.
942
943         We calculate repaint rect using unflipped rect.
944         However, RenderBox::applyCachedClipAndScrollOffsetForRepaint() which is called from repaint rect calculation
945         wants that its argument rect is flipped.
946         The reason is:
947         - paintRect.move(-scrolledContentOffset()); cannot scroll if the rect is unflipped.
948         - It cannot clip using intersect.
949         Passing unflipped rect to applyCachedClipAndScrollOffsetForRepaint() cause invalid clipping.
950         Therefore, this patch flipped the rect at the first part of the function and unflipped it at the last part of the function.
951
952         Scroll bar rect is absolute rect, so it is flipped rect.
953         RenderLayer::invalidateScrollbarRect() pass the rect to repaintRectangle() which expects an argument rect is unflipped.
954         This cause part of overlapping scroll bar doesn't fade out.
955         Therefore, this patch flipped the rect and pass it to repaintRectangle().
956
957         Tests: fast/repaint/horizontal-bt-overflow-child.html
958                fast/repaint/horizontal-bt-overflow-parent.html
959                fast/repaint/horizontal-bt-overflow-same.html
960                fast/repaint/vertical-overflow-child.html
961                fast/repaint/vertical-overflow-parent.html
962                fast/repaint/vertical-overflow-same.html
963
964         * rendering/RenderBox.cpp:
965         (WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
966         * rendering/RenderLayer.cpp:
967         (WebCore::RenderLayer::invalidateScrollbarRect):
968
969 2013-06-19  Benjamin Poulain  <bpoulain@apple.com>
970
971         Use the PlatformEvent timestamp when creating a DOM Event
972         https://bugs.webkit.org/show_bug.cgi?id=117179
973
974         Reviewed by Darin Adler.
975
976         Previously, the platform event's timestamp was ignored by WebCore and each
977         new event would get a new timestamp by calling WTF::currentTime().
978
979         The problem is there can be a significant delay between the input event and
980         it being dispatched to JavaScript. Computing the velocity/acceleration of the cursor
981         is impossible since the delay vary from event to events.
982         On WebKit2, the delay per event typically vary between 0 and 30ms.
983
984         This patch changes the Event creation code to use the timer passed by the underlying platform event.
985
986         * WebCore.exp.in:
987         * dom/Event.cpp:
988         (WebCore::Event::Event):
989         * dom/Event.h:
990         * dom/GestureEvent.cpp:
991         (WebCore::GestureEvent::create):
992         (WebCore::GestureEvent::GestureEvent):
993         * dom/GestureEvent.h:
994         * dom/KeyboardEvent.cpp:
995         (WebCore::KeyboardEvent::KeyboardEvent):
996         * dom/KeyboardEvent.h:
997         * dom/MouseEvent.cpp:
998         (WebCore::MouseEvent::create):
999         (WebCore::MouseEvent::MouseEvent):
1000         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
1001         * dom/MouseEvent.h:
1002         * dom/MouseRelatedEvent.cpp:
1003         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1004         * dom/MouseRelatedEvent.h:
1005         * dom/TouchEvent.cpp:
1006         (WebCore::TouchEvent::TouchEvent):
1007         * dom/UIEvent.cpp:
1008         (WebCore::UIEvent::UIEvent):
1009         * dom/UIEvent.h:
1010         * dom/UIEventWithKeyState.h:
1011         (WebCore::UIEventWithKeyState::UIEventWithKeyState):
1012         * dom/WheelEvent.cpp:
1013         (WebCore::WheelEvent::WheelEvent):
1014         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
1015         * dom/WheelEvent.h:
1016         (WebCore::WheelEvent::create):
1017         * page/EventHandler.cpp:
1018         (WebCore::EventHandler::dispatchDragEvent):
1019         * platform/mac/PlatformEventFactoryMac.mm:
1020         (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
1021         (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
1022         (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
1023         (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
1024
1025 2013-06-19  Alexis Menard  <alexis@webkit.org>
1026
1027         Make sure to use CSSValueID and CSSPropertyID rather than integers
1028         https://bugs.webkit.org/show_bug.cgi?id=117481
1029
1030         Reviewed by Benjamin Poulain.
1031
1032         This will ensure that types are enforced when passing arguments in various
1033         css functions. Having a compile time check make sure that no mistakes
1034         will be done over the type.
1035
1036         The parser was also patched to directly use CSSValueID over integers.
1037         This patch also fixes various call sites abusing the usage of integers.
1038         This is part 1 of 2.
1039
1040         No new tests : existing ones should cover.
1041
1042         * WebCore.xcodeproj/project.pbxproj: copy CSSValueKeywords.h as it could be used in WebKit/ for example.
1043         * css/CSSComputedStyleDeclaration.cpp:
1044         (WebCore::valueForRepeatRule):
1045         (WebCore::cssIdentifierForFontSizeKeyword):
1046         (WebCore::identifierForFamily):
1047         (WebCore::valueForFamily):
1048         * css/CSSGrammar.y.in:
1049         * css/CSSParser.cpp:
1050         (WebCore::parseColorValue):
1051         (WebCore::parseKeywordValue):
1052         (WebCore::CSSParser::parseValidPrimitive):
1053         (WebCore::CSSParser::parseValue):
1054         (WebCore::CSSParser::parseContent):
1055         (WebCore::CSSParser::parseBackgroundColor):
1056         (WebCore::CSSParser::parseFillPositionComponent):
1057         (WebCore::CSSParser::parse3ValuesFillPosition):
1058         (WebCore::CSSParser::parseFillRepeat):
1059         (WebCore::CSSParser::parseAnimationProperty):
1060         (WebCore::CSSParser::parseCounterContent):
1061         (WebCore::CSSParser::parseLineHeight):
1062         (WebCore::CSSParser::parseFontSize):
1063         (WebCore::CSSParser::createFontWeightValueKeyword):
1064         (WebCore::CSSParser::parseFontWeight):
1065         (WebCore::parseDeprecatedGradientColorStop):
1066         (WebCore::parseGradientColorOrKeyword):
1067         (WebCore::CSSParser::parseDeprecatedRadialGradient):
1068         (WebCore::CSSParser::rewriteSpecifiers):
1069         * css/CSSParser.h:
1070         * css/CSSParserValues.h:
1071         * css/CSSPrimitiveValue.h:
1072         * css/CSSValuePool.cpp:
1073         (WebCore::CSSValuePool::createIdentifierValue):
1074         * css/CSSValuePool.h:
1075         * css/StylePropertySet.cpp:
1076         (WebCore::MutableStylePropertySet::setProperty):
1077         * css/StylePropertySet.h:
1078         * dom/StyledElement.cpp:
1079         (WebCore::StyledElement::setInlineStyleProperty):
1080         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
1081         * dom/StyledElement.h:
1082         * editing/EditingStyle.cpp:
1083         (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):
1084         (WebCore::EditingStyle::prepareToApplyAt):
1085         * editing/EditorCommand.cpp:
1086         (WebCore::executeApplyStyle):
1087         (WebCore::executeFontSize):
1088         * html/HTMLElement.cpp:
1089         (WebCore::unicodeBidiAttributeForDirAuto):
1090         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
1091         * html/HTMLFontElement.cpp:
1092         (WebCore::HTMLFontElement::cssValueFromFontSizeNumber):
1093         (WebCore::HTMLFontElement::collectStyleForPresentationAttribute):
1094         * html/HTMLFontElement.h:
1095         * html/HTMLTableElement.cpp:
1096         (WebCore::leakBorderStyle):
1097         * html/track/TextTrackCue.cpp:
1098         (WebCore::TextTrackCue::getCSSWritingDirection):
1099         (WebCore::TextTrackCue::getCSSWritingMode):
1100         * html/track/TextTrackCue.h:
1101
1102 2013-06-19  Bem Jones-Bey  <bjonesbe@adobe.com>
1103
1104         Fix a few missed renames from Exclusions -> Shapes
1105         https://bugs.webkit.org/show_bug.cgi?id=117803
1106
1107         Reviewed by David Hyatt.
1108
1109         In the great CSS Exclusions to CSS Shapes rename, a few instances were
1110         missed. This fixes those instances.
1111
1112         No new tests, no behavior change, just renames.
1113
1114         * rendering/RenderBlock.cpp:
1115         (WebCore::RenderBlock::updateRegionsAndShapesBeforeChildLayout):
1116         (WebCore::RenderBlock::updateRegionsAndShapesAfterChildLayout):
1117         (WebCore::RenderBlock::layoutBlock):
1118         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1119         (WebCore::RenderBlock::logicalRightOffsetForLine):
1120         * rendering/RenderBlock.h:
1121         * rendering/RenderDeprecatedFlexibleBox.cpp:
1122         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1123         * rendering/RenderFlexibleBox.cpp:
1124         (WebCore::RenderFlexibleBox::layoutBlock):
1125         * rendering/RenderGrid.cpp:
1126         (WebCore::RenderGrid::layoutBlock):
1127
1128 2013-06-19  Oliver Hunt  <oliver@apple.com>
1129
1130         Incorrect use of jsCast in a finalizer
1131         https://bugs.webkit.org/show_bug.cgi?id=117807
1132
1133         Reviewed by Geoffrey Garen.
1134
1135         We can't use jsCast in a finalizer as it checks an object's structure,
1136         and the structure may already have been swept by that point.  Use a
1137         static_cast instead.
1138
1139         * bridge/runtime_array.cpp:
1140         (JSC::RuntimeArray::destroy):
1141
1142 2013-06-19  Brent Fulgham  <bfulgham@apple.com>
1143
1144         [Windows] AX: Extend notification handling
1145         https://bugs.webkit.org/show_bug.cgi?id=117761.
1146
1147         Reviewed by Anders Carlsson.
1148
1149         accessibility/press-works-on-control-types.html
1150
1151         * accessibility/win/AXObjectCacheWin.cpp:
1152         (WebCore::AXObjectCache::postPlatformNotification): Add handlers for more event notifications.
1153         * accessibility/win/AccessibilityObjectWrapperWin.cpp:
1154         (WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue): Protect against null
1155         pointer dereference found during testing.
1156         * dom/Document.cpp:
1157         (WebCore::Document::implicitClose): Execute notification handler for Windows as well as Mac.
1158         * page/FrameView.cpp:
1159         (WebCore::FrameView::layout): Ditto.
1160
1161 2013-06-19  peavo@outlook.com  <peavo@outlook.com>
1162
1163         [WinCairo] Webfont rendering is broken.
1164         https://bugs.webkit.org/show_bug.cgi?id=117695
1165
1166         Reviewed by Brent Fulgham.
1167
1168         The native font handle created from webfont data is invalid.
1169         In much the same way it's done in WinApple, we first need to install the webfont,
1170         create a native font handle from the new font name,
1171         and pass the font handle to the FontPlatformData object, where it's needed to get the glyphs.
1172
1173         * platform/graphics/FontPlatformData.h: Added HFONT parameter to constructor.
1174         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1175         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Release installed webfont.
1176         (WebCore::FontCustomPlatformData::fontPlatformData): Create valid HFONT handle for webfont.
1177         (WebCore::createUniqueFontName): Added method to create webfont name.
1178         (WebCore::createFontCustomPlatformData): Install font from webfont data.
1179         * platform/graphics/win/FontCustomPlatformDataCairo.h: Removed.
1180         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
1181         (WebCore::FontPlatformData::FontPlatformData): Added HFONT parameter to constructor.
1182
1183 2013-06-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1184
1185         Implement WebIDL implements
1186         https://bugs.webkit.org/show_bug.cgi?id=117785
1187
1188         Reviewed by Kentaro Hara.
1189
1190         Add support for Web IDL 'implements' statements to the bindings generator:
1191         http://www.w3.org/TR/WebIDL/#dfn-implements-statement
1192
1193         Introduce ChildNode IDL interface and have Element, DocumentType and
1194         CharacterData implement it, to match the specification:
1195         http://dom.spec.whatwg.org/#childnode
1196
1197         There is no change in behavior, merely refactoring to match the
1198         specification by leveraging support for Web IDL implements statements.
1199
1200         No new tests, no behavior change.
1201
1202         * CMakeLists.txt:
1203         * DerivedSources.make:
1204         * DerivedSources.pri:
1205         * GNUmakefile.list.am:
1206         * bindings/scripts/generate-bindings.pl:
1207         * bindings/scripts/preprocess-idls.pl:
1208         (GeneratePartialInterface):
1209         (getImplementersFromIDL):
1210         * bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Added.
1211         * bindings/scripts/test/CPP/WebDOMTestImplements.h: Added.
1212         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
1213         (WebDOMTestInterface::implementsStr1):
1214         (WebDOMTestInterface::implementsStr2):
1215         (WebDOMTestInterface::setImplementsStr2):
1216         (WebDOMTestInterface::implementsNode):
1217         (WebDOMTestInterface::setImplementsNode):
1218         (WebDOMTestInterface::implementsMethod1):
1219         (WebDOMTestInterface::implementsMethod4):
1220         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
1221         * bindings/scripts/test/GObject/WebKitDOMTestImplements.cpp: Added.
1222         * bindings/scripts/test/GObject/WebKitDOMTestImplements.h: Added.
1223         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1224         (webkit_dom_test_interface_set_property):
1225         (webkit_dom_test_interface_get_property):
1226         (webkit_dom_test_interface_class_init):
1227         (webkit_dom_test_interface_implements_method1):
1228         (webkit_dom_test_interface_implements_method2):
1229         (webkit_dom_test_interface_implements_method4):
1230         (webkit_dom_test_interface_get_implements_str1):
1231         (webkit_dom_test_interface_get_implements_str2):
1232         (webkit_dom_test_interface_set_implements_str2):
1233         (webkit_dom_test_interface_get_implements_node):
1234         (webkit_dom_test_interface_set_implements_node):
1235         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1236         * bindings/scripts/test/JS/JSTestImplements.cpp: Added.
1237         * bindings/scripts/test/JS/JSTestImplements.h: Added.
1238         * bindings/scripts/test/JS/JSTestInterface.cpp:
1239         (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
1240         (WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
1241         (WebCore::jsTestInterfaceImplementsStr1):
1242         (WebCore::jsTestInterfaceImplementsStr2):
1243         (WebCore::jsTestInterfaceImplementsStr3):
1244         (WebCore::jsTestInterfaceImplementsNode):
1245         (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
1246         (WebCore::setJSTestInterfaceImplementsStr2):
1247         (WebCore::setJSTestInterfaceImplementsStr3):
1248         (WebCore::setJSTestInterfaceImplementsNode):
1249         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
1250         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
1251         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
1252         (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4):
1253         (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT1):
1254         (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT2):
1255         * bindings/scripts/test/JS/JSTestInterface.h:
1256         * bindings/scripts/test/ObjC/DOMTestImplements.cpp: Added.
1257         * bindings/scripts/test/ObjC/DOMTestImplements.h: Added.
1258         * bindings/scripts/test/ObjC/DOMTestInterface.h:
1259         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
1260         (-[DOMTestInterface implementsStr1]):
1261         (-[DOMTestInterface implementsStr2]):
1262         (-[DOMTestInterface setImplementsStr2:]):
1263         (-[DOMTestInterface implementsStr3]):
1264         (-[DOMTestInterface setImplementsStr3:]):
1265         (-[DOMTestInterface implementsNode]):
1266         (-[DOMTestInterface setImplementsNode:]):
1267         (-[DOMTestInterface implementsMethod1]):
1268         (-[DOMTestInterface implementsMethod2:objArg:]):
1269         (-[DOMTestInterface implementsMethod3]):
1270         (-[DOMTestInterface implementsMethod4]):
1271         * bindings/scripts/test/TestImplements.idl: Added.
1272         * dom/CharacterData.idl:
1273         * dom/ChildNode.idl: Copied from Source/WebCore/dom/DocumentType.idl.
1274         * dom/DocumentType.idl:
1275         * dom/Element.idl:
1276
1277 2013-06-19  Robert Hogan  <robert@webkit.org>
1278
1279         Incorrect computation of shrink-to-fit width for block with white-space:nowrap and floating children
1280         https://bugs.webkit.org/show_bug.cgi?id=114879
1281
1282         Reviewed by David Hyatt.
1283         Per http://www.w3.org/TR/CSS21/visudet.html#Computing_widths_and_margins when width is auto then floating non-replaced,
1284         absolute non-replaced, and inline-block non-replaced elements should use shrink-to-fit width. This trumps any no-wrap property 
1285         on the element so if we are shrinking to fit ensure our minimum width respects all possible line breaks.
1286
1287         Test: fast/block/shrink-to-fit-width-container-with-floating-children.html
1288
1289         * rendering/RenderBlock.cpp:
1290         (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
1291
1292 2013-06-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1293
1294         Do not require JS*Custom.h header if [CustomPutFunction] / [CustomNamedSetter] is used
1295         https://bugs.webkit.org/show_bug.cgi?id=117795
1296
1297         Reviewed by Kentaro Hara.
1298
1299         Fix the JS bindings generator so that it stops including JS*Custom.h header whenever
1300         [CustomPutFunction] or [CustomNamedSetter] IDL extended attributes are used. We don't
1301         really need this custom header and this forces the developer to create dummy custom
1302         headers so that it builds.
1303
1304         If the developer really needs such custom header to be included, he can still use
1305         [JSCustomHeader] IDL extended attribute to do so.
1306
1307         This patch also remove the dummy custom headers that were created but are no longer
1308         required to build.
1309
1310         No new tests, no behavior change. Already covered by the following bindings test:
1311         TestInterface.idl
1312
1313         * GNUmakefile.list.am:
1314         * Target.pri:
1315         * WebCore.vcxproj/WebCore.vcxproj:
1316         * WebCore.vcxproj/WebCore.vcxproj.filters:
1317         * WebCore.xcodeproj/project.pbxproj:
1318         * bindings/js/JSDOMStringMapCustom.h: Removed.
1319         * bindings/js/JSHTMLAppletElementCustom.cpp:
1320         * bindings/js/JSHTMLAppletElementCustom.h: Removed.
1321         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1322         * bindings/js/JSHTMLEmbedElementCustom.h: Removed.
1323         * bindings/js/JSHTMLObjectElementCustom.cpp:
1324         * bindings/js/JSHTMLObjectElementCustom.h: Removed.
1325         * bindings/js/JSHistoryCustom.cpp:
1326         * bindings/js/JSHistoryCustom.h: Removed.
1327         * bindings/js/JSLocationCustom.cpp:
1328         * bindings/js/JSLocationCustom.h: Removed.
1329         * bindings/js/JSStorageCustom.cpp:
1330         * bindings/js/JSStorageCustom.h: Removed.
1331         * bindings/scripts/CodeGeneratorJS.pm:
1332         (GenerateHeader):
1333
1334 2013-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1335
1336         [BlackBerry] Several tests crash due to an assert when creating an ImageBuffer
1337         https://bugs.webkit.org/show_bug.cgi?id=117793
1338
1339         Reviewed by Rob Buis.
1340
1341         JIRA 388741
1342
1343         Fixes a crash in several layout tests due to an assert when
1344         creating an ImageBuffer with an empty size.
1345
1346         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
1347         (WebCore::ImageBuffer::ImageBuffer): Return early if the given
1348         size is empty.
1349
1350 2013-06-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1351
1352         [GStreamer] [texmap] the bytesPerLine is wrong when updating the texture
1353         https://bugs.webkit.org/show_bug.cgi?id=117551
1354
1355         Reviewed by Philippe Normand.
1356
1357         The bytesPerLine (or stride) is wrong when updating the texture
1358         content. This is because the naturalSize() is not updated to the
1359         current buffer. This patch extracts the current value of the size and
1360         the stride.
1361
1362         No tests required.
1363
1364         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1365         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
1366         (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
1367
1368 2013-06-19  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
1369
1370         Adjust internal size on gstreamer source element when receiving data if necessary
1371         https://bugs.webkit.org/show_bug.cgi?id=116534
1372
1373         Reviewed by Philippe Normand.
1374
1375         If the size received in didReceiveResponse is smaller than the actual size of the received data
1376         update the internal size and the appsrc size to the proper value.
1377
1378         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1379         (StreamingClient::didReceiveData):
1380
1381 2013-06-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1382
1383         [GStreamer] Potential race condition when getting the video sink caps.
1384         https://bugs.webkit.org/show_bug.cgi?id=117736
1385
1386         Reviewed by Philippe Normand.
1387
1388         There is a potential race condition with the pad setting caps, as the
1389         buffer and the caps won't match when renegotiation happens, and might
1390         cause a crash.
1391
1392         This patch keeps an instance of the current caps in the video sink,
1393         and it is accessible through a getter method. Hence the player can ask
1394         for the current caps without running into a race condition.
1395
1396         No new tests. No change in behaviour.
1397
1398         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1399         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
1400         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
1401         (WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
1402         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
1403         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1404         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1405         (webkitVideoSinkGetProperty):
1406         (webkitVideoSinkStop):
1407         (webkitVideoSinkSetCaps):
1408         (webkit_video_sink_class_init):
1409
1410 2013-06-19  Kihong Kwon  <kihong.kwon@samsung.com>
1411
1412         Vibration can be canceled even if page visibility status is hidden
1413         https://bugs.webkit.org/show_bug.cgi?id=117333
1414
1415         Reviewed by Gyuyoung Kim.
1416
1417         vibration can be canceled in the onvisibilitychange listener even if page visibility is changed to hidden status.
1418         Therefore cancelVibration needs to work when page visibility is hidden.
1419
1420         Tests: vibration/cancelVibration-after-pagevisibility-changed-to-hidden.html
1421
1422         * Modules/vibration/NavigatorVibration.cpp:
1423         (WebCore::NavigatorVibration::vibrate):
1424         * Modules/vibration/Vibration.h:
1425         (WebCore::Vibration::isVibrating):
1426         * testing/Internals.cpp:
1427         (WebCore::Internals::isVibrating):
1428         * testing/Internals.h:
1429         * testing/Internals.idl:
1430
1431 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
1432
1433         Input type range slider is not updated when min or max are changed
1434         https://bugs.webkit.org/show_bug.cgi?id=117778
1435
1436         Reviewed by Kent Tamura.
1437
1438         Merge https://chromium.googlesource.com/chromium/blink/+/089c7a0ba2d85b9b59632c2603fbc6472b310be1.
1439
1440         Test: fast/forms/range/range-change-min-max.html
1441
1442         * html/RangeInputType.cpp:
1443         (WebCore::RangeInputType::minOrMaxAttributeChanged):
1444
1445 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
1446
1447         Remove two superfluous overrides of supportsFocus
1448         https://bugs.webkit.org/show_bug.cgi?id=117770
1449
1450         Reviewed by Benjamin Poulain.
1451
1452         Merge https://chromium.googlesource.com/chromium/blink/+/4228964a63e3a889a40efce0d01866629fdcd9b9.
1453
1454         * html/HTMLOptGroupElement.cpp:
1455         * html/HTMLOptGroupElement.h:
1456         * html/HTMLOptionElement.cpp:
1457         * html/HTMLOptionElement.h:
1458
1459 2013-06-18  Darin Adler  <darin@apple.com>
1460
1461         Improve style of null checks in FrameView::setFrameRect
1462         https://bugs.webkit.org/show_bug.cgi?id=117681
1463
1464         Reviewed by Sam Weinig.
1465
1466         * page/FrameView.cpp:
1467         (WebCore::FrameView::setFrameRect): Used nested if statements and local variables
1468         to tighten this code up a little.
1469
1470 2013-06-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1471
1472         Move IDL extended attributes to their correct location
1473         https://bugs.webkit.org/show_bug.cgi?id=117732
1474
1475         Reviewed by Kentaro Hara.
1476
1477         Move IDL extended attributes to their correct location according to the
1478         latest Web IDL specification. We used to be inconsistent in the positioning
1479         of the extended attributes. This simplifies a lot the code of the IDL parser
1480         and makes our IDL files more standard.
1481
1482         Based on Blink r148345 by Kentaro Hara <haraken@chromium.org>.
1483
1484         No new tests, no behavior change.
1485
1486         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
1487         * Modules/notifications/Notification.idl:
1488         * Modules/speech/SpeechSynthesisVoice.idl:
1489         * bindings/scripts/IDLParser.pm:
1490         (parseDefinitions):
1491         (parseInterfaceMembers):
1492         (parseInterfaceMember):
1493         (parseDictionaryMembers):
1494         (parseAttributeOrOperationOrIterator):
1495         (parseAttribute):
1496         * css/CSSFontFaceLoadEvent.idl:
1497         * dom/Document.idl:
1498         * dom/Element.idl:
1499         * dom/Node.idl:
1500         * html/HTMLBodyElement.idl:
1501         * html/HTMLEmbedElement.idl:
1502         * html/HTMLFrameSetElement.idl:
1503         * html/HTMLMediaElement.idl:
1504         * html/HTMLSelectElement.idl:
1505         * html/HTMLSourceElement.idl:
1506         * page/DOMWindow.idl:
1507         * svg/SVGElementInstance.idl:
1508         * svg/SVGScriptElement.idl:
1509         * testing/TypeConversions.idl:
1510
1511 2013-06-18  Jessie Berlin  <jberlin@apple.com>
1512
1513         Let the script to update the Localizable.strings file do the reordering it wants to do.
1514
1515         Rubber-stamped by Anders Carlsson.
1516
1517         * English.lproj/Localizable.strings:
1518
1519 2013-06-18  Brent Fulgham  <bfulgham@apple.com>
1520
1521         [Windows] Unreviewed gardening -- show missing AccessibilityNodeObject source
1522         files in Visual Studio.
1523
1524         * WebCore.vcxproj/WebCore.vcxproj: Add missing files.
1525         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1526
1527 2013-06-18  Commit Queue  <commit-queue@webkit.org>
1528
1529         Unreviewed, rolling out r151513.
1530         http://trac.webkit.org/changeset/151513
1531         https://bugs.webkit.org/show_bug.cgi?id=117763
1532
1533         It causes assertions in debug (Requested by benjaminp on
1534         #webkit).
1535
1536         * rendering/RenderLayerBacking.cpp:
1537         (WebCore::RenderLayerBacking::startAnimation):
1538         (WebCore::RenderLayerBacking::startTransition):
1539
1540 2013-06-18  Roger Fong  <roger_fong@apple.com>
1541
1542         Replace tools32 folder with tools and update WebKit Windows solution accordingly.
1543         <rdar://problem/14118143>.
1544
1545         Rubberstamped by Brent Fulgham.
1546
1547         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
1548         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props:
1549         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props:
1550         * WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props:
1551         * WebCore.vcxproj/QTMovieWin/QTMovieWinPostBuild.cmd:
1552         * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props:
1553         * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
1554         * WebCore.vcxproj/WebCore.vcxproj:
1555         * WebCore.vcxproj/WebCoreDebug.props:
1556         * WebCore.vcxproj/WebCoreDebugWinCairo.props:
1557         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
1558         * WebCore.vcxproj/WebCoreGeneratedDebug.props:
1559         * WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props:
1560         * WebCore.vcxproj/WebCoreGeneratedProduction.props:
1561         * WebCore.vcxproj/WebCoreGeneratedRelease.props:
1562         * WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props:
1563         * WebCore.vcxproj/WebCoreProduction.props:
1564         * WebCore.vcxproj/WebCoreRelease.props:
1565         * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
1566         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
1567         * WebCore.vcxproj/build-generated-files.sh:
1568
1569 2013-06-18  Zoltan Horvath  <zoltan@webkit.org>
1570
1571         [CSS Shapes] Remove lineOverflowsFromShapeInside boolean from RenderBlock::layoutRunsAndFloatsInRange function
1572         https://bugs.webkit.org/show_bug.cgi?id=117757
1573
1574         Reviewed by David Hyatt.
1575
1576         We don't need keep lineOverflowsFromShapeInside boolean in RenderBlock::layoutRunsAndFloatsInRange and in its
1577         helpers because it's easy to decide whether we are in an shape content overflow state or not, so I got rid of
1578         lineOverflowsFromShapeInside's occurences and updated the affected functions.
1579
1580         Covered by existing overflow tests in fast/exclusions/shape-inside and fast/regions/shape-inside.
1581
1582         * rendering/RenderBlock.h: Update helper's definition.
1583         * rendering/RenderBlockLineLayout.cpp:
1584         (WebCore::pushShapeContentOverflowBelowTheContentBox): Add condition when overflow is already positioned.
1585         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Remove lineOverflowsFromShapeInside.
1586         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread):  Remove lineOverflowsFromShapeInside.
1587         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):  Remove lineOverflowsFromShapeInside.
1588
1589 2013-06-18  Zalan Bujtas  <zalan@apple.com>
1590
1591         widthMediaFeatureEval ends up with null FrameView during iframe unload.
1592         https://bugs.webkit.org/show_bug.cgi?id=117754
1593
1594         Reviewed by Geoffrey Garen.
1595
1596         Ensure that MediaQueryEvaluator checks against NULL FrameView.
1597
1598         While frames are being unloaded, the Frame object does not necessarily have valid
1599         FrameView anymore. Layout on the main frame can end up querying media values on such child
1600         frames, while detaching.
1601
1602         Test: fast/frames/crash-when-child-iframe-forces-layout-during-unload-and-sibling-frame-has-mediaquery.html
1603
1604         * css/MediaQueryEvaluator.cpp:
1605         (WebCore::orientationMediaFeatureEval):
1606         (WebCore::aspect_ratioMediaFeatureEval):
1607         (WebCore::evalResolution):
1608         (WebCore::heightMediaFeatureEval):
1609         (WebCore::widthMediaFeatureEval):
1610         (WebCore::MediaQueryEvaluator::eval):
1611
1612 2013-06-18  Ruth Fong  <ruth_fong@apple.com>
1613
1614         Expose a getMediaType method in WebKit
1615         https://bugs.webkit.org/show_bug.cgi?id=117667
1616
1617         Reviewed by Brady Eidson.
1618
1619         * WebCore.exp.in: Updated to add a symbol for 
1620         HitTestResult::mediaIsVideo method
1621         and alphabetize the list of exposed methods.
1622
1623 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
1624
1625         Remove unused bool argument from ReplacementFragment's constructor
1626         https://bugs.webkit.org/show_bug.cgi?id=117752
1627
1628         Reviewed by Antti Koivisto.
1629
1630         Merge https://chromium.googlesource.com/chromium/blink/+/265586d9f154a9dff657511d09926429b8e1b53d.
1631
1632         * editing/ReplaceSelectionCommand.cpp:
1633         (WebCore::ReplacementFragment::ReplacementFragment):
1634         (WebCore::ReplaceSelectionCommand::doApply):
1635
1636 2013-06-18  Eric Carlson  <eric.carlson@apple.com>
1637
1638         Not all subtitle tracks are SDH
1639         https://bugs.webkit.org/show_bug.cgi?id=117738
1640
1641         Reviewed by Dean Jackson.
1642
1643         No new tests, existing tests updated.
1644
1645         * html/track/InbandTextTrack.cpp:
1646         (WebCore::InbandTextTrack::isSDH): New.
1647
1648         * html/track/InbandTextTrack.h: Add isSDH override.
1649         * html/track/TextTrack.h:
1650
1651         * page/CaptionUserPreferencesMac.mm:
1652         (WebCore::trackDisplayName): Only add "SDH" label if a track claims to be SDH.
1653
1654         * platform/graphics/InbandTextTrackPrivate.h:
1655         (WebCore::InbandTextTrackPrivate::isSDH): New.
1656
1657         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
1658         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1659         (WebCore::InbandTextTrackPrivateAVFObjC::isSDH): Return true if track has both "transcribes
1660             spoken dialog for accessibility" and "describes music and sound for accessibility" 
1661             characteristics.
1662
1663 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
1664
1665         Simplify FormKeyGenerator::willDeleteForm
1666         https://bugs.webkit.org/show_bug.cgi?id=117751
1667
1668         Reviewed by Antti Koivisto.
1669
1670         Merge https://chromium.googlesource.com/chromium/blink/+/c6399efb9da863eb1d1fc98b17ef925998b985ac
1671
1672         * html/FormController.cpp:
1673         (WebCore::FormKeyGenerator::willDeleteForm):
1674
1675 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
1676
1677         REGRESSION(r147602): Search text field doesn't render selection when it has some :focus rules
1678         https://bugs.webkit.org/show_bug.cgi?id=117747
1679
1680         Reviewed by Kent Tamura.
1681
1682         Merge https://chromium.googlesource.com/chromium/blink/+/7ff656c8239ce3b125246abcc8b149a603fcff28
1683
1684         r147612 added setNeedsLayout(true, MarkOnlyThis) for
1685         TextControlInnerTextElement renderer. It's ok for input[type=text]
1686         because RenderTextControlSingleLine also has needsLayout flag, and it
1687         has only the inner text renderer as a child.
1688
1689         As for input[type=search], it doesn't work. Renderer structure for
1690         input[type=search] is:
1691
1692         RenderTextControlSingleLine
1693         └Renderer for TextControlInnerContainer
1694           └Renderer for TextControlInnerElement
1695             └Renderer for TextControlInnerTextElement
1696
1697         After r147612, there is a case that only RenderTextControlSingleLine
1698         and TextControlInnerTextElement renderer have needsLayout flag, and
1699         others don't.  It won't trigger layout for
1700         TextControlInnerTextElement renderer.
1701
1702         We should set needsLayout flags of TextControlInnerContainer renderer
1703         and TextControlInnerElement renderer by MarkContainingBlockChain.
1704
1705         Manual Tests: search-select-all-with-focus-style.html
1706         (I tried but couldn't make a test that works in DRT)
1707
1708         * rendering/RenderTextControlSingleLine.cpp:
1709         (WebCore::RenderTextControlSingleLine::styleDidChange):
1710
1711 2013-06-18  Dean Jackson  <dino@apple.com>
1712
1713         Attempted build fix for non-Mac.
1714
1715         * platform/graphics/SimpleFontData.cpp:
1716         (WebCore::SimpleFontData::nonSyntheticItalicFontData):
1717
1718 2013-06-18  Dean Jackson  <dino@apple.com>
1719
1720         Synthesized vertical italics on rotated glyphs are transformed incorrectly
1721         https://bugs.webkit.org/show_bug.cgi?id=117726
1722
1723         Reviewed by Enrica Casucci.
1724
1725         If a font does not have italic glyphs, and is in a vertical flow, then
1726         the synthesis of italics was skewing in the wrong direction. While here,
1727         ensure that no CJK text will get italics in vertical layout.
1728
1729         This is a topic under discussion in the CSS Working Group. The resolution
1730         at the June 2013 face-to-face was that:
1731         - italics in Japanese (and Chinese) text are rare in vertical layout
1732         - most people wanted Latin text to italicize in the direction of the line flow
1733
1734         The final behaviour was left undefined, but we consider the change here
1735         to be sufficient for now. In all cases, the best solution is to avoid
1736         synthesized italics by specifying a font that includes such forms.
1737
1738         Tests: fast/text/international/synthesized-italic-vertical-latin.html
1739                fast/text/international/synthesized-italic-vertical.html
1740
1741         * platform/graphics/FontGlyphs.cpp:
1742         (WebCore::glyphDataAndPageForCJKCharacterWithoutSyntheticItalic): New function
1743             that makes a new glyph data pair that is marked as NOT using a synthesized italic.
1744         (WebCore::FontGlyphs::glyphDataAndPageForCharacter): If this is a CJK character and
1745             has a synthesized oblique, then run it through the function above to make a new glyph data pair.
1746         * platform/graphics/SimpleFontData.cpp:
1747         (WebCore::SimpleFontData::nonSyntheticItalicFontData): Creates/returns a new SimpleFontData that will
1748             not synthesize italics.
1749         * platform/graphics/SimpleFontData.h: New method nonSyntheticItalicFontData.
1750         * platform/graphics/mac/FontMac.mm:
1751         (WebCore::Font::drawGlyphs): This is the actual bug fix. If you are in a vertical flow, the
1752             skew direction should be downwards, not leftwards.
1753
1754 2013-06-18  Commit Queue  <commit-queue@webkit.org>
1755
1756         Unreviewed, rolling out r151549.
1757         http://trac.webkit.org/changeset/151549
1758         https://bugs.webkit.org/show_bug.cgi?id=117741
1759
1760         broke selection in the web inspector source after scrolling
1761         (Requested by smfr on #webkit).
1762
1763         * rendering/RenderBox.cpp:
1764         (WebCore::RenderBox::computeRectForRepaint):
1765         * rendering/RenderLayerModelObject.cpp:
1766         * rendering/RenderLayerModelObject.h:
1767
1768 2013-06-18  Santosh Mahto  <santosh.ma@samsung.com>
1769
1770         <video> element delays document load event for ~ 3 seconds
1771         https://bugs.webkit.org/show_bug.cgi?id=90272
1772
1773         Reviewed by Eric Carlson.
1774
1775         Test: media/media-preload-no-delay-loadevent.html
1776
1777         * html/HTMLMediaElement.cpp:
1778         (WebCore::HTMLMediaElement::prepareForLoad):
1779         No need to delay document load event here  when preload="none"
1780
1781 2013-06-18  Diego Pino Garcia  <dpino@igalia.com>
1782
1783         [GTK] Remove comment about possibility of handling ObjCPolymorphic (it's used by ObjC bindings only)
1784         https://bugs.webkit.org/show_bug.cgi?id=117546
1785
1786         Reviewed by Xan Lopez.
1787
1788         According to the WebKit IDL spec the modifier ObjCPolymorphic only
1789         applies to the Objective-C bindings generator
1790
1791         * bindings/scripts/CodeGeneratorGObject.pm:
1792         (IsPolymorphic): Remove comment. Search parameter 'type' in array, instead of
1793         concatening a series of 'or' conditionals.
1794
1795 2013-06-18  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1796
1797         Fix after r151673
1798         https://bugs.webkit.org/show_bug.cgi?id=116042
1799
1800         Reviewed by Philippe Normand.
1801
1802         Removed a spurious semicolon in the video sink caps definition.
1803
1804         No new tests, no behavior change.
1805
1806         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1807
1808 2013-06-18  Praveen R Jadhav  <praveen.j@samsung.com>
1809
1810         [WebSpeech] Speech Recognition requires convertValue support in JSDictionary
1811         https://bugs.webkit.org/show_bug.cgi?id=117731
1812
1813         Reviewed by Christophe Dumez.
1814
1815         Build fails after enabling ENABLE_SCRIPTED_SPEECH feature. This patch
1816         resolves the issue.
1817
1818         No new tests. No change in behaviour.
1819
1820         * bindings/js/JSDictionary.cpp:
1821         (WebCore::JSDictionary::convertValue):
1822         * bindings/js/JSDictionary.h:
1823
1824 2013-06-18  Mary Wu  <mary.wu@torchmobile.com.cn>
1825
1826         [BlackBerry] only notify download client when download error
1827         https://bugs.webkit.org/show_bug.cgi?id=117687
1828
1829         Reviewed by Rob Buis.
1830
1831         When met network error in downloading, we notify the error to download
1832         client through download stream, we shouldn't notify page client the error.
1833         RIM JIRA 419985
1834
1835         * platform/network/blackberry/NetworkJob.cpp:
1836         (WebCore::NetworkJob::shouldNotifyClientFailed):
1837
1838 2013-06-18  Mario Sanchez Prada  <mario.prada@samsung.com>
1839
1840         Shader compiler not properly configured for GLES on cairo based ports
1841         https://bugs.webkit.org/show_bug.cgi?id=117705
1842
1843         Reviewed by Martin Robinson.
1844
1845         Configure the shader compiler with SH_ESSL_OUTPUT for GLESv2
1846         compliant platforms, and with SH_GLSL_OUTPUT otherwise.
1847
1848         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1849         (WebCore::GraphicsContext3D::GraphicsContext3D):
1850
1851 2013-06-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1852
1853         touching any idl rebuilds all derived sources
1854         https://bugs.webkit.org/show_bug.cgi?id=117708
1855
1856         Reviewed by Kentaro Hara.
1857
1858         Fix preprocess-idls.pl script to update the following files only
1859         if they have changed:
1860         DerivedSources/WebCore/supplemental_dependency.tmp
1861         DerivedSources/WebCore/DOMWindowConstructors.idl
1862         DerivedSources/WebCore/WorkerContextConstructors.idl
1863
1864         This avoids triggering uselessly bindings generation for all IDL
1865         files whenever an IDL file is touched.
1866
1867         No new tests, no behavior change.
1868
1869         * bindings/scripts/preprocess-idls.pl:
1870         (WriteFileIfChanged):
1871         (GeneratePartialInterface):
1872
1873 2013-06-18  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1874
1875         [GStreamer] [texmap] upload a video buffer into the video texture
1876         https://bugs.webkit.org/show_bug.cgi?id=116042
1877
1878         Reviewed by Philippe Normand.
1879
1880         This patch prepares more quickly the texture when the video frame is
1881         already in the GPU memory.
1882
1883         It is done using a new buffer's metadata available in GStreamer 1.2,
1884         and its purpose is to upload buffers into a OpenGL texture.
1885
1886         If the decoder provides buffers with this metadata, the buffer will be
1887         uploaded into the texture used for the video display and it will be
1888         rendered, avoiding a expensive mem copies. This is particularly useful
1889         for Full HD videos, where all the processing and display will be done
1890         in the GPU.
1891
1892         No new tests, covered by existing tests.
1893
1894         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1895         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
1896         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
1897         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1898         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1899         (webkitVideoSinkProposeAllocation):
1900
1901 2013-06-17  Peter Gal  <galpeter@inf.u-szeged.hu>
1902
1903         [curl] Set the http response status text
1904         https://bugs.webkit.org/show_bug.cgi?id=117307
1905
1906         Reviewed by Brent Fulgham.
1907
1908         No new tests, covered by existing ones.
1909
1910         * platform/network/curl/ResourceHandleManager.cpp:
1911         (WebCore::headerCallback):
1912
1913 2013-06-14  Brent Fulgham  <bfulgham@apple.com>
1914
1915         AX: Correct accessibility role when -webkit-box:display is used.
1916         https://bugs.webkit.org/show_bug.cgi?id=117706
1917
1918         Reviewed by Chris Fleizach.
1919
1920         accessibility/box-styled-lists.html
1921
1922         * accessibility/AccessibilityRenderObject.cpp:
1923         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): If HTML token is
1924         of the list element type, treat it as a ListItemRole accessibility role, regardless
1925         of what specific renderer is being used.
1926
1927 2013-06-17  Roger Fong  <roger_fong@apple.com>
1928
1929         Add some UNUSED_PARAMs to RenderBlock.cpp so that it builds properly if CSS_EXCLUSIONS is disabled.
1930         https://bugs.webkit.org/show_bug.cgi?id=117722.
1931
1932         Rubberstamped by Jon Lee.
1933
1934         * rendering/RenderBlock.cpp:
1935         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
1936         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1937         (WebCore::RenderBlock::logicalRightOffsetForLine):
1938
1939 2013-06-17  Beth Dakin  <bdakin@apple.com>
1940
1941         PageBanners appear over HTML5 video when media element is in full screen mode
1942         https://bugs.webkit.org/show_bug.cgi?id=117721
1943         -and corresponding-
1944         <rdar://problem/13686998>
1945
1946         Reviewed by Sam Weinig.
1947
1948         Update the scrolling tree when a header/footer has been removed.
1949         * rendering/RenderLayerCompositor.cpp:
1950         (WebCore::RenderLayerCompositor::updateLayerForHeader):
1951         (WebCore::RenderLayerCompositor::updateLayerForFooter):
1952
1953 2013-06-17  Roger Fong  <roger_fong@apple.com>
1954
1955         Modify Windows makefiles to copy some bin output into Program Files.
1956         https://bugs.webkit.org/show_bug.cgi?id=117714.
1957         <rdar://problem/14179054>
1958
1959         Reviewed by Brent Fulgham.
1960
1961         * WebCore.vcxproj/WebCore.make:
1962
1963 2013-06-17  Max Vujovic  <mvujovic@adobe.com>
1964
1965         Crash in loadPendingShaders
1966         https://bugs.webkit.org/show_bug.cgi?id=117665
1967
1968         Reviewed by Dean Jackson.
1969
1970         Speculative fix because the crash reports do not contain a test case.
1971
1972         Rearrange the conditions to check m_state.hasPendingShaders() first. Additionally, check if
1973         m_state.style() is non-null.
1974
1975         No new tests. We don't know how to reproduce this crash yet.
1976
1977         * css/StyleResolver.cpp:
1978         (WebCore::StyleResolver::loadPendingShaders):
1979
1980 2013-06-17  Ruth Fong  <ruth_fong@apple.com>
1981
1982         REGRESSION: Important controls are missing from <video> element UI, when compared to QuickTime
1983         https://bugs.webkit.org/show_bug.cgi?id=20599
1984
1985         Add a "Download Video"/"Download Audio" context menu item to download media
1986         elements.
1987
1988         Reviewed by Beth Dakin.
1989
1990         No new tests. media/context-menu-action.html,
1991         which has been disabled by bug 116651, is used to test context menus.
1992
1993         * English.lproj/Localizable.strings: Updated to
1994         include localizable strings for "Download Video" and "Download Audio".
1995
1996         * page/ContextMenuController.cpp: Updated to 
1997         include and handle a "Download Video/Audio" context menu item.
1998
1999         * platform/ContextMenuItem.h:
2000
2001         * platform/LocalizedStrings.cpp: 
2002         * platform/LocalizedStrings.h:
2003         * platform/efl/LocalizedStringsEfl.cpp:
2004         * platform/gtk/LocalizedStringsGtk.cpp:
2005         * platform/qt/LocalizedStringsQt.cpp: 
2006         Updated to include localizable strings for "Download Video" and "Download Audio".
2007
2008 2013-06-17  Zoltan Horvath  <zoltan@webkit.org>
2009
2010         [CSS Shapes] Consider bottom borders when calculating the position of the overflow
2011         https://bugs.webkit.org/show_bug.cgi?id=117663
2012
2013         Reviewed by Alexandru Chiculita.
2014
2015         When you have a shape and the content overflows from the shape we need to push the overflow below the content box,
2016         not below the border box. We didn't consider the bottom borders of the content box, now I fixed it too and the overflow
2017         just starts after the content box. I added a new helper function called pushShapeContentOverflowBelowTheContentBox. Now
2018         both the shape in flow thread and the shape overflow use the same function. I added a new test and modified the existing
2019         tests to cover all the affected cases.
2020
2021         Test: fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html
2022         Existing overflow tests also modified to test the behavior:
2023               fast/exclusions/shape-inside/shape-inside-empty-expected.html
2024               fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content-expected.html
2025               fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html
2026               fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-expected.html
2027               fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html
2028               fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes-expected.html
2029               fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html
2030
2031         * rendering/RenderBlockLineLayout.cpp:
2032         (WebCore::pushShapeContentOverflowBelowTheContentBox):
2033         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine):
2034         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread):
2035
2036 2013-06-17  Igor Oliveira  <igor.o@sisa.samsung.com>
2037
2038         [CSS Regions] ::before and ::after pseudo-elements are not displayed for regions
2039         https://bugs.webkit.org/show_bug.cgi?id=80163
2040
2041         When the implementation of the before/after was moved to the DOM, before/after generated
2042         content stoppped to work with css regions. The problem happens when:
2043         1. RenderRegion can not have children and when the PseudoElement::attach tries to create a renderer for the
2044         generated content, it fails.
2045         2. RenderRegion::canHaveGeneratedChildren should not be false because regions can have generated content.
2046
2047         Reviewed by David Hyatt.
2048
2049         Tests: fast/regions/region-dynamic-after-before.html
2050                fast/regions/region-generated-content-before-after.html
2051
2052         * dom/NodeRenderingContext.cpp:
2053         (WebCore::NodeRenderingContext::shouldCreateRenderer):
2054         * rendering/RenderRegion.h:
2055
2056 2013-06-17  Michael Brüning  <michael.bruning@digia.com>
2057
2058         [Mac] Remove unmaintained GStreamer specific video code.
2059         https://bugs.webkit.org/show_bug.cgi?id=117694
2060
2061         Reviewed by Philippe Normand.
2062
2063         No new tests, no behaviour change.
2064
2065         * platform/mac/WebVideoFullscreenController.mm:
2066         (-[WebVideoFullscreenController setupVideoOverlay:]):
2067         (-[WebVideoFullscreenController windowDidLoad]):
2068         (-[WebVideoFullscreenController setMediaElement:]):
2069         (-[WebVideoFullscreenController windowDidExitFullscreen]):
2070
2071 2013-06-17  Michael Brüning  <michael.bruning@digia.com>
2072
2073         [Qt] Remove Qt specific QTKIT flagged code.
2074         https://bugs.webkit.org/show_bug.cgi?id=117635
2075
2076         Reviewed by Simon Hausmann.
2077
2078         Due to disabling QTKIT for Qt in r151546, the
2079         code the flags that are not taken into account
2080         anymore and the code that has been rendered
2081         unreachable by this are removed.
2082
2083         No new tests, no behavioural change.
2084
2085         * Target.pri:
2086         * WebCore.exp.in:
2087         * page/Settings.cpp:
2088         * page/Settings.h:
2089         * platform/KURL.h:
2090         * platform/SharedBuffer.h:
2091         * platform/cf/KURLCFNet.cpp:
2092         (WebCore::KURL::fileSystemPath):
2093         * platform/cf/SharedBufferCF.cpp:
2094         * platform/graphics/FloatSize.h:
2095         * platform/graphics/IntRect.h:
2096         * platform/graphics/IntSize.h:
2097         * platform/graphics/MediaPlayer.cpp:
2098         (WebCore::installedMediaEngines):
2099         * platform/graphics/cg/FloatSizeCG.cpp:
2100         * platform/graphics/cg/IntRectCG.cpp:
2101         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2102         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2103         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
2104         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
2105         (WebCore::MediaPlayerPrivateQTKit::paint):
2106         (-[WebCoreMovieObserver layerHostChanged:]):
2107         * platform/mac/SharedBufferMac.mm:
2108         (+[WebCoreSharedBufferData initialize]):
2109         (WebCore::SharedBuffer::createWithContentsOfFile):
2110
2111 2013-06-17  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2112
2113         REGRESSSION(r151632) : Build error on ASSERT(WTF_USE_GRAMMAR_CHECKING)
2114         https://bugs.webkit.org/show_bug.cgi?id=117692
2115
2116         Reviewed by Jocelyn Turcotte.
2117
2118         Ifdef the feature-depending code and fix the assertions to check runtime conditions.
2119
2120         * editing/Editor.cpp:
2121         (WebCore::Editor::advanceToNextMisspelling):
2122         (WebCore::Editor::markMisspellingsOrBadGrammar):
2123         (WebCore::Editor::markBadGrammar):
2124         * editing/TextCheckingHelper.cpp:
2125         (WebCore::findBadGrammars):
2126         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
2127         (WebCore::TextCheckingHelper::findFirstBadGrammar):
2128         (WebCore::TextCheckingHelper::isUngrammatical):
2129         (WebCore::TextCheckingHelper::markAllBadGrammar):
2130         (WebCore::checkTextOfParagraph):
2131         * editing/TextCheckingHelper.h:
2132
2133 2013-06-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2134
2135         Unreviewed, rolling out r151632.
2136         http://trac.webkit.org/changeset/151632
2137         https://bugs.webkit.org/show_bug.cgi?id=117585
2138
2139         Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
2140         platforms
2141
2142         * page/ContextMenuController.cpp:
2143         (WebCore::ContextMenuController::contextMenuItemSelected):
2144         (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
2145         (WebCore::ContextMenuController::populate):
2146         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
2147         * platform/LocalizedStrings.cpp:
2148         (WebCore::contextMenuItemTagSpellingMenu):
2149         (WebCore::contextMenuItemTagShowSpellingPanel):
2150         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2151         * platform/LocalizedStrings.h:
2152         * platform/efl/LocalizedStringsEfl.cpp:
2153         (WebCore::contextMenuItemTagSpellingMenu):
2154         (WebCore::contextMenuItemTagShowSpellingPanel):
2155         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2156         * platform/gtk/LocalizedStringsGtk.cpp:
2157         (WebCore::contextMenuItemTagSpellingMenu):
2158         (WebCore::contextMenuItemTagShowSpellingPanel):
2159         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2160         * platform/qt/LocalizedStringsQt.cpp:
2161         (WebCore::contextMenuItemTagSpellingMenu):
2162         (WebCore::contextMenuItemTagShowSpellingPanel):
2163         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2164
2165 2013-06-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2166
2167         Unreviewed. Fix make distcheck.
2168
2169         * GNUmakefile.list.am: Remove non existent files from compilation
2170         and add a missing header file.
2171
2172 2013-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2173
2174         Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
2175         https://bugs.webkit.org/show_bug.cgi?id=117585
2176
2177         Reviewed by Anders Carlsson.
2178
2179         Do not add "Check Grammar With Spelling" and "Ignore Grammar" to the context menu
2180         when GRAMMAR_CHECKING is off.
2181         Replace "Spelling and Grammar" with "Spelling" as the sub menu title and "Show/Hide Spelling
2182         and Grammar" with "Show/Hide Spelling" when GRAMMAR_CHECKING is off.
2183
2184         Additionally, guard grammar checking in context menu code to not necessarily
2185         compile it.
2186
2187         No new layout tests because every port has a different way of showing
2188         spelling/grammar context menu items.
2189
2190         * page/ContextMenuController.cpp:
2191         (WebCore::ContextMenuController::contextMenuItemSelected):
2192         (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
2193         (WebCore::ContextMenuController::populate):
2194         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
2195         * platform/LocalizedStrings.cpp:
2196         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2197         (WebCore::contextMenuItemTagSpellingMenu):
2198         (WebCore::contextMenuItemTagShowSpellingPanel):
2199         * platform/LocalizedStrings.h:
2200         * platform/efl/LocalizedStringsEfl.cpp:
2201         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2202         (WebCore::contextMenuItemTagSpellingMenu):
2203         (WebCore::contextMenuItemTagShowSpellingPanel):
2204         * platform/gtk/LocalizedStringsGtk.cpp:
2205         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2206         (WebCore::contextMenuItemTagSpellingMenu):
2207         (WebCore::contextMenuItemTagShowSpellingPanel):
2208         * platform/qt/LocalizedStringsQt.cpp:
2209         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2210         (WebCore::contextMenuItemTagSpellingMenu):
2211         (WebCore::contextMenuItemTagShowSpellingPanel):
2212
2213 2013-06-16  Simon Fraser  <simon.fraser@apple.com>
2214
2215         Fix test assertion after r151624
2216
2217         An assertion was hit in RenderObject::willBeDestroyed()
2218         for fast/css/getComputedStyle/getComputedStyle-background-shorthand.html
2219         because the code asserted that the RenderObject had been removed from
2220         the FrameView's slowRepaintObject set before remove() was called,
2221         so move the assertion to after that call.
2222
2223         * rendering/RenderObject.cpp:
2224         (WebCore::RenderObject::willBeDestroyed):
2225
2226 2013-06-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2227
2228         Remove a redundant virtual call to hostWindow() in FrameView::invalidateRect()
2229         https://bugs.webkit.org/show_bug.cgi?id=117685
2230
2231         Reviewed by Andreas Kling.
2232
2233         From Blink r152490 by <vivek.vg@samsung.com>
2234
2235         * page/FrameView.cpp:
2236         (WebCore::FrameView::invalidateRect): Avoid hostWindow() twice call.
2237
2238 2013-06-16  Kent Tamura  <tkent@chromium.org>
2239
2240         Fix two assertion failures in Range::insertNode
2241         https://bugs.webkit.org/show_bug.cgi?id=116511
2242
2243         Reviewed by Ryosuke Niwa.
2244
2245         > ASSERTION FAILED: childBefore == (offset ? container->childNode(offset - 1) : 0)
2246         > third_party/WebKit/Source/WebCore/dom/RangeBoundaryPoint.h(115) : void WebCore::RangeBoundaryPoint::set(PassRefPtr<WebCore::Node>, int, WebCore::Node *)
2247
2248         > ASSERTION FAILED: child->parentNode()
2249         > ../../third_party/WebKit/Source/core/dom/RangeBoundaryPoint.h(133) : void WebCore::RangeBoundaryPoint::setToBeforeChild(WebCore::Node *)
2250         >  1   0x87594b2 WebCore::RangeBoundaryPoint::setToBeforeChild(WebCore::Node*)
2251         >  2   0x87534a9 WebCore::Range::insertNode(WTF::PassRefPtr<WebCore::Node>, int&)
2252
2253         Range::insertNode calls Node::insertBefore, in which an event handler
2254         can update the DOM structure so that RangeBoundaryPoint don't like. We
2255         postpone event dispatching by EventQueueScope.
2256
2257         Also, remove old comments about Acid3. The behavior is standardized.
2258         (Step 9 of http://dom.spec.whatwg.org/#dom-range-insertnode)
2259
2260         This patch imports http://src.chromium.org/viewvc/blink?view=revision&revision=150470 .
2261
2262         Test: fast/dom/Range/range-insertNode-assertion.html
2263
2264         * dom/Range.cpp:
2265         (WebCore::Range::insertNode):
2266          - Add EventQueueScope
2267          - Remove obsolete comments
2268
2269 2013-06-16  Simon Fraser  <simon.fraser@apple.com>
2270
2271         Fixed backgrounds in composited layers not repainted on scrolling
2272         https://bugs.webkit.org/show_bug.cgi?id=117684
2273
2274         Reviewed by Tim Horton.
2275         
2276         FrameView is aware that "slow-repaint objects" (i.e. renderers with 
2277         background-attachment:fixed) require a slow-scrolling path. However,
2278         it was ignorant of the fact that such objects could be painting into
2279         compositing layers; it simply dirtied the main tiles, and nothing else.
2280         
2281         Fix by having FrameView track the slow-repaints objects explicitly, as we
2282         do for position:fixed, and repaint each of them on scrolling.
2283
2284         Test: compositing/repaint/fixed-background-scroll.html
2285
2286         * page/FrameView.cpp:
2287         (WebCore::FrameView::FrameView): No need to initialize m_slowRepaintObjectCount,
2288         which is now an OwnPtr<RenderObjectSet>.
2289         (WebCore::FrameView::useSlowRepaints): Use hasSlowRepaintObjects() now.
2290         (WebCore::FrameView::addSlowRepaintObject): Now adds the object to a set,
2291         allocating the set if necessary.
2292         (WebCore::FrameView::removeSlowRepaintObject): Remove the object from the set,
2293         and deallocate the set if empty.
2294         (WebCore::FrameView::scrollContentsSlowPath): Call repaintSlowRepaintObjects();
2295         this is the change that fixes the bug for always-composited implementations (e.g.
2296         tile cache). This is a conservative change; we still invalidate the tile cache
2297         as well. This could be optimized later.
2298         (WebCore::FrameView::repaintSlowRepaintObjects): Repaint each object in the set.
2299         Their appropriate compositing ancestor will be repainted.
2300         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Call
2301         repaintSlowRepaintObjects() so that fixed backgrounds in composited layers are
2302         correctly repainted; this fixes the bug for WebKit1.
2303         * page/FrameView.h: Replace m_slowRepaintObjectCount with a HashSet of
2304         RenderObjects.
2305         (WebCore::FrameView::hasSlowRepaintObject): Takes a RenderObject* now.
2306         (WebCore::FrameView::hasSlowRepaintObjects): Ditto.
2307         * rendering/RenderObject.cpp:
2308         (WebCore::RenderObject::styleWillChange): Pass the RenderObject.
2309         (WebCore::RenderObject::willBeDestroyed): Assert that this RenderObject
2310         has been removed from FrameView's set of slow-repaint objects already, if
2311         the document is not being destroyed.
2312         (WebCore::RenderObject::willBeRemovedFromTree): Pass the RenderObject.
2313
2314 2013-06-15  Simon Fraser  <simon.fraser@apple.com>
2315
2316         Painting of fixed background images is wrong in composited layers
2317         https://bugs.webkit.org/show_bug.cgi?id=65793
2318
2319         Reviewed by Sam Weinig.
2320         
2321         The code that computed background image geometry for background-attachment:fixed
2322         images was unaware of compositing, so often painting the image at the wrong location.
2323         
2324         Fix by having RenderBoxModelObject::calculateBackgroundImageGeometry() do the correct
2325         math for fixed backgrounds in composited layer by offsetting the viewport rect by
2326         the paint container's absolute position.
2327
2328         Tests: compositing/backgrounds/fixed-background-on-descendant.html
2329                compositing/backgrounds/fixed-backgrounds.html
2330
2331         * rendering/RenderBox.cpp:
2332         (WebCore::RenderBox::getBackgroundPaintedExtent): Now returns a bool indicating
2333         whether it is returning a reliable extent rect. It can return false in the case where
2334         a background is fixed, since computing the correct extent would require finding
2335         the appropriate composited ancestor to pass to calculateBackgroundImageGeometry().
2336         This is OK since this function is used for "background opaque" optimizations.
2337         (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured): If getBackgroundPaintedExtent()
2338         returns false, return false.
2339         (WebCore::RenderBox::maskClipRect): We removed mask-attachment, so we never need to
2340         compute the composited ancestor here and can pass null.
2341         (WebCore::RenderBox::repaintLayerRectsForImage): Unwrap a comment.
2342         If the changed image is related to a fixed background, geometry.hasNonLocalGeometry()
2343         will be true. In that cause, just repaint the entire renderer rather than groveling
2344         around for a composited ancestor.
2345         * rendering/RenderBox.h: Changed name and signature of backgroundPaintedExtent.
2346         * rendering/RenderBoxModelObject.cpp:
2347         (WebCore::RenderBoxModelObject::paintFillLayerExtended): calculateBackgroundImageGeometry()
2348         now needs to know the painting container.
2349         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Now takes a painting
2350         container, that is required to correctly compute the viewport-relative offset for fixed
2351         backgrounds. geometry.setHasNonLocalGeometry() is set for fixed backgrounds to indicate
2352         to callers that, if they didn't pass a paint container, the destRect is not accurate.
2353         The main bug fix is also here: we move the viewportRect by the absolute location of
2354         paint container, which is equivalent to the composited layer offset.
2355         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage): calculateBackgroundImageGeometry()
2356         takes a paint container.
2357         * rendering/RenderBoxModelObject.h:
2358         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry):
2359         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry):
2360         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry):
2361         * rendering/RenderImage.cpp:
2362         (WebCore::RenderImage::computeBackgroundIsKnownToBeObscured): If getBackgroundPaintedExtent()
2363         can't cheaply give an accurate answer, return false.
2364         * rendering/RenderLayerBacking.cpp:
2365         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage): Pass the paint container,
2366         which is our own renderer.
2367
2368 2013-06-15  Simon Fraser  <simon.fraser@apple.com>
2369
2370         webkit-backface-visibility on a parent element stops background-position from updating
2371         https://bugs.webkit.org/show_bug.cgi?id=116319
2372
2373         Reviewed by Darin Adler.
2374
2375         The optimization added in r102952 was incorrect in the case where a style change
2376         resulted in a positioned-movement-only layout but also required a repaint; it assumed
2377         that a composited layer did not need to be repainted for a a positioned-movement-only layout.
2378         
2379         Fix by making RenderObject::setNeedsLayoutForPositionedMovement() check whether the
2380         style change requires a repaint, and calling setLayerNeedsFullRepaint() in that situation.
2381
2382         Test: compositing/repaint/positioned-movement.html
2383
2384         * rendering/RenderLayer.h: RepaintStatus values do not need to be bit flags.
2385         * rendering/RenderObject.cpp:
2386         (WebCore::RenderObject::setStyle): Pass the old style to setNeedsPositionedMovementLayout().
2387         (WebCore::RenderObject::styleDidChange): Ditto.
2388         * rendering/RenderObject.h:
2389         (WebCore::RenderObject::setNeedsPositionedMovementLayout): Now takes a const RenderStyle*.
2390         * rendering/style/RenderStyle.cpp:
2391         (WebCore::RenderStyle::diff): Remove a comment now that this bug is fixed.
2392         (WebCore::RenderStyle::diffRequiresRepaint): Public wrapper for changeRequiresRepaint().
2393         That function never uses contextSensitiveProperties so we can safely ignore them.
2394         * rendering/style/RenderStyle.h: Expose a way to call changeRequiresRepaint().
2395
2396 2013-06-15  Darin Adler  <darin@apple.com>
2397
2398         Try to fix iOS after last Pasteboard change.
2399
2400         * platform/ios/PasteboardIOS.mm:
2401         (WebCore::Pasteboard::writeSelection): Put the new code inline here because the
2402         stringSelectionForPasteboard function is currently Mac-only.
2403
2404 2013-06-15  Darin Adler  <darin@apple.com>
2405
2406         Move Pasteboard::getStringSelection to Editor, fixing a layering violation
2407         https://bugs.webkit.org/show_bug.cgi?id=117673
2408
2409         Reviewed by Ryosuke Niwa.
2410
2411         * editing/Editor.h: Added stringSelectionForPasteboardWithImageAltText.
2412
2413         * editing/mac/EditorMac.mm:
2414         (WebCore::Editor::stringSelectionForPasteboard): Moved code here from the Pasteboard
2415         class, since all the Pasteboard class did really was turn around and call back here.
2416         (WebCore::Editor::stringSelectionForPasteboardWithImageAltText): Added. Variant of
2417         the function above that includes image alt text. Separate named functions are often
2418         the best pattern for something like this unless there are many different combinations.
2419
2420         * platform/Pasteboard.h: Remove the Mac-only Pasteboard::getStringSelectioon.
2421
2422         * platform/ios/PasteboardIOS.mm:
2423         (WebCore::Pasteboard::writeSelection):
2424         * platform/mac/PasteboardMac.mm:
2425         (WebCore::Pasteboard::writeSelectionForTypes):
2426         Call the two new functions instead of the old Pasteboard::getStringSelection.
2427
2428 2013-06-15  Darin Adler  <darin@apple.com>
2429
2430         Support using clang instead of gcc for bindings preprocessing
2431         https://bugs.webkit.org/show_bug.cgi?id=117674
2432
2433         Reviewed by Sam Weinig.
2434
2435         I couldn't build on my computer because I don't have gcc installed.
2436         This is my cut at fixing it.
2437
2438         * bindings/scripts/CodeGeneratorObjC.pm:
2439         (ReadPublicInterfaces): Use clang if present.
2440         * bindings/scripts/preprocessor.pm:
2441         (applyPreprocessor): Ditto.
2442
2443 2013-06-14  Robert Hogan  <robert@webkit.org>
2444
2445         REGRESSION (r148367): Facebook and Twitter icons at macworld.com are stacked vertically, obscuring Twitter one
2446         https://bugs.webkit.org/show_bug.cgi?id=117284
2447
2448         Reviewed by David Hyatt.
2449
2450         Test: fast/text/whitespace/inline-whitespace-wrapping-7.html
2451
2452         We were looking for line breaks in trailing collapsed whitespace even when inside a nowrap inline.
2453         It's wrong to do this as we don't know yet if we will want or need to break - that decision has to
2454         be deferred until we enter a part of the line that is autowrap.
2455
2456         * rendering/RenderBlockLineLayout.cpp:
2457         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2458
2459 2013-06-14  Lukasz Gajowy  <l.gajowy@samsung.com>
2460
2461         background-color is not preserved when inserting a new paragraph
2462         https://bugs.webkit.org/show_bug.cgi?id=117138
2463
2464         Reviewed by Ryosuke Niwa.
2465
2466         The style isn't copied because background-color isn't defined as inheritable property.
2467
2468         Test: editing/inserting/insert-paragraph-not-preserving-background-color.html
2469
2470         * editing/InsertParagraphSeparatorCommand.cpp:
2471         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
2472         Passing EditingPropertiesInEffect instead of implicit parameter OnlyEditingInheritableProperties.
2473
2474 2013-06-14  Adam Barth  <abarth@webkit.org>
2475
2476         Threaded HTML parser can ASSERT in some situations
2477         https://bugs.webkit.org/show_bug.cgi?id=117662
2478
2479         Reviewed by Ryosuke Niwa.
2480
2481         This patch merges https://chromium.googlesource.com/chromium/blink/+/3c0a112b42d72c7623f78463166dd7f04d680b4c
2482
2483         --->8---
2484         The parser is supposed to stop processing data when there's a pending
2485         location change, but before this CL we would actually process the first
2486         token from every chunk when there was a pending location change.
2487
2488         If the first token in a chunk was a "script" start tag, that would put
2489         the tree builder into TextMode, which can only process character
2490         tokens. If the next chunk starts with another start tag token, the tree
2491         builder would be sad and hit an ASSERT.
2492
2493         This CL reorders a couple lines in HTMLDocumentParser so that we check
2494         for pending location changes before processing any tokens. This change
2495         stops us from processing the first token from each chunk while there is
2496         a pending location change.
2497
2498         This issue can reproduce on any platform, but it reproduced often on
2499         Android because mobile markup often elides spaces between consecutive
2500         script tags. If there are space characters between the script tags,
2501         then those space characters will be the first ones processes in the
2502         chunk, which doesn't trigger the ASSERT.
2503         ---8<---
2504
2505         Since we landed this patch in Blink, we've been able to reproduce this
2506         issue on desktops as well. I spoke with rniwa in #webkit and he said
2507         that WebKit doesn't have any current plans to enable the threaded
2508         parser but that it was probably worth merging this patch anyway.
2509
2510         Test: http/tests/navigation/pending-location-change-assert.html
2511
2512         * html/parser/HTMLDocumentParser.cpp:
2513         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2514
2515 2013-06-14  Patrick Gansterer  <paroga@webkit.org>
2516
2517         Introduce USE(WINGDI) for the Windows port
2518         https://bugs.webkit.org/show_bug.cgi?id=116138
2519
2520         Reviewed by Ryosuke Niwa.
2521
2522         Using USE(WINGDI) instead of OS(WINCE) will allow us to
2523         compile the GDI based Windows port on WinNT too.
2524
2525         * config.h:
2526         * platform/graphics/BitmapImage.h:
2527         * platform/graphics/FontPlatformData.h:
2528         * platform/graphics/GlyphBuffer.h:
2529         (WebCore):
2530         (GlyphBuffer):
2531         * platform/graphics/Gradient.h:
2532         (Gradient):
2533         * platform/graphics/GraphicsContext.cpp:
2534         (WebCore):
2535         * platform/graphics/GraphicsContext.h:
2536         (WebCore):
2537         (GraphicsContext):
2538         * platform/graphics/ImageBufferData.h:
2539         * platform/graphics/NativeImagePtr.h:
2540         (WebCore):
2541         * platform/graphics/Path.h:
2542         * platform/graphics/Pattern.h:
2543         * plugins/win/PluginViewWin.cpp:
2544         (WebCore::PluginView::paintWindowedPluginIntoContext):
2545         (WebCore::PluginView::paint):
2546         (WebCore::PluginView::snapshot):
2547
2548 2013-06-13  Jer Noble  <jer.noble@apple.com>
2549
2550         Report the memory cost of HTMLMediaElements to GC.
2551         https://bugs.webkit.org/show_bug.cgi?id=117608
2552
2553         Reviewed by Darin Adler.
2554
2555         Report the extra memory cost of a HTMLMediaElement to the VM, in order to
2556         encourage GC to occur after a media element is removed from the DOM.
2557
2558         Because we cannot know for sure the memory cost of our underlying media
2559         framework objects, use the worst case scenario for the media memory cost:
2560         the buffered percentage of movie * the total data length of the movie.
2561
2562         * html/HTMLMediaElement.cpp:
2563         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedExtraMemoryCost.
2564         (WebCore::HTMLMediaElement::removedFrom): Report the extra memory cost.
2565         * html/HTMLMediaElement.h:
2566         * html/TimeRanges.cpp:
2567         (TimeRanges::totalDuration): Added convenience function.
2568         * html/TimeRanges.h:
2569         * platform/graphics/MediaPlayer.cpp:
2570         (WebCore::MediaPlayer::extraMemoryCost): Pass to MediaPlayerPrivate.
2571         * platform/graphics/MediaPlayer.h:
2572         * platform/graphics/MediaPlayerPrivate.h:
2573         (WebCore::MediaPlayerPrivateInterface::extraMemoryCost): Default to 0.
2574         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2575         (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): Return the percentage
2576             loaded * total data length.
2577         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2578
2579 2013-06-13  Jer Noble  <jer.noble@apple.com>
2580
2581         Add support for AVFoundation-backed HTMLMediaElements in the WebVideoFullScreenController.
2582         https://bugs.webkit.org/show_bug.cgi?id=117597
2583
2584         Reviewed by Eric Carlson.
2585
2586         Check for media elements with AVFoundation media types and create a AVPlayerLayer
2587         rather than a QTMovieLayer.
2588
2589         * platform/mac/WebVideoFullscreenController.h:
2590         * platform/mac/WebVideoFullscreenController.mm:
2591         (-[WebVideoFullscreenController setupVideoOverlay:]): Take a CALayer rather than a
2592             QTMovieLayer. Move the code which connects the layer with it's media source into
2593             setMediaElement.
2594         (-[WebVideoFullscreenController windowDidLoad]): Give the window's contentView a generic
2595             CALayer instaead of a QTMovieLayer.
2596         (-[WebVideoFullscreenController setMediaElement:]): Test whether the incoming media 
2597             element is backed by a QTMovie or an AVPlayer, and create the appropriate layer.
2598         (-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the observer of
2599             AVPlayer's rate property.
2600         (-[WebVideoFullscreenController observeValueForKeyPath:ofObject:change:context:]):
2601             If the keyPath is "rate", call rateChanged.
2602
2603 2013-06-14  Enrica Casucci  <enrica@apple.com>
2604
2605         WKPageFindStringMatches ignores the kWKFindOptionsBackwards option.
2606         https://bugs.webkit.org/show_bug.cgi?id=117647
2607         <rdar://problem/13881024>
2608
2609         Reviewed by Darin Adler.
2610         
2611         The API returns the matched ranges in the DOM order regardless of the
2612         find direction, but the index of the first match after the user selection
2613         should take the find direction into account.
2614
2615         Extended existing test in TestWebKitAPI.
2616
2617         * page/Page.cpp:
2618         (WebCore::Page::findStringMatchingRanges): Added handling of the Backwards case.
2619         * page/Page.h: Fixed incorrect name of the enum.
2620
2621 2013-06-14  Jer Noble  <jer.noble@apple.com>
2622
2623         REGRESSION (r150651): Web Audio doesn't work at all (silence or squawks) on Mountain Lion
2624         https://bugs.webkit.org/show_bug.cgi?id=117652
2625
2626         Reviewed by Eric Carlson.
2627
2628         r150651 disabled setting the buffer size to a large value, but in so doing, also
2629         disabled setting the buffer size to a small value for Web Audio. Narrow the Mountain
2630         Lion protection to just the <video> element case.
2631         
2632         * platform/audio/mac/AudioSessionManagerMac.cpp:
2633         (AudioSessionManager::updateSessionState):
2634
2635 2013-06-14  Ryosuke Niwa  <rniwa@webkit.org>
2636
2637         Function names on Object.prototype should be common identifiers
2638         https://bugs.webkit.org/show_bug.cgi?id=117614
2639
2640         Reviewed by Darin Adler.
2641
2642         Use the added common identifiers.
2643
2644         * bindings/js/JSDOMWindowBase.cpp:
2645         (WebCore::JSDOMWindowBase::finishCreation):
2646         (WebCore::JSDOMWindowBase::updateDocument):
2647
2648 2013-06-14  Arpita Bahuguna  <a.bah@samsung.com>
2649
2650         Editing: wrong text position when you click enter on the text behind the image
2651         https://bugs.webkit.org/show_bug.cgi?id=115023
2652
2653         Reviewed by Ryosuke Niwa.
2654
2655         When trying to break a line after an image followed by some text, contrary
2656         to the expected behavior the text doesn't move to a new line, instead, the
2657         caret position just shifts to the end of line.
2658
2659         As per the existing implementation for inserting a paragraph separator,
2660         the insertion position obtained corresponds to the point after the image
2661         element.
2662         Since the insertion position doesn't resolve to being offset in the
2663         following text node (0 offset), no splitting of text occurs and the block
2664         to be inserted is placed after the containing (start) block (thereby
2665         causing the caret position to shift).
2666
2667         If the computed insertionPosition points to an element that shall be
2668         ignored for editing purposes (i.e. cannot have a VisiblePosition inside
2669         it), and the position lies either at the start or at the end of such
2670         an element, we should move our Position either upstream or
2671         downstream (respectively) so as to obtain a valid position which can
2672         be used further for splitting of the text.
2673         
2674         Test: editing/inserting/insert-paragraph-after-non-editable-node-before-text.html
2675
2676         * editing/InsertParagraphSeparatorCommand.cpp:
2677         (WebCore::InsertParagraphSeparatorCommand::doApply):
2678         Moving the insertionPosition either upstream or downstream, if the point
2679         lies either at the start or at the end of the anchor node.
2680         The ensuing position, if a text node, can then be used for splitting of
2681         the text correctly.
2682
2683 2013-06-14  Alberto Garcia  <agarcia@igalia.com>
2684
2685         [BlackBerry] Remove implementation of ContextMenu classes
2686         https://bugs.webkit.org/show_bug.cgi?id=114860
2687
2688         Reviewed by Rob Buis.
2689
2690         This code is not being used so we can safely remove it.
2691
2692         * PlatformBlackBerry.cmake:
2693         * platform/blackberry/ContextMenuBlackBerry.cpp: Removed.
2694         * platform/blackberry/ContextMenuItemBlackBerry.cpp: Removed.
2695         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2696
2697 2013-06-14  Brent Fulgham  <bfulgham@apple.com>
2698
2699         [Windows] Provide simple <meter> drawing logic for testing.
2700         https://bugs.webkit.org/show_bug.cgi?id=117645.
2701
2702         Reviewed by Anders Carlsson.
2703
2704         accessbility/meter-element.html
2705
2706         * rendering/RenderThemeSafari.cpp: Simple test implementation
2707         (WebCore::RenderThemeSafari::adjustMeterStyle): Added.
2708         (WebCore::RenderThemeSafari::supportsMeter): Added.
2709         (WebCore::RenderThemeSafari::meterSizeForBounds): Added.
2710         (WebCore::RenderThemeSafari::paintMeter): Added.
2711         * rendering/RenderThemeSafari.h:
2712         * rendering/RenderThemeWin.cpp:
2713         (WebCore::RenderThemeWin::progressBarTheme): Added.
2714         (WebCore::RenderThemeWin::getClassicThemeData): Support meters.
2715         (WebCore::RenderThemeWin::getThemeData): Support meter theme.
2716         (WebCore::RenderThemeWin::adjustMeterStyle): Added.
2717         (WebCore::RenderThemeWin::supportsMeter): Added.
2718         (WebCore::RenderThemeWin::meterSizeForBounds): Added.
2719         (WebCore::RenderThemeWin::paintMeter): Added.
2720         * rendering/RenderThemeWin.h:
2721
2722 2013-06-14  Eric Carlson  <eric.carlson@apple.com>
2723
2724         Potential use-after-free with an event fired at a HTMLMediaElement which is currently being deleted
2725         https://bugs.webkit.org/show_bug.cgi?id=117466
2726
2727         Reviewed by Oliver Hunt.
2728         
2729         Merge https://chromium.googlesource.com/chromium/blink/+/f4200a0093b3d9376f703961615359ec7fb712b4
2730         
2731         If an event is created using as target an HTMLMediaElement which is
2732         currently being deleted it becomes a heap-use-after free situation.
2733
2734         The GenericEventQueue instance is already owned by the HTMLMediaElement,
2735         and there already is an underlying mechanism to set the target of the
2736         event to NULL, if their target is owner of the queue.
2737
2738         In order to avoid creating this reference in the first place, we enqueue
2739         the event with a NULL target to defer the refcount increment until the
2740         timer for dispatching the event happens (which won't happen at all if
2741         garbage collection is already destroying the objects).
2742
2743         Test: media/track/media-element-enqueue-event-crash.html
2744
2745         * dom/GenericEventQueue.cpp:
2746         (WebCore::GenericEventQueue::enqueueEvent): Don't ASSERT if the event has no target.
2747
2748         * html/HTMLMediaElement.cpp:
2749         (WebCore::HTMLMediaElement::~HTMLMediaElement): Close the event queue so it won't try to
2750             dispatch any pending events.
2751         (WebCore::HTMLMediaElement::scheduleEvent): Don't set the event target, it will happen just
2752             prior to event dispatch.
2753         (WebCore::HTMLMediaElement::stop): Close the event queue.
2754
2755 2013-06-14  Dean Jackson  <dino@apple.com>
2756
2757         Clicking on snapshotting plug-ins does not restart them
2758         https://bugs.webkit.org/show_bug.cgi?id=117620
2759         <rdar://problem/13821729>
2760
2761         Follow-up review comments from Darin Adler, with some
2762         discussion on IRC.
2763
2764         Sprinkle OVERRIDE on virtual functions where needed. Also
2765         make sure that the Event is a MouseEvent before casting to it.
2766
2767         * html/HTMLPlugInElement.h: Move defaultEventHandler back to protected and add OVERRIDE.
2768         * html/HTMLPlugInImageElement.cpp:
2769         (WebCore::HTMLPlugInImageElement::defaultEventHandler): Check for MouseEvent and
2770         use toMouseEvent().
2771         * html/HTMLPlugInImageElement.h: Sprinkle some OVERRIDEs, and move defaultEventHandler
2772         to private.
2773
2774 2013-06-14  Timothy Hatcher  <timothy@apple.com>
2775
2776         Remove front-end from the WebCore Xcode project.
2777         https://bugs.webkit.org/show_bug.cgi?id=117640
2778
2779         Reviewed by Darin Adler.
2780
2781         * WebCore.xcodeproj/project.pbxproj:
2782
2783 2013-06-14  Jaehun Lim  <ljaehun.lim@samsung.com>
2784
2785         CSSParser::parseImageSet() doesn't need a parameter.
2786         https://bugs.webkit.org/show_bug.cgi?id=117617
2787
2788         Reviewed by Darin Adler.
2789
2790         parseImageSet() can get m_valueList directly.
2791         And minor fixes.
2792
2793         No new tests, no behavior change.
2794
2795         * css/CSSParser.cpp:
2796         (WebCore::CSSParser::parseValue):
2797         (WebCore::CSSParser::parseContent):
2798         (WebCore::CSSParser::parseFillImage):
2799         (WebCore::CSSParser::parseBorderImage):
2800         (WebCore::CSSParser::parseImageSet):
2801         * css/CSSParser.h:
2802
2803 2013-06-14  Tiancheng Jiang  <tijiang@rim.com>
2804
2805         [BlackBerry] Dropdown button UX updates.
2806         https://bugs.webkit.org/show_bug.cgi?id=117642.
2807
2808         Reviewed by Rob Buis.
2809
2810         JIRA 388652
2811         Internally Reviewed by Jeff Rogers.
2812
2813         Change arrow assert.
2814
2815         * platform/blackberry/RenderThemeBlackBerry.cpp:
2816         (WebCore::RenderThemeBlackBerry::paintMenuList):
2817
2818 2013-06-14  Arvid Nilsson  <anilsson@rim.com>
2819
2820         [BlackBerry] LayerTiler fails to tile really big layers
2821         https://bugs.webkit.org/show_bug.cgi?id=117211
2822
2823         Reviewed by Carlos Garcia Campos.
2824
2825         PR 273550
2826
2827         The cause for this bug was that LayerTiler computed which tiles are
2828         visible by exhaustively mapping every tile to normalized device
2829         coordinates and checking if it intersected the viewport. If there was a
2830         lot of tiles, it would get stuck in this loop, iterating over all
2831         tiles, for a very long time. Also, the visibility information was
2832         transferred to the WebKit thread using mutexes, which added unnecessary
2833         mutex contention to the mix.
2834
2835         Fixed by doing the reverse calculation, unprojecting the visible part
2836         of the layer to layer coordinate space to find which tiles are visible.
2837         Instead of doing a traditional unprojection of point to line and see
2838         where the line intersects the layer, this patch uses the w-coordinates
2839         of triangle vertices to perform "perspective correct texturing" of the
2840         intersection points in device space, which is equivalent to
2841         unprojection since perspective correct texturing computes a 2D
2842         coordinate in (normalized) layer coordinate space which is easily
2843         scaled up to the layer bounds and get the visible region expressed in
2844         layer coordinate space.
2845
2846         The visible area is approximated by a rectangle, and a set of tiles
2847         needing render are added to the mix, and  we have a swappable data
2848         structure so visbility can be transferred to WebKit thread without
2849         mutexes, but instead using atomic swap.
2850
2851         No new tests, covered by existing tests.
2852
2853         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
2854         (CanvasLayerCompositingThreadClient):
2855         (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
2856         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
2857         (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
2858         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h:
2859         (EGLImageLayerCompositingThreadClient):
2860         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2861         (WebCore::LayerCompositingThread::drawTextures):
2862         (WebCore::LayerCompositingThread::drawSurface):
2863         * platform/graphics/blackberry/LayerCompositingThread.h:
2864         (LayerCompositingThread):
2865         * platform/graphics/blackberry/LayerCompositingThreadClient.h:
2866         (WebCore):
2867         (LayerCompositingThreadClient):
2868         * platform/graphics/blackberry/LayerRenderer.cpp:
2869         (WebCore::LayerRenderer::compositeLayersRecursive):
2870         * platform/graphics/blackberry/LayerTile.cpp:
2871         (WebCore::LayerTile::LayerTile):
2872         (WebCore::LayerTile::setContents):
2873         (WebCore::LayerTile::updateContents):
2874         (WebCore::LayerTile::discardContents):
2875         * platform/graphics/blackberry/LayerTile.h:
2876         (LayerTile):
2877         (WebCore::LayerTile::contentsScale):
2878         (WebCore::LayerTile::setContentsDirty):
2879         * platform/graphics/blackberry/LayerTiler.cpp:
2880         (LayerVisibility):
2881         (WebCore::LayerVisibility::LayerVisibility):
2882         (WebCore::LayerVisibility::visibleRect):
2883         (WebCore::LayerVisibility::setVisibleRect):
2884         (WebCore::LayerVisibility::needsRender):
2885         (WebCore::LayerVisibility::tileNeedsRender):
2886         (WebCore::LayerVisibility::willRenderTile):
2887         (WebCore::LayerVisibility::swapTilesNeedingRender):
2888         (WebCore::LayerVisibility::merge):
2889         (WebCore):
2890         (WebCore::LayerTiler::LayerTiler):
2891         (WebCore::LayerTiler::~LayerTiler):
2892         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2893         (WebCore::LayerTiler::swapFrontVisibility):
2894         (WebCore::LayerTiler::setFrontVisibility):
2895         (WebCore::LayerTiler::layerVisibilityChanged):
2896         (WebCore::LayerTiler::uploadTexturesIfNeeded):
2897         (WebCore::LayerTiler::processTextureJob):
2898         (WebCore::LayerTiler::addTileJob):
2899         (WebCore::LayerTiler::performTileJob):
2900         (WebCore::LayerTiler::drawTile):
2901         (WebCore::inflateViewport):
2902         (WebCore::LayerTiler::drawTextures):
2903         (WebCore::LayerTiler::pruneTextures):
2904         (WebCore::LayerTiler::rectForTile):
2905         * platform/graphics/blackberry/LayerTiler.h:
2906         (WebCore):
2907         (LayerTiler):
2908         (WebCore::LayerTiler::TextureJob::TextureJob):
2909         (WebCore::LayerTiler::takeFrontVisibility):
2910         * platform/graphics/blackberry/LayerUtilities.h:
2911         (WebCore):
2912         (WebCore::det):
2913         (WebCore::dot):
2914         (LayerClipEdge):
2915         (WebCore::LayerClipEdge::LayerClipEdge):
2916         (WebCore::LayerClipEdge::isPointInside):
2917         (WebCore::LayerClipEdge::computeIntersection):
2918         (WebCore::intersectPolygonWithRect):
2919         (WebCore::computeBarycentricCoordinates):
2920         (WebCore::manhattanDistanceToViewport):
2921         (UnprojectionVertex):
2922         (WebCore::compareManhattanDistanceToViewport):
2923         (WebCore::unproject):
2924
2925 2013-06-14  Antoine Quint  <graouts@apple.com>
2926
2927         [Mac] clicking caption track glyph should dismiss menu
2928         https://bugs.webkit.org/show_bug.cgi?id=117621
2929
2930         We now correctly capture all click events while the captions track menu
2931         is showing, and ensure that no other control in the media player can be
2932         activated as the track list gets dismissed by clicking anywhere but on
2933         itself.
2934
2935         Reviewed by Eric Carlson.
2936
2937         * html/shadow/MediaControlsApple.cpp:
2938         (WebCore::MediaControlsApple::showClosedCaptionTrackList):
2939         Make the controls panel non-interactive and track click events in the
2940         capture phase also on the controls container itself such that we can
2941         identify correctly whether a click in the <video> shadow tree is on
2942         the track list or another element (the target could only be resolved
2943         to a shadow tree node if the event is handled within the shadow tree).
2944
2945         (WebCore::MediaControlsApple::hideClosedCaptionTrackList):
2946         Make the controls panel interactive again and remove the new click
2947         event handler on the controls container.
2948
2949         (WebCore::MediaControlsApple::handleClickEvent):
2950         Capture any click event that targets a node anywhere outside of the track
2951         list container and its subtree and hide the track list in this condition.
2952
2953         (WebCore::MediaControlsAppleEventListener::handleEvent):
2954         Call handleClickEvent() on the media controls when a click event is handled.
2955
2956         * html/shadow/MediaControlsApple.h:
2957         New public handleClickEvent() API such that it can be called from
2958         MediaControlsAppleEventListener::handleEvent().
2959
2960 2013-06-14  Arvid Nilsson  <anilsson@rim.com>
2961
2962         [BlackBerry] Accelerated compositing layers that intersect the image plane are incorrectly transformed
2963         https://bugs.webkit.org/show_bug.cgi?id=117067
2964
2965         Reviewed by Carlos Garcia Campos.
2966
2967         PR 273550
2968
2969         The BlackBerry port used to mathematically project each corner of each
2970         layer bounds rectangle, which gives the wrong results when the layer
2971         intersects the image plane.
2972
2973         For display lists, we still got the correct appearance of the layer
2974         contents, since the display list results in geometry that's transformed
2975         in the vertex shader, on the GPU.
2976
2977         However, the transformed bounds are used for drawing the debug border,
2978         performing visibility calculations on the CPU and drawing of WebGL,
2979         masks/reflections and filters. Using the mathematical projection of
2980         points that lie behind the image plane gives the wrong results.
2981
2982         The most important consequence of this bug was that the wrong area of
2983         the layer would be considered visible, so a tiled layer would not
2984         populate the right tiles (or any tiles at all).
2985
2986         Fixed by implementing something along the lines of the recipe in
2987         section 6.2 of http://www.w3.org/TR/css3-transforms.
2988
2989         No new tests, manually testable by enabling debug border on
2990         https://developer.mozilla.org/en-US/demos/detail/the-box/launch.
2991
2992         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
2993         (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
2994         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2995         (WebCore::LayerCompositingThread::LayerCompositingThread):
2996         (WebCore::LayerCompositingThread::setDrawTransform):
2997         (WebCore):
2998         (WebCore::LayerCompositingThread::textureCoordinates):
2999         (WebCore::LayerCompositingThread::drawTextures):
3000         * platform/graphics/blackberry/LayerCompositingThread.h:
3001         (LayerCompositingThread):
3002         (WebCore::LayerCompositingThread::transformedBounds):
3003         (WebCore::LayerCompositingThread::ws):
3004         (WebCore::LayerCompositingThread::centerW):
3005         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
3006         (WebCore::LayerFilterRenderer::applyActions):
3007         * platform/graphics/blackberry/LayerRenderer.cpp:
3008         (WebCore::compareLayerW):
3009         (WebCore::LayerRenderer::compositeLayers):
3010         (WebCore::LayerRenderer::drawDebugBorder):
3011         (WebCore):
3012         (WebCore::LayerRenderer::updateLayersRecursive):
3013         (WebCore::LayerRenderer::compositeLayersRecursive):
3014         * platform/graphics/blackberry/LayerRenderer.h:
3015         (WebCore):
3016         (LayerRenderer):
3017         * platform/graphics/blackberry/LayerRendererSurface.cpp:
3018         (WebCore::LayerRendererSurface::boundingBox):
3019         (WebCore::LayerRendererSurface::transformedBounds):
3020         * platform/graphics/blackberry/LayerRendererSurface.h:
3021         (WebCore::LayerRendererSurface::setDrawTransform):
3022         (WebCore::LayerRendererSurface::setReplicaDrawTransform):
3023         (LayerRendererSurface):
3024         * platform/graphics/blackberry/LayerUtilities.h: Added.
3025         (WebCore):
3026         (LayerClipPlane):
3027         (WebCore::LayerClipPlane::LayerClipPlane):
3028         (WebCore::LayerClipPlane::isPointInside):
3029         (WebCore::LayerClipPlane::computeIntersection):
3030         (WebCore::intersect):
3031         (WebCore::boundingBox):
3032         (WebCore::multVecMatrix):
3033         (WebCore::toVector):
3034
3035 2013-06-14  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3036
3037         [Qt] Map rewind and fast forward keys to match GoogleTV
3038         https://bugs.webkit.org/show_bug.cgi?id=117634
3039
3040         Reviewed by Jocelyn Turcotte.
3041
3042         Set the same keycode for media keys rewind and fast-forward as
3043         GoogleTV does.
3044
3045         * platform/qt/PlatformKeyboardEventQt.cpp:
3046         (WebCore::windowsKeyCodeForKeyEvent):
3047
3048 2013-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
3049
3050         Avoid unnecessary data copies when loading subresources with DoNotBufferData option
3051         https://bugs.webkit.org/show_bug.cgi?id=115804
3052
3053         Reviewed by Darin Adler.
3054
3055         When DoNotBufferData option is used to load a resource its data
3056         is always copied before sending it to the CachedResource. Most
3057         of the cached resources ignore the incremental data and wait
3058         until all data has been received to save the ResourceBuffer,
3059         that will be NULL anyway when DoNotBufferData is used.
3060         CachedRawResource notifies its clients about the incremental
3061         data, but it doesn't save the data when DoNotBufferData option
3062         is present. In those cases we are unnecessary copying the data.
3063
3064         CachedResource::data has been split into
3065         CachedResource::addDataBuffer() used for incremental data chunks
3066         when buffering data, CachedResource::addData() used for
3067         incremental data chunks when not buffering and
3068         CachedResource::finishLoading() used to finish the loading. This
3069         way we get rid of the allDataReceived boolean parameter and cached
3070         resources not interested in incremenetal data chunks only have to
3071         implement finishLoading() without having to check if all data have
3072         been received or not.
3073
3074         SubresourceLoader::sendDataToResource was always called after
3075         checking if loading multipart content, and then it was checked
3076         again to decided whether to copy the data or not. It has been
3077         removed in favor of calling directly the resource methods,
3078         finishLoading for multipart content, addDataBuffer for data chunks
3079         when buffering and addData for data chunks when not buffering.
3080
3081         No new functionality, covered by existing tests.
3082
3083         * html/ImageDocument.cpp:
3084         (WebCore::ImageDocumentParser::appendBytes): Update to API changes.
3085         (WebCore::ImageDocumentParser::finish): Ditto.
3086         * loader/SubresourceLoader.cpp:
3087         (WebCore::SubresourceLoader::didReceiveResponse): Call
3088         finishLoading() for multipart content.
3089         (WebCore::SubresourceLoader::didReceiveDataOrBuffer): Add data to
3090         the resource using addDataBuffer or addData depending on whether
3091         we are buffering or not.
3092         (WebCore::SubresourceLoader::didFinishLoading): Call
3093         finishLoading() for the cached resource instead of data.
3094         * loader/SubresourceLoader.h:
3095         * loader/cache/CachedCSSStyleSheet.cpp:
3096         (WebCore::CachedCSSStyleSheet::finishLoading):
3097         * loader/cache/CachedCSSStyleSheet.h:
3098         * loader/cache/CachedFont.cpp:
3099         (WebCore::CachedFont::finishLoading):
3100         * loader/cache/CachedFont.h:
3101         * loader/cache/CachedImage.cpp:
3102         (WebCore::CachedImage::isValidDecodedImageSize): Helper function
3103         to check if the image size is valid.
3104         (WebCore::CachedImage::addIncrementalDataBuffer): Helper function
3105         to add incremental data buffer.
3106         (WebCore::CachedImage::addDataBuffer): Call
3107         addIncrementalDataBuffer().
3108         (WebCore::CachedImage::addData): Create a ResourceBuffer and call
3109         addIncrementalDataBuffer().
3110         (WebCore::CachedImage::finishLoading):
3111         * loader/cache/CachedImage.h:
3112         * loader/cache/CachedRawResource.cpp:
3113         (WebCore::CachedRawResource::calculateIncrementalDataChunk):
3114         Returns a pointer to the data corresponding to the current chunk
3115         and its length.
3116         (WebCore::CachedRawResource::addDataBuffer): Assert to make sure
3117         this is only called when BufferData option is present. Use
3118         calculateIncrementalDataChunk().
3119         (WebCore::CachedRawResource::addData): Assert to make sure this is
3120         only called when DoNotBufferData option is present.
3121         (WebCore::CachedRawResource::finishLoading):
3122         (WebCore::CachedRawResource::notifyClientsDataWasReceived): Helper
3123         private function to notify the clients about data received.
3124         * loader/cache/CachedRawResource.h:
3125         * loader/cache/CachedResource.cpp:
3126         (WebCore::CachedResource::addDataBuffer):
3127         (WebCore::CachedResource::addData):
3128         (WebCore::CachedResource::finishLoading):
3129         * loader/cache/CachedResource.h:
3130         * loader/cache/CachedSVGDocument.cpp:
3131         (WebCore::CachedSVGDocument::finishLoading):
3132         * loader/cache/CachedSVGDocument.h:
3133         * loader/cache/CachedScript.cpp:
3134         (WebCore::CachedScript::finishLoading):
3135         * loader/cache/CachedScript.h:
3136         * loader/cache/CachedShader.cpp:
3137         (WebCore::CachedShader::finishLoading):
3138         * loader/cache/CachedShader.h:
3139         * loader/cache/CachedTextTrack.cpp:
3140         (WebCore::CachedTextTrack::addDataBuffer):
3141         (WebCore::CachedTextTrack::finishLoading):
3142         * loader/cache/CachedTextTrack.h:
3143         * loader/cache/CachedXSLStyleSheet.cpp:
3144         (WebCore::CachedXSLStyleSheet::finishLoading):
3145         * loader/cache/CachedXSLStyleSheet.h:
3146
3147 2013-06-14  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3148
3149         [EFL] Fix build when DRAG_SUPPORT is set OFF
3150         https://bugs.webkit.org/show_bug.cgi?id=117628
3151
3152         Reviewed by Gyuyoung Kim.
3153
3154         Add guard around Clipboard::declareAndWriteDragImage.
3155
3156         * platform/efl/ClipboardEfl.cpp:
3157
3158 2013-06-13  Simon Fraser  <simon.fraser@apple.com>
3159
3160         Sometimes we stick in slow scrolling mode even after leaving a page
3161         https://bugs.webkit.org/show_bug.cgi?id=117622
3162
3163         Reviewed by Sam Weinig.
3164         
3165         ScrollingCoordinator, and thus the scrolling state tree, is owned by Page,
3166         and so persists when navigating between cached pages. We do give the ScrollingStateTree
3167         a new ScrollingStateScrollingNode on navigation, however the ScrollingStateScrollingNode
3168         would not have dirty flags set for, say, WheelEventHandlerCount if the document had
3169         no wheel handlers. And because that dirty flag wasn't set, ScrollingTree::commitNewTreeState()
3170         would fail to update m_hasWheelEventHandlers, so we'd remain in slow scrolling.
3171         
3172         Fix by having ScrollingStateTree remember if it's been given a new root ScrollingStateScrollingNode,
3173         and making ScrollingTree::commitNewTreeState() to the right thing in that case.
3174         
3175         Also fix a couple of issues with the tiled scrolling indicator. First, on cached page
3176         navigation, the indicator color would show the state for the old page, because
3177         ScrollingCoordinatorMac::commitTreeState() checked scrollingTree()->hasWheelEventHandlers()
3178         before the scrolling thread has committed the new scrolling tree.
3179         
3180         Second, the color change would animate, so stop that.
3181
3182         Not testable, since tests can only dump the scrolling state tree.
3183
3184         * page/scrolling/ScrollingStateTree.cpp:
3185         (WebCore::ScrollingStateTree::ScrollingStateTree):
3186         (WebCore::ScrollingStateTree::attachNode):
3187         (WebCore::ScrollingStateTree::commit):
3188         * page/scrolling/ScrollingStateTree.h:
3189         (WebCore::ScrollingStateTree::hasNewRootStateNode):
3190         * page/scrolling/ScrollingTree.cpp:
3191         (WebCore::ScrollingTree::commitNewTreeState):
3192         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3193         (WebCore::ScrollingCoordinatorMac::commitTreeState):
3194         * platform/graphics/ca/mac/TileController.mm:
3195         (-[WebTiledScrollingIndicatorLayer init]): Turn off borderColor implicit animations.
3196
3197 2013-06-13  Peter Gal  <galpeter@inf.u-szeged.hu>
3198
3199         [curl] Merge http response header values
3200         https://bugs.webkit.org/show_bug.cgi?id=117342
3201
3202         Reviewed by Brent Fulgham.
3203
3204         According to the HTTP RFC some HTTP header values should be
3205         merged if multiple entries for the same header exists.
3206
3207         * platform/network/curl/ResourceHandleManager.cpp:
3208         (WebCore::isAppendableHeader):
3209         (WebCore::headerCallback):
3210
3211 2013-06-13  Simon Fraser  <simon.fraser@apple.com>
3212
3213         Should not call firePaintRelatedMilestones() for "update control tints" paint pass
3214         https://bugs.webkit.org/show_bug.cgi?id=117624
3215
3216         Reviewed by Sam Weinig.
3217
3218         When window activation changes, we do a fake paint pass that is just used to
3219         invalidate controls that change their appearance in background windows. This fake
3220         paint should not be recorded in the inspector, and it should not cause paint-related
3221         milestones to fire.
3222
3223         * page/FrameView.cpp:
3224         (WebCore::FrameView::paintContents):
3225
3226 2013-06-13  Dean Jackson  <dino@apple.com>
3227
3228         Clicking on snapshotting plug-ins does not restart them
3229         https://bugs.webkit.org/show_bug.cgi?id=117620
3230         <rdar://problem/13821729>
3231
3232         Reviewed by Simon Fraser.
3233
3234         HTMLPlugInElement has an event handler which would return
3235         immediately if the element was not snapshotted, restarting
3236         or playing. There is a case it missed, which was snapshotting
3237         (WaitingForSnapshot to be precise). If we get a click in this
3238         state then it should immediately restart.
3239
3240         * html/HTMLPlugInElement.h: Move defaultEventHandler to public (we call it from the child class).
3241         * html/HTMLPlugInImageElement.cpp:
3242         (WebCore::HTMLPlugInImageElement::defaultEventHandler): If there is a click on a snapshotting
3243         plug-in, then call restart.
3244         * html/HTMLPlugInImageElement.h: Virtual defaultEventHandler declaration.
3245
3246 2013-06-13  Zoltan Horvath  <zoltan@webkit.org>
3247
3248         Use borderAndPadding[Before,After]() instead of border[Before,After]() + padding[Before,After]()
3249         https://bugs.webkit.org/show_bug.cgi?id=117611
3250
3251         Reviewed by Dirk Schulze.
3252
3253         I added a new function called borderAndPaddingAfter(), since we already had borderAndPaddingBefore(). I changed
3254         every separate additions to the old/new function. This change makes the code shorter and more straightforward.
3255
3256         Behavior hasn't changed, no new tests were needed.
3257
3258         * rendering/InlineFlowBox.cpp:
3259         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3260         * rendering/RenderBlock.cpp:
3261         (WebCore::RenderBlock::layoutBlock):
3262         (WebCore::RenderBlock::marginBeforeEstimateForChild):
3263         (WebCore::RenderBlock::layoutBlockChildren):
3264         (WebCore::RenderBlock::paintColumnRules):
3265         (WebCore::RenderBlock::columnRectAt):
3266         (WebCore::RenderBlock::relayoutForPagination):
3267         (WebCore::RenderBlock::adjustRectForColumns):
3268         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
3269         (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
3270         (WebCore::RenderBlock::adjustForColumns):
3271         * rendering/RenderBlockLineLayout.cpp:
3272         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread):
3273         (WebCore::RenderBlock::layoutInlineChildren):
3274         * rendering/RenderBoxModelObject.h:
3275         (WebCore::RenderBoxModelObject::borderAndPaddingStart):
3276         (WebCore::RenderBoxModelObject::borderAndPaddingBefore):
3277         (WebCore::RenderBoxModelObject::borderAndPaddingAfter):
3278         (WebCore::RenderBoxModelObject::borderAndPaddingLogicalHeight):
3279         * rendering/RenderMultiColumnBlock.cpp:
3280         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
3281         * rendering/RenderMultiColumnSet.cpp:
3282         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
3283         (WebCore::RenderMultiColumnSet::prepareForLayout):
3284         (WebCore::RenderMultiColumnSet::columnRectAt):
3285         * rendering/RenderTableCell.cpp:
3286         (WebCore::RenderTableCell::computeIntrinsicPadding):
3287         (WebCore::RenderTableCell::cellBaselinePosition):
3288         * rendering/RenderTableSection.cpp:
3289         (WebCore::RenderTableSection::calcRowLogicalHeight):
3290         (WebCore::RenderTableSection::layoutRows):
3291         (WebCore::RenderTableSection::firstLineBoxBaseline):
3292         * rendering/RootInlineBox.cpp:
3293         (WebCore::RootInlineBox::lineSnapAdjustment):
3294         (WebCore::RootInlineBox::selectionTop):
3295         (WebCore::RootInlineBox::ascentAndDescentForBox):
3296
3297 2013-06-13  Andreas Kling  <akling@apple.com>
3298
3299         Move Node::shouldUseInputMethod() to Element.
3300         <http://webkit.org/b/117603>
3301
3302         Reviewed by Antti Koivisto.
3303
3304         This method is only ever called on Elements, so move it off of Node.
3305
3306         * dom/Element.cpp:
3307         (WebCore::Element::shouldUseInputMethod):
3308         * dom/Element.h:
3309         * dom/Node.cpp:
3310         * dom/Node.h:
3311         * html/HTMLInputElement.h:
3312         * html/HTMLTextAreaElement.h:
3313
3314 2013-06-13  Max Vujovic  <mvujovic@adobe.com>
3315
3316         [CSS Regions] Selection dragged from a region paints its background
3317         https://bugs.webkit.org/show_bug.cgi?id=117607
3318
3319         Reviewed by Alexandru Chiculita.
3320
3321         When a RenderFlowThread is in the selection paint phase, tell its layer to paint with the
3322         selection only behavior. This way, only foregrounds and not backgrounds will be painted in
3323         the dragged selection.
3324
3325         Manual test: ManualTests/regions/drag-selection-painting.html
3326
3327         * rendering/RenderFlowThread.cpp:
3328         (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
3329
3330 2013-06-13  Zoltan Horvath  <zoltan@webkit.org>
3331
3332         [CSS Shapes][CSS Regions] Respect bottom positioned shapes and content adjustment inside shapes
3333         https://bugs.webkit.org/show_bug.cgi?id=117599
3334
3335         Reviewed by David Hyatt.
3336
3337         In r150478 I added support for multiple positioned shape-insides on regions, this patch covers the cases when a shape
3338         is positioned to the bottom of the region or the region contains a shape which forces the content to be adjusted inside
3339         the shape (e.g. we have a triangle shape and the first line needs to be started at the first position where it fits).
3340         I introduced a new helper function to update the current shape and the current line segments in the flow thread cases. With
3341         this new helper function all the logic which calculates the segments for shape-inside on regions is located in one function.
3342
3343         Tests: fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html
3344                fast/regions/shape-inside/shape-inside-on-regions-block-content-polygon-with-adjustment.html
3345                fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html
3346                fast/regions/shape-inside/shape-inside-on-regions-inline-content-polygon-with-adjustment.html
3347
3348         * rendering/RenderBlock.h: Add new helper's declaration
3349         * rendering/RenderBlockLineLayout.cpp:
3350         (WebCore::LineLayoutState::LineLayoutState): Add a member to carry adjustment for flow thread cases.
3351         (WebCore::LineLayoutState::adjustedLogicalLineTop): Add new member.
3352         (WebCore::LineLayoutState::setAdjustedLogicalLineTop): Add new setter for the new member.
3353         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Move flow thread case to its helper function.
3354         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread): Added new helper for flow thread cases.
3355         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): Save adjustment for flow thread cases.
3356
3357 2013-06-13  Mihai Tica  <mitica@adobe.com>
3358
3359         [CSS Background Blending] Enable CSS Background blending for layers with SVGs.
3360
3361         The change implies adding the blending parameter for SVGImage
3362         https://bugs.webkit.org/show_bug.cgi?id=117588
3363
3364         Reviewed by Dirk Schulze.
3365
3366         Tests: css3/compositing/background-blend-mode-image-svg.html
3367                css3/compositing/background-blend-mode-svg-color.html
3368
3369         * svg/graphics/SVGImage.cpp:
3370         (WebCore::SVGImage::draw):
3371
3372 2013-06-13  Mihai Tica  <mitica@adobe.com>
3373
3374         Updating the -webkit-background-blend-mode property dynamically does not trigger a redraw of the element.
3375
3376         Adding krit's fix: actual blending values should be compared, not the sets.
3377         https://bugs.webkit.org/show_bug.cgi?id=117223
3378
3379         Reviewed by Dirk Schulze.
3380
3381         Test: css3/compositing/background-blend-mode-image-color-dynamic.html
3382
3383         * rendering/style/FillLayer.cpp:
3384         (WebCore::FillLayer::operator==):
3385
3386 2013-06-13  Beth Dakin  <bdakin@apple.com>
3387
3388         Headers and footers should be pinned to the left edge of the window when scrolling 
3389         horizontally, even when zoomed
3390         https://bugs.webkit.org/show_bug.cgi?id=117562
3391         -and corresponding-
3392         <rdar://problem/14006745>
3393
3394         Reviewed by Sam Weinig.
3395
3396         We really want to use the width value from scrollOffsetForFixedPosition() for the 
3397         banner with a scaled factor of 1. So if there is a different scale factor, re-
3398         compute this value specifically for the banners. 
3399         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3400         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
3401
3402 2013-06-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3403
3404         Support byte and octet types in bindings generators
3405         https://bugs.webkit.org/show_bug.cgi?id=117547
3406
3407         Reviewed by Kentaro Hara.
3408
3409         Add support for byte and octet IDL types to the bindings
3410         generator:
3411         http://dev.w3.org/2006/webapi/WebIDL/#idl-byte
3412         http://dev.w3.org/2006/webapi/WebIDL/#idl-octet
3413
3414         No new tests, covered by existing layout tests and by new
3415         bindings tests.
3416
3417         No new tests, covered by bindings tests and:
3418         fast/js/webidl-type-mapping.html
3419
3420         * WebCore.exp.in: Export new symbols for mac port.
3421         * bindings/js/JSDOMBinding.cpp:
3422         * bindings/js/JSDOMBinding.h: Add toInt8() / toUInt8()
3423         methods to convert from JSValue to int8_t / uint8_t as
3424         specified by Web IDL.
3425
3426         * bindings/js/JSDataViewCustom.cpp: Remove custom code for
3427         getInt8, getUInt8, setInt8, setUInt8 now that byte and octet
3428         types are supported by the bindings generator.
3429
3430         * bindings/scripts/CodeGeneratorCPP.pm:
3431         * bindings/scripts/CodeGeneratorGObject.pm:
3432         * bindings/scripts/CodeGeneratorJS.pm:
3433         * bindings/scripts/CodeGeneratorObjC.pm:
3434         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3435         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3436         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3437         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3438         * bindings/scripts/test/JS/JSTestObj.cpp:
3439         * bindings/scripts/test/JS/JSTestObj.h:
3440         * bindings/scripts/test/ObjC/DOMTestObj.h:
3441         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3442         * bindings/scripts/test/TestObj.idl: Add tests for byte and octet types.
3443         * html/canvas/DataView.idl: Remove [Custom] extended attribute for
3444         getInt8, getUInt8, setInt8, setUInt8 and use newly supported byte / octet
3445         types.
3446
3447 2013-06-13  Timothy Hatcher  <timothy@apple.com>
3448
3449         Revert r150339 since it causes a hang while paused in the Web Inspector in other apps.
3450
3451         https://bugs.webkit.org/show_bug.cgi?id=117596
3452
3453         Reviewed by Joseph Pecoraro.
3454
3455         * platform/mac/EventLoopMac.mm:
3456         (WebCore::EventLoop::cycle):
3457
3458 2013-06-13  Brent Fulgham  <bfulgham@apple.com>
3459
3460         [Windows] Unreviewed gardening.  Remove dangling 'strings' folder from solution.
3461
3462         * WebCore.vcxproj/WebCore.vcxproj.filters: Get rid of 'strings' that was orphaned by
3463         recent file reorganization.
3464
3465 2013-06-13  Praveen R Jadhav  <praveen.j@samsung.com>
3466
3467         Avoid unwanted thread hops in ScriptProcessorNode when 'onaudioprocess' listener is not set.
3468         https://bugs.webkit.org/show_bug.cgi?id=117578.
3469
3470         Reviewed by Darin Adler.
3471
3472         ScriptProcessorNode process operation continues to dispatch AudioProcessingEvent
3473         even though 'onaudioprocess' listener is not set. This results in unwanted thread hops.
3474         Code is optimized to dispatch AudioProcessingEvent only if the listener is set.
3475
3476         No new tests, already covered by existing tests.
3477
3478         * Modules/webaudio/ScriptProcessorNode.cpp:
3479         (WebCore::ScriptProcessorNode::ScriptProcessorNode):
3480         (WebCore::ScriptProcessorNode::process):
3481         (WebCore::ScriptProcessorNode::setOnaudioprocess):
3482         * Modules/webaudio/ScriptProcessorNode.h:
3483         (WebCore::ScriptProcessorNode::onaudioprocess):
3484
3485 2013-06-13  Max Vujovic  <mvujovic@adobe.com>
3486
3487         [CSS Regions] -webkit-background-clip: text; does not clip the background in regions
3488         https://bugs.webkit.org/show_bug.cgi?id=117566
3489
3490         Reviewed by Alexandru Chiculita.
3491
3492         This patch enables -webkit-background-clip: text; on regions.
3493
3494         Test: fast/regions/webkit-background-clip-text.html
3495
3496         * rendering/RenderFlowThread.cpp:
3497         (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
3498             Force black text if we're in the text clip paint phase. This makes sure the text's alpha
3499             channel does not affect the final opacity of the background clipping result. Rather,
3500             the text's alpha channel affects the amount of blending between the text color
3501             and the background.
3502         * rendering/RenderRegion.cpp:
3503         (WebCore::shouldPaintRegionContentsInPhase):
3504             Factor out a function to check if we should paint the region contents in a particular
3505             phase. Add "PaintPhaseTextClip" so that we draw the contents in the text clipping phase.
3506         (WebCore::RenderRegion::paintObject):
3507             Call shouldPaintRegionContentsInPhase instead of doing the phase checks directly in this
3508             function. Move, update, and clarify the surrounding comments.
3509
3510 2013-06-13  Anton Obzhirov  <a.obzhirov@samsung.com>
3511
3512         [CSS Regions] Regions auto-height and absolute positioning bug
3513         https://bugs.webkit.org/show_bug.cgi?id=111092
3514
3515         Reviewed by David Hyatt.
3516
3517         During last layout that should update the auto-height regions new auto-height region height
3518         is calculated correctly based on the text content, but it requires extra step 
3519         to reposition the render block after new logical height is set (correct logical height becomes
3520         available only during last layout). 
3521
3522         Tests: fast/regions/autoheight-abspos-bottom-align.html
3523
3524         * rendering/RenderRegion.cpp:
3525         (WebCore::RenderRegion::updateLogicalHeight):
3526
3527 2013-06-13  Brent Fulgham  <bfulgham@webkit.org>
3528
3529         [WinCairo] Unreviewed build correction.
3530
3531         * WebCore.vcxproj/WebCoreCairo.props: Use proper WebKit_Libraries
3532         environment variable, rather than older WebKitLibraries.
3533
3534 2013-06-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3535
3536         Avoid duplicate isInt32() / isUInt32() checks in JSDOMBindings
3537         https://bugs.webkit.org/show_bug.cgi?id=117593
3538
3539         Reviewed by Geoffrey Garen.
3540
3541         Avoid duplicate isInt32() / isUInt32() checks in JSDOMBindings by
3542         calling asInt32() / asUInt32() instead of toInt32() / toUInt32()
3543         when we already know the value is a int32 / uint32.
3544
3545         No new tests, no behavior change.
3546
3547         * bindings/js/JSDOMBinding.cpp:
3548
3549 2013-06-13  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
3550
3551         Setting overflow:hidden on position:absolute does not repaint hidden content
3552         https://bugs.webkit.org/show_bug.cgi?id=116994
3553
3554         Reviewed by Simon Fraser.
3555
3556         Since a container which has overflow clip of RenderBox which has self painting layer doesn't have a rect of the RenderBox as visual overflow,
3557         the container should not clip request repainting rect of the RenderBox.
3558
3559         Test: fast/repaint/change-overflow-and-display-of-relative.html
3560
3561         * rendering/RenderBox.cpp:
3562         (WebCore::RenderBox::computeRectForRepaint):
3563         * rendering/RenderLayerModelObject.cpp:
3564         (WebCore::RenderLayerModelObject::shouldUseClipForRepaint): If this has self painting layer, we should not clip for repaint.
3565         * rendering/RenderLayerModelObject.h:
3566
3567 2013-06-13  Mihai Tica  <mitica@adobe.com>
3568
3569         [CSS Background Blending] Gradients don't blend with any of the layers behind.
3570         First, allow the layers behind opaque gradients to be drawn, then add the blending filters
3571         when working with gradients.
3572
3573         https://bugs.webkit.org/show_bug.cgi?id=117532
3574
3575         Reviewed by Dirk Schulze.
3576
3577         Tests: css3/compositing/background-blend-mode-gradient-color.html
3578                css3/compositing/background-blend-mode-gradient-gradient.html
3579                css3/compositing/background-blend-mode-gradient-image.html
3580                css3/compositing/background-blend-mode-multiple-background-layers.html
3581
3582         * platform/graphics/GeneratorGeneratedImage.cpp:
3583         (WebCore::GeneratorGeneratedImage::draw):
3584         * rendering/RenderBox.cpp:
3585         (WebCore::RenderBox::paintFillLayers):
3586
3587 2013-06-13  Michael Brüning  <michael.bruning@digia.com>
3588
3589         [Qt][Mac] Disable QTKit video on OS X.
3590         https://bugs.webkit.org/show_bug.cgi?id=117591
3591
3592         Reviewed by Tor Arne Vestbø.
3593
3594         Deployment of the same Qt binaries to different
3595         Mac OS X version makes it impossible to link against
3596         the correct WebKitSystemInterface version at build time.
3597
3598         No new tests, no behavioural change.
3599
3600         * WebCore.pri:
3601
3602 2013-06-13  Morten Stenshorne  <mstensho@opera.com>
3603
3604         Column balancing support in the region based multicol implementation
3605         https://bugs.webkit.org/show_bug.cgi?id=116033
3606
3607         Start by setting the column height to the flow thread's height divided
3608         by the number of columns. Then stretch the column height until
3609         contents fits without creating overflowing columns, or until the
3610         maximum allowed column height is reached, whichever comes first. This
3611         may require several layout iterations (but normally only a
3612         couple). For each time we stretch, stretch by the least amount
3613         required to make a difference to which box goes where.
3614
3615         Also make sure that the columns get tall enough to honor orphans
3616         and widows settings.
3617
3618         This change takes some tiny steps in preparing for multiple column
3619         set support. There is also some minor cleanup and bugfixing; see
3620         details below.
3621
3622         Reviewed by David Hyatt.
3623
3624         Tests: fast/multicol/newmulticol/balance-images.html
3625                fast/multicol/newmulticol/balance-maxheight1.html
3626                fast/multicol/newmulticol/balance-maxheight2.html
3627                fast/multicol/newmulticol/balance1.html
3628                fast/multicol/newmulticol/balance2.html
3629                fast/multicol/newmulticol/balance3.html
3630                fast/multicol/newmulticol/balance4.html
3631                fast/multicol/newmulticol/balance5.html
3632                fast/multicol/newmulticol/balance6.html
3633                fast/multicol/newmulticol/balance7.html
3634                fast/multicol/newmulticol/balance8.html
3635                fast/multicol/newmulticol/balance9.html
3636                fast/multicol/newmulticol/cell-shrinkback.html
3637                fast/multicol/newmulticol/columns-shorthand-parsing.html
3638                fast/multicol/newmulticol/orphans-and-widows-balance.html
3639                fast/multicol/newmulticol/single-line.html
3640
3641         * rendering/RenderBlock.cpp:
3642         (WebCore::RenderBlock::adjustForUnsplittableChild):
3643         (WebCore::RenderBlock::setPageBreak):
3644         (WebCore):
3645         (WebCore::RenderBlock::updateMinimumPageHeight):
3646         (WebCore::calculateMinimumPageHeight):
3647         (WebCore::RenderBlock::adjustLinePositionForPagination):
3648         (WebCore::RenderBlock::adjustBlockChildForPagination): If no lines
3649         cross the boundaries, we need to report where blocks cross
3650         instead, so that the column balancer knows how much to stretch
3651         columns if necessary.
3652         * rendering/RenderBlock.h:
3653         * rendering/RenderFlowThread.h:
3654         * rendering/RenderMultiColumnBlock.cpp:
3655         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
3656         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
3657         (WebCore::RenderMultiColumnBlock::relayoutForPagination):
3658         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
3659         * rendering/RenderMultiColumnBlock.h:
3660         (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
3661         (WebCore::RenderMultiColumnBlock::requiresBalancing):
3662         (RenderMultiColumnBlock):
3663         * rendering/RenderMultiColumnFlowThread.cpp:
3664         (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
3665         (WebCore::RenderMultiColumnFlowThread::setPageBreak):
3666         (WebCore):
3667         (WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight):
3668         * rendering/RenderMultiColumnFlowThread.h:
3669         (RenderMultiColumnFlowThread):
3670         * rendering/RenderMultiColumnSet.cpp: Get rid of
3671         RenderMultiColumnSet::updateLogicalHeight() override. Make
3672         RenderMultiColumnSet behave more like normal blocks, by having
3673         computeLogicalHeight() calculate logical top in addition to
3674         height, just like any other block.
3675         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
3676         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset): This
3677         method will become more meaningful once we add support for
3678         multiple column sets.
3679         (WebCore):
3680         (WebCore::RenderMultiColumnSet::pageLogicalTopForOffset):
3681         (WebCore::RenderMultiColumnSet::setAndConstrainColumnHeight):
3682         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
3683         (WebCore::RenderMultiColumnSet::recordSpaceShortage):
3684         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
3685         (WebCore::RenderMultiColumnSet::prepareForLayout):
3686         (WebCore::RenderMultiColumnSet::computeLogicalHeight):
3687         (WebCore::RenderMultiColumnSet::columnCount):
3688         (WebCore::RenderMultiColumnSet::columnIndexAtOffset):
3689         repaintFlowThreadContent() could end up in an infinite loop
3690         because columnIndexAtOffset() could return UINT_MAX
3691         (subtracting 1 from unsigned 0, which columnCount() could return),
3692         which an unsigned integer obviously can never become larger
3693         than. Also always call columnIndexAtOffset() if we want to get the
3694         column index for some offset, rather than doing it on our own
3695         sometimes. To make this work also during layout, we cannot just
3696         return the last column created so far if we're past it, since
3697         adding new columns is exactly what we want to do at this point.
3698         * rendering/RenderMultiColumnSet.h:
3699         (RenderMultiColumnSet):
3700
3701 2013-06-12  Anders Carlsson  <andersca@apple.com>
3702
3703         Remove the notion of inactive plug-ins
3704         https://bugs.webkit.org/show_bug.cgi?id=117570
3705         <rdar://problem/13484213>
3706
3707         Reviewed by Tim Horton.
3708
3709         Remove RenderEmbeddedObject::PluginInactive and the replacement text.
3710
3711         * English.lproj/Localizable.strings:
3712         * platform/LocalizedStrings.cpp:
3713         * platform/LocalizedStrings.h:
3714         * rendering/RenderEmbeddedObject.cpp:
3715         (WebCore::unavailablePluginReplacementText):
3716         * rendering/RenderEmbeddedObject.h:
3717
3718 2013-06-12  Dean Jackson  <dino@apple.com>
3719
3720         [Mac] Change default Traditional Chinese serif font on 10.9
3721         https://bugs.webkit.org/show_bug.cgi?id=117568
3722
3723         Reviewed by Alexey Proskuryakov.
3724
3725         Change default font on newer versions of OS X.
3726
3727         * page/mac/SettingsMac.mm:
3728         (WebCore::Settings::initializeDefaultFontFamilies): Use 'Songti TC'
3729         on 10.9 and above.
3730
3731 2013-06-12  Dean Jackson  <dino@apple.com>
3732
3733         [Mac] Change default Simplified Chinese serif font on 10.9
3734         https://bugs.webkit.org/show_bug.cgi?id=117567
3735
3736         Reviewed by Alexey Proskuryakov.
3737
3738         Change default font on newer versions of OS X.
3739
3740         * page/mac/SettingsMac.mm:
3741         (WebCore::Settings::initializeDefaultFontFamilies): Use 'Songti SC'
3742         instead of 'STSong' on newer systems.
3743
3744 2013-06-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3745
3746         Fix crashes due to failed ImageBuffer allocation
3747         https://bugs.webkit.org/show_bug.cgi?id=117541
3748
3749         Reviewed by Andreas Kling.
3750
3751         From Blink r152268 by <pdr@chromium.org>
3752
3753         A crash can happen due to a failed ImageBuffer allocation in
3754         SVGImage::drawPatternForContainer(). Added a check for that failed allocation.
3755
3756         * svg/graphics/SVGImage.cpp:
3757         (WebCore::SVGImage::drawPatternForContainer):
3758
3759 2013-06-12  Eduardo Lima Mitev  <elima@igalia.com>
3760
3761         [atk] Replace deprecated call to atk_document_get_locale() in DumpRenderTree
3762         https://bugs.webkit.org/show_bug.cgi?id=115647
3763
3764         Reviewed by Martin Robinson.
3765
3766         Override the get_object_locale() method of WebkitAccessibleWrapperAtk's internal
3767         AtkObject, to include custom implementations for AtkDocument and AtkText objects,
3768         taking the logic as-is from AtkDocument::get_document_locale() and DumpRenderTree's
3769         AccessibilityUIElementAtk::language(), respectively.
3770
3771         Apart from improving encapsulation, this avoids calling deprecated get_document_locale()
3772         method.
3773
3774         No new functionality, no new tests.
3775
3776         * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
3777         (webkitAccessibleDocumentInterfaceInit): Chains implementation of
3778         AtkDocument::get_document_locale() to AtkObject::get_object_locale().
3779         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3780         (webkitAccessibleGetObjectLocale): Add implementation of locale resolution for
3781         objects of type AtkDocument and AtkText.
3782         (webkitAccessibleClassInit): Override AtkObject::get_object_locale() method.
3783
3784 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
3785
3786         [GTK] Move more build targets for source code that's free of layer violations into libPlatform
3787         https://bugs.webkit.org/show_bug.cgi?id=115936
3788
3789         Reviewed by Martin Robinson.
3790
3791         No new tests - no new functionality.
3792
3793         * GNUmakefile.list.am: Move more build targets under the platform_sources and platformgtk_sources listing.
3794         These build targets represent source files that are already free of platform layer violations and are as such
3795         ready to be pushed down from the WebCore layer into the Platform layer.
3796
3797 2013-06-12  Ruth Fong  <ruth_fong@apple.com>
3798
3799         "Open Video in New Window" doesn't make sense in fullscreen
3800         https://bugs.webkit.org/show_bug.cgi?id=117556
3801
3802         Reviewed by Beth Dakin.
3803
3804         No new tests needed.
3805
3806         * WebCore.exp.in: Added WebKit2 hook for mediaIsInFullscreen() method.
3807
3808 2013-06-12  Ryosuke Niwa  <rniwa@webkit.org>
3809
3810         Accessibility code assumes an area element's parent is a map element
3811         https://bugs.webkit.org/show_bug.cgi?id=117496
3812
3813         Reviewed by Chris Fleizach.
3814
3815         We can't make such an assumption. Scripts can insert any element between area and map elements.
3816
3817         Merge https://chromium.googlesource.com/chromium/blink/+/b6f486284f08c52904701c93e1ec0b7d6e76af9f.
3818
3819         Test: accessibility/image-map-with-indirect-area-crash.html
3820
3821         * accessibility/AccessibilityRenderObject.cpp:
3822         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
3823
3824 2013-06-12  Robert Hogan  <robert@webkit.org>
3825
3826         Whitespace between inlines with nowrap and a shrink-to-fit parent gets a line-break when it shouldn't
3827         https://bugs.webkit.org/show_bug.cgi?id=117370
3828
3829         Reviewed by David Hyatt.
3830
3831         Test: fast/text/whitespace/inline-whitespace-wrapping-8.html
3832
3833         A no-wrap inline shouldn't include trailing space when deciding whether it fits on a line. 
3834         Likewise when we finish iterating through the objects on a line we should clear our linebreak
3835         if the only thing that prevents us fitting on the line is our collapsed trailing whitespace.
3836          
3837         Removing the trailing space from this measurement means we need to watch out for potential
3838         breaks between no-wrap inlines, in particular if we leave a no-wrap inline ignoring spaces
3839         and enter an autowrap inline then we need to mark the beginning of the autowrap inline
3840         as a potential linebreak. The test fast/text/whitespace/inline-whitespace-wrapping-5.html 
3841         is an example of such a case.
3842
3843         * rendering/RenderBlockLineLayout.cpp:
3844         (WebCore::LineWidth::LineWidth):
3845         (WebCore::LineWidth::fitsOnLine):
3846         (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
3847         (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
3848         (WebCore::LineWidth::setTrailingWhitespaceWidth):
3849         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3850
3851 2013-06-12  Bem Jones-Bey  <bjonesbe@adobe.com>
3852
3853         [CSS Shapes] rectangle and inset-rectangle do not properly handle rx and ry
3854         https://bugs.webkit.org/show_bug.cgi?id=116745
3855
3856         Reviewed by Dirk Schulze.
3857
3858         If ry is not supplied, it now defaults to the rx value. Also, if rx
3859         and ry are not supplied, they default to 0px. This also has the effect
3860         that the computed style for any rectangle or inset-rectangle now
3861         contains all six parameters.
3862
3863         If rx > width/2 then it is clamped to width/2, and if ry > height/2,
3864         then it is clamped to height/2. This happens at layout time because
3865         given mixed units and relative units, that is the only time this
3866         determination can be made.
3867
3868         Tests: fast/exclusions/shape-inside/shape-inside-rounded-rectangle-large-radius.html
3869                fast/exclusions/shape-outside-floats/shape-outside-floats-rounded-rectangle-large-radius.html
3870
3871         * css/BasicShapeFunctions.cpp:
3872         (WebCore::valueForBasicShape): Remove checks for undefined, since rx
3873             and ry cannot be undefined in BasicShapes anymore.
3874         (WebCore::basicShapeForValue): If radii are undefined in CSS, set
3875             default values in the BasicShape, per the spec.
3876         * rendering/ExclusionShape.cpp:
3877         (WebCore::ensureRadiiDoNotOverlap): Utility method to ensure radii
3878             don't overlap.
3879         (WebCore::ExclusionShape::createExclusionShape): Remove defaulting to
3880             zero, clamp radii per the spec.
3881         * rendering/style/BasicShapes.cpp:
3882         (WebCore::BasicShapeRectangle::path): Remove defaulting.
3883         (WebCore::BasicShapeRectangle::blend): Ditto.
3884         (WebCore::BasicShapeInsetRectangle::path): Ditto.
3885         (WebCore::BasicShapeInsetRectangle::blend): Ditto.
3886         * rendering/style/BasicShapes.h:
3887         (WebCore::BasicShapeRectangle::BasicShapeRectangle): Remove defaulting
3888             to undefined for radii.
3889         (WebCore::BasicShapeRectangle::setCornerRadiusX): Add assert to
3890             prevent undefined.
3891        (WebCore::BasicShapeRectangle::setCornerRadiusY): Add assert to
3892             prevent undefined.
3893         (WebCore::BasicShapeInsetRectangle::BasicShapeInsetRectangle): Ditto.
3894         (WebCore::BasicShapeInsetRectangle::setCornerRadiusX): Add assert to
3895             prevent undefined.
3896        (WebCore::BasicShapeInsetRectangle::setCornerRadiusY): Add assert to
3897             prevent undefined.
3898
3899 2013-06-11  Brent Fulgham  <bfulgham@apple.com>
3900
3901         [Windows] Support Title UI Element Accessibility Attribute
3902         https://bugs.webkit.org/show_bug.cgi?id=117530
3903
3904         Reviewed by Anders Carlsson.
3905
3906         Fixes: accessibility/list-item-role.html
3907                accessibility/hidden-legend.html
3908
3909         * accessibility/win/AccessibilityObjectWrapperWin.cpp:
3910         (WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue): Extend to support access
3911         for the Title UI Element object.
3912         * accessibility/win/AccessibilityObjectWrapperWin.h: Revise interface to use Variant output,
3913         which is more in keeping with the Mac's 'id' method signature.
3914
3915 2013-06-12  Ralph Thomas  <ralpht@gmail.com>
3916
3917         [CSS Shaders] Animations and transitions should use validated custom programs
3918         https://bugs.webkit.org/show_bug.cgi?id=117550
3919
3920         Run filters used for animations and transitions through RenderLayer::computeFilterOperations
3921         in order to validate custom filter operations.
3922
3923         Reviewed by Alexandru Chiculita.
3924
3925         No new tests as no platform can run custom filters with accelerated animations yet.
3926
3927         * rendering/RenderLayerBacking.cpp:
3928         (WebCore::RenderLayerBacking::startAnimation):
3929         (WebCore::RenderLayerBacking::startTransition):
3930
3931 2013-06-12  Ruth Fong  <ruth_fong@apple.com>
3932
3933         Allow for toggling fullscreen on <video> elements
3934         https://bugs.webkit.org/show_bug.cgi?id=117220
3935
3936         Reviewed by Dean Jackson.
3937
3938         This patch adds the ability for fullscreen
3939         context menu item on <video> elements to switch between "Enter Fullscreen"
3940         and "Exit Fullscreen" and behave appropriately.
3941
3942         No new tests. media/context-menu-action.html,
3943         which has been disabled by bug 116651, is used to test context menus.
3944
3945         * English.lproj/Localizable.strings: Add "Exit Fullscreen" string.
3946         * html/HTMLMediaElement.cpp:
3947         (WebCore::HTMLMediaElement::toggleFullscreenState): Added to appropriately enter/exit fullscreen.
3948         * html/HTMLMediaElement.h:
3949         * page/ContextMenuController.cpp:
3950         * platform/ContextMenuItem.h:
3951         * platform/LocalizedStrings.cpp:
3952         * platform/LocalizedStrings.h:
3953         Updated to rename variables more appropriately to reflect the toggle-ability of video fullscreen.
3954         * rendering/HitTestResult.cpp:
3955         (WebCore::HitTestResult::mediaIsInFullscreen): Added to check if an element
3956         was a media element in fullscreen.
3957         (WebCore::HitTestResult::toggleMediaFullscreenState): Added to hook into
3958         HTMLMediaElement::toggleFullscreenState.
3959         * rendering/HitTestResult.h:
3960
3961 2013-06-12  Sergio Villar Senin  <svillar@igalia.com>
3962
3963         Skipping {}, () and [] blocks while error recovering in CSS
3964         https://bugs.webkit.org/show_bug.cgi?id=116071
3965
3966         Reviewed by Darin Adler.
3967
3968         From Blink r150201 and r150755 by <serya@chromium.org>
3969
3970         Test: fast/css/parsing-expr-error-recovery.html
3971
3972         The CSS parser should properly recover from invalid {}, () and []
3973         blocks skipping them instead of discarding the whole declaration
3974         as invalid. This merge is actually made of two different changes
3975         from Blink, the original one that fixes the bug and another one
3976         which refactors a bit the code making it more legible.
3977
3978         * css/CSSGrammar.y.in:
3979
3980 2013-06-12  Alberto Garcia  <agarcia@igalia.com>
3981
3982         [BlackBerry] Remove dead WebDOM code
3983         https://bugs.webkit.org/show_bug.cgi?id=113370
3984
3985         Reviewed by Anders Carlsson.
3986
3987         BlackBerry PR 347565
3988         Internally reviewed by Charles Wei.
3989
3990         * PlatformBlackBerry.cmake:
3991
3992 2013-06-12  Daniel Bates  <dabates@apple.com>
3993
3994         window.find() case-insensitive search doesn't match diacritical marks
3995         https://bugs.webkit.org/show_bug.cgi?id=117353
3996         <rdar://problem/8535227>
3997
3998         Reviewed by Darin Adler.
3999
4000         Currently, a case-insensitive window.find() search will return true for a word w
4001         (e.g. café) with diacritical characters when w appears on the page without
4002         diacritical marks (e.g. cafe). This leads to bad results, especially when
4003         searching for a non-English word (e.g. qué) where the presence of an accented
4004         character(s) may change the meaning of the word. Instead window.find() should
4005         return false when case-insensitively matching a word with diacritical marks to
4006         the same word without diacritical marks.
4007
4008