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