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