23993f88a13b401248a3cc40c17a5693aff739cc
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2
3         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue
4         https://bugs.webkit.org/show_bug.cgi?id=122056
5
6         Reviewed by Antti Koivisto.
7
8         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue, and use it.
9         This type cast function will help to detect bad-casts.
10
11         No new tests, no behavior changes.
12
13         * css/CSSFilterImageValue.h:
14         * css/CSSImageGeneratorValue.cpp:
15         (WebCore::CSSImageGeneratorValue::image):
16         (WebCore::CSSImageGeneratorValue::fixedSize):
17         (WebCore::CSSImageGeneratorValue::loadSubimages):
18         * css/CSSInitialValue.h:
19         * css/CSSValue.cpp:
20         (WebCore::CSSValue::destroy):
21         * css/StyleResolver.cpp:
22         (WebCore::StyleResolver::generatedOrPendingFromValue):
23
24 2013-09-29  Darin Adler  <darin@apple.com>
25
26         Fix crashes caused by my recent attempt at a Windows build fix.
27
28         * bindings/js/WebCoreTypedArrayController.cpp:
29         (WebCore::WebCoreTypedArrayController::toJS): Added back the prefix for the call to
30         WebCore::toJS, otherwise this function just calls itself infinitely recursively.
31
32 2013-09-29  Sam Weinig  <sam@webkit.org>
33
34         Cleanup PageThrottler and PageConsole a bit
35         https://bugs.webkit.org/show_bug.cgi?id=122085
36
37         Reviewed by Anders Carlsson.
38
39         * html/HTMLMediaElement.h:
40         * loader/FrameLoader.cpp:
41         (WebCore::FrameLoader::completed):
42         * loader/FrameLoader.h:
43         * loader/SubresourceLoader.cpp:
44         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
45         (WebCore::SubresourceLoader::didFinishLoading):
46         (WebCore::SubresourceLoader::didFail):
47         (WebCore::SubresourceLoader::willCancel):
48         * loader/SubresourceLoader.h:
49         Store the PageActivityAssertionToken as a std::unique_ptr.
50
51         * page/Page.cpp:
52         (WebCore::Page::Page):
53         Use createOwned and pass this by reference for the PageThrottler and PageConsole.
54         (WebCore::Page::~Page):
55         Remove unnecessary clearing of an OwnPtr that is about to be destroyed.
56         * page/Page.h:
57         Make m_pageThrottler const and return it as a reference.
58
59         * page/PageActivityAssertionToken.cpp:
60         (WebCore::PageActivityAssertionToken::PageActivityAssertionToken):
61         (WebCore::PageActivityAssertionToken::~PageActivityAssertionToken):
62         * page/PageActivityAssertionToken.h:
63         Take the PageThrottler by reference in the constructor. It is never null.
64
65         * page/PageConsole.cpp:
66         (WebCore::PageConsole::PageConsole):
67         (WebCore::PageConsole::~PageConsole):
68         (WebCore::PageConsole::addMessage):
69         * page/PageConsole.h:
70         Pass and store the Page as a reference and remove an extraneous null check. Remove
71         the create function.
72
73         * page/PageThrottler.cpp:
74         (WebCore::PageThrottler::PageThrottler):
75         (WebCore::PageThrottler::~PageThrottler):
76         (WebCore::PageThrottler::createActivityToken):
77         (WebCore::PageThrottler::throttlePage):
78         (WebCore::PageThrottler::unthrottlePage):
79         (WebCore::PageThrottler::addActivityToken):
80         (WebCore::PageThrottler::removeActivityToken):
81         * page/PageThrottler.h:
82         Pass and store the Page as a reference. Move the creation of PageActivityAssertionToken here
83         to aid encapsulation.
84
85 2013-09-29  Darin Adler  <darin@apple.com>
86
87         Try to fix Windows build.
88
89         * bindings/js/WebCoreTypedArrayController.cpp: Windows has a symbol named Handle, so we need
90         to call JSC::Handle out by name. To fix that, I removed "using namespace JSC" entirely. And
91         just for fun, sort of "rewrote" this file.
92         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController): Removed unneeded explicit
93         initialization of m_owner.
94         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController): Fixed formatting.
95         (WebCore::WebCoreTypedArrayController::toJS): Added lots of explicit JSC and got rid of local.
96         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots): Cut
97         down on locals, used auto& for type, and called it "wrapper" since that's what JSArrayBuffer is.
98         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize): More of the same.
99
100 2013-09-29  Darin Adler  <darin@apple.com>
101
102         Use RenderElement instead of RenderObject in many places
103         https://bugs.webkit.org/show_bug.cgi?id=122078
104
105         Reviewed by Andreas Kling.
106
107         * WebCore.exp.in: Updated for name changes.
108
109         * dom/ContainerNode.h: Moved renderer() here from Element.
110         * dom/Element.h: Moved renderer() from here to ContainerNode.
111         * render/RenderElement.h: Moved renderer() from Element to ContainerNode.
112
113         * accessibility/AccessibilityImageMapLink.cpp:
114         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
115         (WebCore::AccessibilityImageMapLink::detachFromParent):
116         (WebCore::AccessibilityImageMapLink::elementPath):
117         (WebCore::AccessibilityImageMapLink::elementRect):
118         * accessibility/AccessibilityImageMapLink.h:
119         * accessibility/AccessibilityRenderObject.cpp:
120         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
121         * bindings/objc/DOM.mm:
122         (-[DOMElement image]):
123         (-[DOMElement _font]):
124         (-[DOMElement _imageTIFFRepresentation]):
125         * css/CSSCanvasValue.cpp:
126         (WebCore::CSSCanvasValue::canvasChanged):
127         (WebCore::CSSCanvasValue::canvasResized):
128         (WebCore::CSSCanvasValue::canvasDestroyed):
129         (WebCore::CSSCanvasValue::fixedSize):
130         (WebCore::CSSCanvasValue::image):
131         * css/CSSCanvasValue.h:
132         * css/CSSComputedStyleDeclaration.cpp:
133         (WebCore::computeRenderStyleForProperty):
134         * css/CSSCrossfadeValue.cpp:
135         (WebCore::subimageKnownToBeOpaque):
136         (WebCore::CSSCrossfadeValue::fixedSize):
137         (WebCore::CSSCrossfadeValue::knownToBeOpaque):
138         (WebCore::CSSCrossfadeValue::image):
139         (WebCore::CSSCrossfadeValue::crossfadeChanged):
140         * css/CSSCrossfadeValue.h:
141         * css/CSSFilterImageValue.cpp:
142         (WebCore::CSSFilterImageValue::fixedSize):
143         (WebCore::CSSFilterImageValue::knownToBeOpaque):
144         (WebCore::CSSFilterImageValue::image):
145         (WebCore::CSSFilterImageValue::filterImageChanged):
146         * css/CSSFilterImageValue.h:
147         * css/CSSFontSelector.cpp:
148         * css/CSSGradientValue.cpp:
149         (WebCore::CSSGradientValue::image):
150         (WebCore::CSSGradientValue::addStops):
151         (WebCore::CSSGradientValue::knownToBeOpaque):
152         (WebCore::CSSLinearGradientValue::createGradient):
153         (WebCore::CSSRadialGradientValue::createGradient):
154         * css/CSSGradientValue.h:
155         (WebCore::CSSGradientValue::fixedSize):
156         * css/CSSImageGeneratorValue.cpp:
157         (WebCore::CSSImageGeneratorValue::addClient):
158         (WebCore::CSSImageGeneratorValue::removeClient):
159         (WebCore::CSSImageGeneratorValue::image):
160         (WebCore::CSSImageGeneratorValue::fixedSize):
161         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
162         * css/CSSImageGeneratorValue.h:
163         (WebCore::CSSImageGeneratorValue::clients):
164         * css/CSSImageValue.cpp:
165         (WebCore::CSSImageValue::knownToBeOpaque):
166         * css/CSSImageValue.h:
167         * css/DeprecatedStyleBuilder.cpp:
168         * dom/DocumentMarkerController.cpp:
169         (WebCore::DocumentMarkerController::removeMarkersFromList):
170         (WebCore::DocumentMarkerController::repaintMarkers):
171         * dom/Element.cpp:
172         (WebCore::localZoomForRenderer):
173         (WebCore::adjustForLocalZoom):
174         (WebCore::Element::offsetParent):
175         (WebCore::Element::updateExistingPseudoElement):
176         * dom/ElementRareData.h:
177         (WebCore::ElementRareData::create):
178         (WebCore::ElementRareData::ElementRareData):
179         * dom/Node.cpp:
180         (WebCore::Node::ensureRareData):
181         * editing/DeleteButtonController.cpp:
182         (WebCore::isDeletableElement):
183         * editing/Editor.cpp:
184         (WebCore::Editor::hasBidiSelection):
185         (WebCore::Editor::baseWritingDirectionForSelectionStart):
186         * editing/EditorCommand.cpp:
187         (WebCore::verticalScrollDistance):
188         * editing/htmlediting.cpp:
189         (WebCore::directionOfEnclosingBlock):
190         * editing/ios/EditorIOS.mm:
191         (WebCore::Editor::fontForSelection):
192         (WebCore::getImage):
193         * editing/mac/EditorMac.mm:
194         (WebCore::Editor::fontForSelection):
195         (WebCore::getImage):
196         * editing/markup.cpp:
197         * html/HTMLAreaElement.cpp:
198         (WebCore::HTMLAreaElement::computePath):
199         (WebCore::HTMLAreaElement::computeRect):
200         (WebCore::HTMLAreaElement::setFocus):
201         * html/HTMLAreaElement.h:
202         * html/HTMLCanvasElement.cpp:
203         (WebCore::HTMLCanvasElement::reset):
204         * html/HTMLElement.cpp:
205         (WebCore::HTMLElement::setInnerText):
206         * html/HTMLFormControlElement.cpp:
207         (WebCore::updateFromElementCallback):
208         * html/HTMLFormElement.cpp:
209         (WebCore::HTMLFormElement::rendererIsNeeded):
210         * html/HTMLFrameOwnerElement.h:
211         * html/HTMLImageElement.cpp:
212         (WebCore::HTMLImageElement::x):
213         (WebCore::HTMLImageElement::y):
214         (WebCore::HTMLImageElement::willRespondToMouseClickEvents):
215         * html/HTMLMapElement.cpp:
216         * html/HTMLMediaElement.cpp:
217         (WebCore::HTMLMediaElement::defaultEventHandler):
218         * html/HTMLMeterElement.cpp:
219         (WebCore::HTMLMeterElement::renderMeter):
220         * html/HTMLOptionElement.cpp:
221         (WebCore::HTMLOptionElement::didRecalcStyle):
222         * html/HTMLPlugInElement.cpp:
223         (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents):
224         (WebCore::HTMLPlugInElement::defaultEventHandler):
225         (WebCore::HTMLPlugInElement::isKeyboardFocusable):
226         * html/HTMLPlugInImageElement.cpp:
227         (WebCore::HTMLPlugInImageElement::defaultEventHandler):
228         * html/HTMLProgressElement.cpp:
229         (WebCore::HTMLProgressElement::renderProgress):
230         * html/HTMLSelectElement.cpp:
231         (WebCore::HTMLSelectElement::scrollToSelection):
232         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
233         (WebCore::HTMLSelectElement::selectOption):
234         * html/HTMLTableCellElement.cpp:
235         (WebCore::HTMLTableCellElement::cellAbove):
236         * html/HTMLTextFormControlElement.cpp:
237         (WebCore::hasVisibleTextArea):
238         (WebCore::HTMLTextFormControlElement::setSelectionRange):
239         * html/InputType.h:
240         * html/parser/HTMLResourcePreloader.cpp:
241         * html/shadow/MediaControlElementTypes.cpp:
242         (WebCore::MediaControlElement::setDisplayType):
243         * html/shadow/MediaControlElements.cpp:
244         (WebCore::MediaControlPanelElement::startDrag):
245         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
246         * html/shadow/MeterShadowElement.cpp:
247         (WebCore::MeterShadowElement::rendererIsNeeded):
248         (WebCore::MeterInnerElement::rendererIsNeeded):
249         * inspector/InspectorOverlay.cpp:
250         * inspector/InspectorTimelineAgent.cpp:
251         * inspector/InspectorTimelineAgent.h:
252         * loader/ImageLoader.cpp:
253         (WebCore::ImageLoader::renderImageResource):
254         * loader/cache/CachedImage.cpp:
255         (WebCore::CachedImage::currentFrameKnownToBeOpaque):
256         * loader/cache/CachedImage.h:
257         * mathml/MathMLElement.cpp:
258         * page/ContextMenuController.cpp:
259         * page/DragController.cpp:
260         (WebCore::DragController::draggableElement):
261         * page/EventHandler.cpp:
262         (WebCore::EventHandler::EventHandler):
263         (WebCore::EventHandler::clear):
264         (WebCore::EventHandler::startPanScrolling):
265         (WebCore::EventHandler::autoscrollRenderer):
266         (WebCore::EventHandler::scrollOverflow):
267         (WebCore::EventHandler::logicalScrollOverflow):
268         (WebCore::EventHandler::subframeForTargetNode):
269         (WebCore::EventHandler::selectCursor):
270         (WebCore::layerForNode):
271         (WebCore::EventHandler::handleWheelEvent):
272         (WebCore::EventHandler::clearGestureScrollNodes):
273         * page/EventHandler.h:
274         * page/FocusController.cpp:
275         * page/Frame.cpp:
276         (WebCore::Frame::ownerRenderer):
277         (WebCore::Frame::visiblePositionForPoint):
278         (WebCore::Frame::nodeImage):
279         * page/FrameView.cpp:
280         (WebCore::FrameView::applyOverflowToViewport):
281         (WebCore::FrameView::applyPaginationToViewport):
282         (WebCore::FrameView::calculateScrollbarModesForLayout):
283         (WebCore::FrameView::isEnclosedInCompositingLayer):
284         (WebCore::FrameView::embeddedContentBox):
285         (WebCore::FrameView::addSlowRepaintObject):
286         (WebCore::FrameView::removeSlowRepaintObject):
287         (WebCore::FrameView::addViewportConstrainedObject):
288         (WebCore::FrameView::removeViewportConstrainedObject):
289         (WebCore::FrameView::scrollContentsFastPath):
290         (WebCore::FrameView::repaintSlowRepaintObjects):
291         (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
292         (WebCore::FrameView::updateOverflowStatus):
293         (WebCore::FrameView::updateScrollCorner):
294         (WebCore::FrameView::paintContents):
295         (WebCore::FrameView::convertFromRenderer):
296         (WebCore::FrameView::convertToRenderer):
297         * page/FrameView.h:
298         * page/PageSerializer.cpp:
299         (WebCore::PageSerializer::addImageToResources):
300         * page/PageSerializer.h:
301         * page/animation/AnimationBase.cpp:
302         (WebCore::AnimationBase::AnimationBase):
303         (WebCore::AnimationBase::updateStateMachine):
304         * page/animation/AnimationBase.h:
305         (WebCore::AnimationBase::renderer):
306         * page/animation/AnimationController.cpp:
307         (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
308         (WebCore::AnimationControllerPrivate::clear):
309         (WebCore::AnimationControllerPrivate::updateAnimations):
310         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
311         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
312         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
313         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
314         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
315         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
316         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
317         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
318         (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
319         (WebCore::AnimationController::cancelAnimations):
320         (WebCore::AnimationController::updateAnimations):
321         (WebCore::AnimationController::getAnimatedStyleForRenderer):
322         (WebCore::AnimationController::notifyAnimationStarted):
323         (WebCore::AnimationController::pauseAnimationAtTime):
324         (WebCore::AnimationController::pauseTransitionAtTime):
325         (WebCore::AnimationController::isRunningAnimationOnRenderer):
326         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
327         * page/animation/AnimationController.h:
328         * page/animation/AnimationControllerPrivate.h:
329         * page/animation/CSSPropertyAnimation.cpp:
330         (WebCore::crossfadeBlend):
331         * page/animation/CompositeAnimation.cpp:
332         (WebCore::CompositeAnimation::updateTransitions):
333         (WebCore::CompositeAnimation::updateKeyframeAnimations):
334         (WebCore::CompositeAnimation::animate):
335         * page/animation/CompositeAnimation.h:
336         * page/animation/ImplicitAnimation.cpp:
337         (WebCore::ImplicitAnimation::ImplicitAnimation):
338         (WebCore::ImplicitAnimation::animate):
339         (WebCore::ImplicitAnimation::pauseAnimation):
340         (WebCore::ImplicitAnimation::sendTransitionEvent):
341         * page/animation/ImplicitAnimation.h:
342         (WebCore::ImplicitAnimation::create):
343         * page/animation/KeyframeAnimation.cpp:
344         (WebCore::KeyframeAnimation::KeyframeAnimation):
345         (WebCore::KeyframeAnimation::animate):
346         (WebCore::KeyframeAnimation::pauseAnimation):
347         (WebCore::KeyframeAnimation::endAnimation):
348         (WebCore::KeyframeAnimation::sendAnimationEvent):
349         * page/animation/KeyframeAnimation.h:
350         * page/mac/EventHandlerMac.mm:
351         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
352         (WebCore::EventHandler::passSubframeEventToSubframe):
353         * page/mac/FrameSnapshottingMac.mm:
354         (WebCore::snapshotDragImage):
355         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
356         (WebCore::MediaPlayerPrivateQTKit::paint):
357         * rendering/CounterNode.cpp:
358         (WebCore::CounterNode::CounterNode):
359         (WebCore::CounterNode::create):
360         * rendering/CounterNode.h:
361         (WebCore::CounterNode::owner):
362         * rendering/FilterEffectRenderer.cpp:
363         (WebCore::FilterEffectRenderer::buildReferenceFilter):
364         (WebCore::FilterEffectRenderer::build):
365         * rendering/FilterEffectRenderer.h:
366         * rendering/HitTestResult.cpp:
367         (WebCore::HitTestResult::spellingToolTip):
368         (WebCore::HitTestResult::title):
369         (WebCore::HitTestResult::innerTextIfTruncated):
370         (WebCore::HitTestResult::image):
371         * rendering/LayoutRepainter.cpp:
372         (WebCore::LayoutRepainter::LayoutRepainter):
373         * rendering/LayoutRepainter.h:
374         * rendering/LayoutState.h:
375         (WebCore::LayoutState::LayoutState):
376         * rendering/LineWidth.h:
377         * rendering/LogicalSelectionOffsetCaches.h:
378         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
379         (WebCore::isNonRenderBlockInline):
380         (WebCore::containingBlockForFixedPosition):
381         (WebCore::containingBlockForAbsolutePosition):
382         (WebCore::containingBlockForObjectInFlow):
383         (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
384         * rendering/PaintInfo.h:
385         (WebCore::PaintInfo::PaintInfo):
386         (WebCore::PaintInfo::updateSubtreePaintRootForChildren):
387         * rendering/RenderBox.cpp:
388         (WebCore::RenderBox::paintFillLayers):
389         (WebCore::RenderBox::paintFillLayer):
390         * rendering/RenderBox.h:
391         * rendering/RenderBoxModelObject.cpp:
392         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
393         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
394         * rendering/RenderBoxModelObject.h:
395         * rendering/RenderCounter.cpp:
396         (WebCore::nextInPreOrder):
397         (WebCore::planCounter):
398         (WebCore::makeCounterNode):
399         (WebCore::RenderCounter::originalText):
400         * rendering/RenderElement.cpp:
401         (WebCore::RenderElement::~RenderElement):
402         (WebCore::RenderElement::insertChildInternal):
403         (WebCore::RenderElement::removeChildInternal):
404         (WebCore::RenderElement::willBeDestroyed):
405         (WebCore::RenderElement::rendererForRootBackground):
406         * rendering/RenderImageResource.cpp:
407         (WebCore::RenderImageResource::initialize):
408         * rendering/RenderImageResource.h:
409         * rendering/RenderImageResourceStyleImage.cpp:
410         (WebCore::RenderImageResourceStyleImage::initialize):
411         * rendering/RenderImageResourceStyleImage.h:
412         (WebCore::RenderImageResourceStyleImage::create):
413         * rendering/RenderLayerCompositor.cpp:
414         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
415         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
416         (WebCore::RenderLayerCompositor::canBeComposited):
417         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
418         (WebCore::RenderLayerCompositor::reasonsForCompositing):
419         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
420         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
421         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
422         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
423         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
424         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
425         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
426         (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
427         (WebCore::RenderLayerCompositor::requiresCompositingForBlending):
428         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
429         (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
430         * rendering/RenderLayerCompositor.h:
431         * rendering/RenderObject.cpp:
432         (WebCore::RenderObject::containingBlock):
433         (WebCore::mustRepaintFillLayers):
434         (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered):
435         (WebCore::RenderObject::willBeDestroyed):
436         * rendering/RenderScrollbarPart.cpp:
437         (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
438         * rendering/RenderScrollbarPart.h:
439         * rendering/RenderTableCell.cpp:
440         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
441         * rendering/RenderTableCell.h:
442         * rendering/RenderView.cpp:
443         (WebCore::RenderView::RenderView):
444         * rendering/style/FillLayer.cpp:
445         (WebCore::FillLayer::hasOpaqueImage):
446         * rendering/style/FillLayer.h:
447         * rendering/style/KeyframeList.h:
448         (WebCore::KeyframeList::KeyframeList):
449         * rendering/style/StyleCachedImage.cpp:
450         (WebCore::StyleCachedImage::imageSize):
451         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
452         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
453         (WebCore::StyleCachedImage::addClient):
454         (WebCore::StyleCachedImage::removeClient):
455         (WebCore::StyleCachedImage::image):
456         (WebCore::StyleCachedImage::knownToBeOpaque):
457         * rendering/style/StyleCachedImage.h:
458         * rendering/style/StyleCachedImageSet.cpp:
459         (WebCore::StyleCachedImageSet::imageSize):
460         (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
461         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
462         (WebCore::StyleCachedImageSet::addClient):
463         (WebCore::StyleCachedImageSet::removeClient):
464         (WebCore::StyleCachedImageSet::image):
465         (WebCore::StyleCachedImageSet::knownToBeOpaque):
466         * rendering/style/StyleCachedImageSet.h:
467         * rendering/style/StyleGeneratedImage.cpp:
468         (WebCore::StyleGeneratedImage::imageSize):
469         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
470         (WebCore::StyleGeneratedImage::addClient):
471         (WebCore::StyleGeneratedImage::removeClient):
472         (WebCore::StyleGeneratedImage::image):
473         (WebCore::StyleGeneratedImage::knownToBeOpaque):
474         * rendering/style/StyleGeneratedImage.h:
475         * rendering/style/StyleImage.h:
476         (WebCore::StyleImage::imagesEquivalent):
477         * rendering/style/StylePendingImage.h:
478         (WebCore::StylePendingImage::cssImageValue):
479         (WebCore::StylePendingImage::cssImageGeneratorValue):
480         (WebCore::StylePendingImage::cssCursorImageValue):
481         (WebCore::StylePendingImage::cssImageSetValue):
482         (WebCore::StylePendingImage::computeIntrinsicDimensions):
483         * testing/Internals.cpp:
484         (WebCore::Internals::boundingBox):
485         (WebCore::Internals::isSelectPopupVisible):
486         (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
487         Use RenderElement instead of RenderObject where it was easy to do so.
488         For local variables holding the return value of renderer() functions,
489         use auto instead, so the most-specific possible type will be used,
490         without having to figure out what that is in each case. Also use some
491         more OVERRIDE and FINAL and use nullptr instead of 0. And replace some
492         cryptic short local variable names with words.
493
494 2013-09-29  Philip Rogers  <pdr@google.com>
495
496         Repaint borders and outlines on pseudo content changes
497         https://bugs.webkit.org/show_bug.cgi?id=122070
498
499         Reviewed by Andreas Kling.
500
501         This patch fixes a regression from wkrev.com/150259 where pseudo content with
502         borders or outlines would fail to repaint if the color property changed.
503         The root bug is that border-color and outline-color properties use 'color' if
504         no explicit border-color or outline-color are given, and changing color should
505         repaint borders and outlines even if the text content is empty.
506
507         Relevant spec sections:
508         border: http://www.w3.org/TR/CSS1/#border-color
509         outline: http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color
510
511         This patch also renames StyleDifferenceRepaintIfText to
512         StyleDifferenceRepaintIfTextOrBorderOrOutline and updates the relevant functions.
513
514         Test: fast/repaint/hover-pseudo-borders.html
515
516         * rendering/RenderElement.cpp:
517         (WebCore::RenderElement::hasImmediateNonWhitespaceTextChildOrBorderOrOutline):
518
519             This function has been renamed to reflect that it returns true for borders
520             or outlines as well.
521
522         (WebCore::RenderElement::shouldRepaintForStyleDifference):
523         * rendering/RenderElement.h:
524         * rendering/style/RenderStyle.cpp:
525         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
526         (WebCore::RenderStyle::diff):
527         * rendering/style/RenderStyle.h:
528         * rendering/style/RenderStyleConstants.h:
529         * rendering/svg/SVGResourcesCache.cpp:
530         (WebCore::SVGResourcesCache::clientStyleChanged):
531             These have also been renamed to reflect the new borders and outlines check.
532
533 2013-09-29  Antti Koivisto  <antti@apple.com>
534
535         Tighten typing in inline rendering
536         https://bugs.webkit.org/show_bug.cgi?id=122076
537
538         Reviewed by Andreas Kling.
539         
540         More RenderElement, const, &, etc.
541
542         * dom/Position.cpp:
543         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
544         * rendering/InlineFlowBox.cpp:
545         (WebCore::isLastChildForRenderer):
546         (WebCore::isAncestorAndWithinBlock):
547         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
548         (WebCore::InlineFlowBox::nodeAtPoint):
549         * rendering/InlineIterator.h:
550         (WebCore::InlineIterator::InlineIterator):
551         (WebCore::InlineIterator::root):
552         (WebCore::isEmptyInline):
553         (WebCore::bidiNextShared):
554         (WebCore::bidiNextSkippingEmptyInlines):
555         (WebCore::bidiNextIncludingEmptyInlines):
556         (WebCore::bidiFirstSkippingEmptyInlines):
557         * rendering/RenderBlockLineLayout.cpp:
558         (WebCore::inlineLogicalWidth):
559         (WebCore::alwaysRequiresLineBox):
560         (WebCore::requiresLineBox):
561         (WebCore::canBreakAtThisPosition):
562         (WebCore::LineBreaker::nextSegmentBreak):
563         * rendering/shapes/ShapeInsideInfo.h:
564         (WebCore::LineSegmentIterator::LineSegmentIterator):
565
566 2013-09-28  Sam Weinig  <sam@webkit.org>
567
568         Merge ScriptControllerBase into ScriptController
569         https://bugs.webkit.org/show_bug.cgi?id=122071
570
571         Reviewed by Antti Koivisto.
572
573         There is no need for ScriptControllerBase. Remove it.
574
575         * CMakeLists.txt:
576         * GNUmakefile.list.am:
577         * Target.pri:
578         * WebCore.vcxproj/WebCore.vcxproj:
579         * WebCore.vcxproj/WebCore.vcxproj.filters:
580         * WebCore.xcodeproj/project.pbxproj:
581         * bindings/ScriptControllerBase.cpp: Removed.
582         * bindings/ScriptControllerBase.h: Removed.
583         * bindings/js/ScriptController.cpp:
584         (WebCore::ScriptController::canExecuteScripts):
585         (WebCore::ScriptController::executeScript):
586         (WebCore::ScriptController::executeIfJavaScriptURL):
587         * bindings/js/ScriptController.h:
588
589 2013-09-28  Zan Dobersek  <zdobersek@igalia.com>
590
591         Unreviewed build fix after r156613 for ports enabling CSS3_TEXT.
592
593         * rendering/RenderBlockLineLayout.cpp:
594         (WebCore::requiresIndent): Use the RenderStyle reference.
595
596 2013-09-28  Antti Koivisto  <antti@apple.com>
597
598         Switch inline boxes to use const RenderStyle&
599         https://bugs.webkit.org/show_bug.cgi?id=122068
600
601         Reviewed by Sam Weinig.
602
603 2013-09-28  Antti Koivisto  <antti@apple.com>
604
605         Add first()/last() to ElementIteratorAdapters
606         https://bugs.webkit.org/show_bug.cgi?id=122067
607
608         Reviewed by Darin Adler.
609
610         Add a convenient way for getting the first and last element if it exists.
611         
612         Use it in some places.
613
614         * accessibility/AccessibilityNodeObject.cpp:
615         (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
616         * css/CSSFontFaceSource.cpp:
617         (WebCore::CSSFontFaceSource::getFontData):
618         * dom/Document.cpp:
619         (WebCore::Document::childrenChanged):
620         (WebCore::Document::removeTitle):
621         * dom/ElementChildIterator.h:
622         (WebCore::::first):
623         (WebCore::::last):
624         * dom/ElementDescendantIterator.h:
625         (WebCore::::first):
626         (WebCore::::last):
627         * html/HTMLFieldSetElement.cpp:
628         (WebCore::HTMLFieldSetElement::legend):
629         * html/HTMLLegendElement.cpp:
630         (WebCore::HTMLLegendElement::associatedControl):
631         * html/HTMLMediaElement.cpp:
632         (WebCore::HTMLMediaElement::finishParsingChildren):
633         (WebCore::HTMLMediaElement::selectMediaResource):
634         * svg/SVGElement.cpp:
635         (WebCore::SVGElement::title):
636         * svg/SVGFontFaceElement.cpp:
637         (WebCore::SVGFontFaceElement::rebuildFontFace):
638         * svg/graphics/SVGImage.cpp:
639         (WebCore::SVGImage::hasSingleSecurityOrigin):
640
641 2013-09-28  Mark Rowe  <mrowe@apple.com>
642
643         Fix some failures with newer versions of clang.
644
645         Some CoreGraphics headers generate warnings under newer versions of clang. Since they're system headers the warnings would
646         usually be suppressed, but we're adding the frameworks to the non-system framework search path so they're no longer treated
647         as system headers. We address this by removing the system paths from FRAMEWORK_SEARCH_PATHS and using the -iframework compiler
648         flag in OTHER_CFLAGS to add the paths to the system framework search path. We have to set OTHER_CFLAGS at the target level
649         in order for it to coexist with the ASAN-related OTHER_CFLAGS that's set in DebugRelease.xcconfig.
650
651         Reviewed by Dan Bernstein.
652
653         * Configurations/WebCore.xcconfig:
654
655 2013-09-28  Mark Rowe  <mrowe@apple.com>
656
657         Take Xcode's advice and enable some extra warnings.
658
659         Reviewed by Sam Weinig.
660
661         * Configurations/Base.xcconfig:
662         * WebCore.xcodeproj/project.pbxproj:
663         * dom/NamedNodeMap.cpp:
664         (WebCore::NamedNodeMap::removeNamedItemNS): Use the correct constant.
665
666 2013-09-28  Sam Weinig  <sam@webkit.org>
667
668         CTTE: VisitedLinkState should hold a Document&
669         https://bugs.webkit.org/show_bug.cgi?id=122066
670
671         Reviewed by Antti Koivisto.
672
673         The Document can never be null, so use a reference.
674
675 2013-09-27  Antti Koivisto  <antti@apple.com>
676
677         Clean up code for getting first line style
678         https://bugs.webkit.org/show_bug.cgi?id=122037
679
680         Reviewed by Andreas Kling.
681
682         We have confusing RenderObject::style(bool firstLine). Get rid of it in favour of 
683         just using RenderObject::firstLineStyle() where appropriate.
684         
685         Also switch to RenderStyle references in many places and move first line style caching
686         code down to RenderElement.
687
688 2013-09-28  Darin Adler  <darin@apple.com>
689
690         Add Frame::mainFrame and Frame::isMainFrame
691         https://bugs.webkit.org/show_bug.cgi?id=122064
692
693         Reviewed by Andreas Kling.
694
695         * WebCore.exp.in: Removed exports of FrameView::isMainFrameView and
696         Page::frameIsMainFrame. Since the new isMainFrame function is inline, it
697         does not need to be exported.
698
699         * history/PageCache.cpp:
700         (WebCore::PageCache::markPagesForFullStyleRecalc):
701         (WebCore::PageCache::markPagesForDeviceScaleChanged):
702         These two were the only functions I found that really wanted the equivalent
703         of Page::frameIsMainFrame, so wrote it out here instead of using a function
704         call.
705
706         * inspector/InspectorAgent.cpp: Removed the unused isMainResourceLoader function.
707         * inspector/InspectorAgent.h: Removed declarations of a few nonexistent or
708         unused private member functions. Also removed the InjectedScriptForOriginMap
709         typedef: It's mor readable to use the type directly
710
711         * loader/FrameLoader.h: Removed isLoadingMainFrame. It's not better than
712         calling frame().isMainFrame() directly.
713
714         * page/Frame.cpp:
715         (WebCore::Frame::Frame): Initialize m_mainFrame and call selfOnlyRef, keeping
716         the MainFrame alive as long as any of its subframes is alive.
717         (WebCore::Frame::~Frame): Call selfOnlyDeref.
718         (WebCore::Frame::createView): Use isMainFrame.
719         (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
720
721         * page/Frame.h: Added Frame::mainFrame, Frame::isMainFrame, and Frame::m_mainFrame.
722
723         * page/FrameView.h: Removed the isMainFrameView function. It's not better than
724         calling frame().isMainFrame() directly.
725
726         * page/MainFrame.cpp:
727         (WebCore::MainFrame::MainFrame): Initialize m_selfOnlyRefCount to 0.
728         (WebCore::MainFrame::selfOnlyRef): Added.
729         (WebCore::MainFrame::selfOnlyDeref): Added.
730         (WebCore::MainFrame::dropChildren): Added. Called when the self-only reference
731         count reaches 0 to avoid a reference cycle with subframes.
732
733         * page/MainFrame.h: Added new data members as mentioned above. Also, the
734         definition of the Frame::isMainFrame inline function goes here, since it can't
735         compile without the MainFrame class definition. This means that callers of
736         isMainFrame need to include MainFrame.h, which seems reasonable and is easy
737         to do.
738
739         * page/Page.cpp:
740         * page/Page.h: Added assertion to Page::mainFrame since it returns a reference.
741         Removed Page::frameIsMainFrame since it's not better than calling isMainFrame
742         on the frame.
743
744         * dom/Document.cpp:
745         (WebCore::Document::setVisualUpdatesAllowed):
746         (WebCore::Document::didBecomeCurrentDocumentInFrame):
747         (WebCore::Document::updateViewportArguments):
748         (WebCore::Document::setInPageCache):
749         (WebCore::Document::ensurePlugInsInjectedScript):
750         * history/CachedFrame.cpp:
751         (WebCore::CachedFrame::CachedFrame):
752         * history/CachedPage.cpp:
753         (WebCore::CachedPage::restore):
754         * html/HTMLPlugInImageElement.cpp:
755         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
756         * html/ImageDocument.cpp:
757         (WebCore::ImageDocument::shouldShrinkToFit):
758         * inspector/InspectorController.cpp:
759         (WebCore::InspectorController::didClearWindowObjectInWorld):
760         * inspector/InspectorInstrumentation.cpp:
761         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
762         * inspector/InspectorPageAgent.cpp:
763         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
764         (WebCore::InspectorPageAgent::frameNavigated):
765         * loader/DocumentLoader.cpp:
766         (WebCore::DocumentLoader::willSendRequest):
767         * loader/FrameLoader.cpp:
768         (WebCore::FrameLoader::transitionToCommitted):
769         (WebCore::FrameLoader::prepareForCachedPageRestore):
770         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
771         (WebCore::FrameLoader::didLayout):
772         (WebCore::FrameLoader::checkLoadComplete):
773         (WebCore::FrameLoader::addExtraFieldsToRequest):
774         (WebCore::FrameLoader::loadResourceSynchronously):
775         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
776         (WebCore::FrameLoader::dispatchDidCommitLoad):
777         (WebCore::FrameLoader::loadProgressingStatusChanged):
778         * loader/HistoryController.cpp:
779         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
780         (WebCore::HistoryController::restoreScrollPositionAndViewState):
781         (WebCore::HistoryController::updateForCommit):
782         (WebCore::HistoryController::updateForSameDocumentNavigation):
783         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
784         (WebCore::HistoryController::pushState):
785         * loader/icon/IconController.cpp:
786         (WebCore::IconController::startLoader):
787         * page/AutoscrollController.cpp:
788         (WebCore::AutoscrollController::stopAutoscrollTimer):
789         * page/ContextMenuController.cpp:
790         (WebCore::ContextMenuController::populate):
791         * page/DOMWindow.cpp:
792         (WebCore::allowsBeforeUnloadListeners):
793         (WebCore::DOMWindow::focus):
794         (WebCore::DOMWindow::blur):
795         (WebCore::DOMWindow::close):
796         (WebCore::DOMWindow::allowedToChangeWindowGeometry):
797         * page/EventHandler.cpp:
798         (WebCore::EventHandler::hitTestResultAtPoint):
799         (WebCore::EventHandler::selectCursor):
800         (WebCore::EventHandler::handleMousePressEvent):
801         (WebCore::EventHandler::keyEvent):
802         * page/FrameTree.cpp:
803         (WebCore::FrameTree::find):
804         (WebCore::FrameTree::traverseNextWithWrap):
805         * page/FrameView.cpp:
806         (WebCore::FrameView::FrameView):
807         (WebCore::FrameView::setFrameRect):
808         (WebCore::FrameView::createScrollbar):
809         (WebCore::FrameView::applyOverflowToViewport):
810         (WebCore::FrameView::setHeaderHeight):
811         (WebCore::FrameView::setFooterHeight):
812         (WebCore::FrameView::minimumScrollPosition):
813         (WebCore::FrameView::maximumScrollPosition):
814         (WebCore::FrameView::shouldUpdateFixedElementsAfterScrolling):
815         (WebCore::FrameView::beginDeferredRepaints):
816         (WebCore::FrameView::endDeferredRepaints):
817         (WebCore::FrameView::performPostLayoutTasks):
818         (WebCore::FrameView::sendResizeEventIfNeeded):
819         (WebCore::FrameView::pagination):
820         (WebCore::FrameView::visibleContentScaleFactor):
821         (WebCore::FrameView::setVisibleScrollerThumbRect):
822         (WebCore::FrameView::scrollbarStyleChanged):
823         (WebCore::FrameView::paintScrollCorner):
824         (WebCore::FrameView::paintScrollbar):
825         (WebCore::FrameView::paintOverhangAreas):
826         * page/scrolling/ScrollingCoordinator.cpp:
827         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
828         * rendering/RenderLayerBacking.cpp:
829         (WebCore::RenderLayerBacking::RenderLayerBacking):
830         Use the new functions where possible instead of Page::frameIsMainFrame,
831         Page::mainFrame, FrameLoader::isLoadingMainFrame, and FrameView::isMainFrameView.
832
833 2013-09-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
834
835         filter: drop-shadow doesnot support viewport units
836         https://bugs.webkit.org/show_bug.cgi?id=122053
837
838         Reviewed by Darin Adler.
839
840         drop-shadow properties were not applied incase its values
841         were given in vh, vw, vmax, vmin units.
842
843         Tests: fast/css/drop-shadow-viewport-height.html
844                fast/css/drop-shadow-viewport-vmax.html
845                fast/css/drop-shadow-viewport-vmin.html
846                fast/css/drop-shadow-viewport-width.html
847
848         * css/StyleResolver.cpp:
849         (WebCore::StyleResolver::createFilterOperations):
850         Calculating the drop-shadow values which has been specified in viewport
851         units.The vh/vw units are calcultated as percent of viewport height and
852         viewport width respectively. 1vmax: 1vw or 1vh, whatever is largest.
853         1vmin: 1vw or 1vh, whatever is smallest.
854
855 2013-09-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
856
857         REGRESSION (r154614): Setting the document scroll position isn't symmetric; can successfully set document.body.scrollTop, but can only read from document.documentElement.scrollTop
858         https://bugs.webkit.org/show_bug.cgi?id=121876
859
860         Reviewed by Darin Adler.
861
862         Non-Quirks mode should set/get scrolltop/scrollleft through
863         document.documentElement.scrollTop/document.documentElement.scrollLeft
864         Quirks mode should set/get scrolltop/scrollleft through
865         document.body.scrollTop/document.body.scrollLeft.
866
867         Tests: fast/dom/Element/body-scrollLeft-Quirks.html
868                fast/dom/Element/body-scrollLeft.html
869                fast/dom/Element/body-scrollTop-Quirks.html
870                fast/dom/Element/body-scrollTop.html
871                fast/dom/Element/documentElement-scrollLeft-Quirks.html
872                fast/dom/Element/documentElement-scrollLeft.html
873                fast/dom/Element/documentElement-scrollTop-Quirks.html
874                fast/dom/Element/documentElement-scrollTop.html
875
876         * dom/Element.cpp:
877         (WebCore::Element::setScrollLeft):
878         (WebCore::Element::setScrollTop):
879         * html/HTMLBodyElement.cpp:
880         (WebCore::HTMLBodyElement::setScrollLeft):
881         (WebCore::HTMLBodyElement::setScrollTop):
882         Need to set the scrollTop and scrollLeft after checking if document
883         is in quirks or non-quirks mode. Incase it is body.scrollLeft/
884         body.scrollTop set only if document is in quirks mode. If document is
885         non-quirks mode set documentElement.scrollLeft/documentElement.scrollTop.
886
887 2013-09-28  Andreas Kling  <akling@apple.com>
888
889         Pass VM instead of ExecState to JSFunction constructors.
890         <https://webkit.org/b/122014>
891
892         Reviewed by Geoffrey Garen.
893
894         Updated for new JSFunction::create() signature.
895
896 2013-09-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
897
898         Generate toCSSFooValue() for CSSImageValue 
899         https://bugs.webkit.org/show_bug.cgi?id=122051
900
901         Reviewed by Andreas Kling.
902
903         Clean up static_cast<CSSImageValue*> type casts. It will help to
904         detect bad cast as well as improve code readability.
905
906         Removed unnecessary local variables as well.
907
908         No new tests, no behavior changes.
909
910         * css/CSSCrossfadeValue.cpp:
911         (WebCore::subimageKnownToBeOpaque):
912         * css/CSSCursorImageValue.cpp:
913         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
914         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
915         (WebCore::CSSCursorImageValue::cachedImage):
916         (WebCore::CSSCursorImageValue::isSVGCursor):
917         * css/CSSImageGeneratorValue.cpp:
918         (WebCore::CSSImageGeneratorValue::subimageIsPending):
919         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
920         * css/CSSImageSetValue.cpp:
921         (WebCore::CSSImageSetValue::fillImageSet):
922         * css/CSSImageValue.h:
923         * css/CSSValue.cpp:
924         (WebCore::CSSValue::destroy):
925         * css/StyleResolver.cpp:
926         (WebCore::StyleResolver::applyProperty):
927         (WebCore::StyleResolver::styleImage):
928         * page/PageSerializer.cpp:
929         (WebCore::PageSerializer::retrieveResourcesForProperties):
930         * rendering/style/StylePendingImage.h:
931         (WebCore::StylePendingImage::data):
932         (WebCore::StylePendingImage::cssImageValue):
933
934 2013-09-28  Mark Rowe  <mrowe@apple.com>
935
936         WebCore fails to build with newer versions of clang.
937
938         Reviewed by Sam Weinig.
939
940         * Modules/indexeddb/IDBIndex.cpp: Remove an unused constant.
941         * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
942         * Modules/webaudio/AudioContext.cpp: Ditto.
943         * Modules/webaudio/ScriptProcessorNode.cpp: Ditto.
944         * Modules/webdatabase/SQLResultSet.cpp: Ditto.
945         * Modules/webdatabase/SQLTransactionBackend.cpp: Ditto.
946         * Modules/websockets/WebSocketHandshake.cpp: Ditto.
947         * bindings/objc/DOM.mm: Disable a warning about overriding a protocol method in a cateogry around the one
948         place we do it. I don't understand why this generates a warning, nor can I see a different approach that
949         would not result in the warning being emitted.
950         * css/CSSGrammar.y.in: #if a function that's only used inside an #if.
951         * html/track/TextTrackCue.cpp: Remove an unused constant.
952         * loader/TextResourceDecoder.cpp: Remove two unused functions.
953         * page/ContentSecurityPolicy.cpp: Add #if's around constants and functions that are only used when CSP_NEXT is enabled.
954         (WebCore::CSPDirectiveList::checkSourceAndReportViolation): Reorder the ifs slightly to make the #if'ing easier.
955         * page/ContentSecurityPolicy.h: Add #if's around functions that are only used when CSP_NEXT is enabled.
956         * page/DOMSecurityPolicy.cpp: Ditto.
957         * page/DOMSecurityPolicy.h: Ditto.
958         * page/animation/CSSPropertyAnimation.cpp: Remove an unused function.
959         * platform/mac/DisplaySleepDisabler.cpp: Add an #if around a constant that's only used on iOS.
960         * platform/mac/WebCoreFullScreenWarningView.mm: Remove three unused constants.
961         * rendering/RenderLayer.cpp: Remove two unused constants.
962         * rendering/RenderLayerCompositor.cpp:
963         (WebCore::compositingLogEnabled): Move the #if around the function definition.
964         * svg/SVGAnimatedAngle.cpp: Remove an unused function.
965         * svg/SVGUseElement.cpp: #if a function that's only used inside an ASSERT.
966         * xml/XPathStep.cpp: Ditto.
967
968 2013-09-27  Brady Eidson  <beidson@apple.com>
969
970         IndexedDB IDL Refactoring.
971         https://bugs.webkit.org/show_bug.cgi?id=121996
972
973         Reviewed by Alexey Proskuryakov.
974
975         This includes:
976         1 - Leveraging EventTarget.idl inheritance
977         2 - Removing comments
978         3 - Reordering to match the spec's IDLs
979         4 - Removing nonstandard, WebKit-specific methods
980         5 - Updating interfaces to match the spec (versions are only uint64_t's now...)
981         6 - Updating implementation code as needed (versions are only uint64_t's now...)
982
983         IDL changes:
984         * Modules/indexeddb/IDBCursor.idl:
985         * Modules/indexeddb/IDBDatabase.idl:
986         * Modules/indexeddb/IDBFactory.idl:
987         * Modules/indexeddb/IDBIndex.idl:
988         * Modules/indexeddb/IDBKeyRange.idl:
989         * Modules/indexeddb/IDBObjectStore.idl:
990         * Modules/indexeddb/IDBRequest.idl:
991         * Modules/indexeddb/IDBTransaction.idl:
992         * Modules/indexeddb/IDBVersionChangeEvent.idl:
993
994         * Modules/indexeddb/IndexedDB.h: Add new enum to represent version nullness.
995
996         Adapt to new IDLs, and also refactor representation of initial, null versioning:
997         * Modules/indexeddb/IDBCallbacks.h:
998         (WebCore::IDBCallbacks::onBlocked):
999         (WebCore::IDBCallbacks::onUpgradeNeeded):
1000
1001         * Modules/indexeddb/IDBDatabase.cpp:
1002         (WebCore::IDBDatabase::version):
1003         (WebCore::IDBDatabase::onVersionChange):
1004         * Modules/indexeddb/IDBDatabase.h:
1005
1006         * Modules/indexeddb/IDBDatabaseCallbacks.h:
1007         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
1008         (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
1009         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
1010
1011         * Modules/indexeddb/IDBFactory.cpp:
1012         (WebCore::IDBFactory::open):
1013         (WebCore::IDBFactory::openInternal):
1014         (WebCore::IDBFactory::deleteDatabase):
1015         * Modules/indexeddb/IDBFactory.h:
1016
1017         * Modules/indexeddb/IDBMetadata.h:
1018         (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
1019
1020         * Modules/indexeddb/IDBOpenDBRequest.cpp:
1021         (WebCore::IDBOpenDBRequest::create):
1022         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
1023         (WebCore::IDBOpenDBRequest::onBlocked):
1024         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
1025         * Modules/indexeddb/IDBOpenDBRequest.h:
1026
1027         * Modules/indexeddb/IDBRequest.cpp:
1028         * Modules/indexeddb/IDBRequest.h:
1029
1030         * Modules/indexeddb/IDBTransaction.cpp:
1031         * Modules/indexeddb/IDBTransaction.h:
1032
1033         * Modules/indexeddb/IDBVersionChangeEvent.cpp:
1034         (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
1035         * Modules/indexeddb/IDBVersionChangeEvent.h:
1036         (WebCore::IDBVersionChangeEvent::create):
1037         (WebCore::IDBVersionChangeEvent::oldVersion):
1038         (WebCore::IDBVersionChangeEvent::newVersion):
1039
1040         Keep leveldb building with minimal adaptations to the new IDLs,
1041         but note that the LevelDB implementation is now incompatible with the spec:
1042         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1043         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
1044         (WebCore::objectStoreCursorOptions):
1045         (WebCore::indexCursorOptions):
1046
1047         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
1048         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
1049         (WebCore::IDBDatabaseBackendLevelDB::openInternal):
1050         (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::perform):
1051         (WebCore::IDBDatabaseBackendLevelDB::processPendingCalls):
1052         (WebCore::IDBDatabaseBackendLevelDB::openConnection):
1053         (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
1054         (WebCore::IDBDatabaseBackendLevelDB::deleteDatabase):
1055         (WebCore::IDBDatabaseBackendLevelDB::deleteDatabaseFinal):
1056         (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform):
1057
1058         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
1059         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
1060
1061         * inspector/InspectorIndexedDBAgent.cpp: Update for metadata change.
1062
1063 2013-09-27  Enrica Casucci  <enrica@apple.com>
1064
1065         Upstream changes to Pasteboard implementation for iOS.
1066         https://bugs.webkit.org/show_bug.cgi?id=121818
1067
1068         Reviewed by Benjamin Poulain.
1069
1070         * WebCore.exp.in:
1071         * editing/Editor.cpp:
1072         (WebCore::Editor::dispatchCPPEvent):
1073         * editing/ios/EditorIOS.mm:
1074         (WebCore::Editor::WebContentReader::addFragment):
1075         (WebCore::Editor::WebContentReader::readWebArchive):
1076         (WebCore::Editor::WebContentReader::readFilenames):
1077         (WebCore::Editor::WebContentReader::readHTML):
1078         (WebCore::Editor::WebContentReader::readRTFD):
1079         (WebCore::Editor::WebContentReader::readRTF):
1080         (WebCore::uniqueURLWithRelativePart):
1081         (WebCore::Editor::WebContentReader::readImage):
1082         (WebCore::Editor::WebContentReader::readURL):
1083         (WebCore::Editor::WebContentReader::readPlainText):
1084         (WebCore::Editor::webContentFromPasteboard):
1085         (WebCore::Editor::pasteWithPasteboard):
1086         (WebCore::Editor::createFragmentAndAddResources):
1087         (WebCore::Editor::createFragmentForImageResourceAndAddResource):
1088         * platform/Pasteboard.h:
1089         * platform/PasteboardStrategy.h:
1090         * platform/PlatformPasteboard.h:
1091         * platform/ios/PasteboardIOS.mm:
1092         (WebCore::PasteboardWebContent::PasteboardWebContent):
1093         (WebCore::PasteboardWebContent::~PasteboardWebContent):
1094         (WebCore::PasteboardImage::PasteboardImage):
1095         (WebCore::PasteboardImage::~PasteboardImage):
1096         (WebCore::Pasteboard::Pasteboard):
1097         (WebCore::Pasteboard::clear):
1098         (WebCore::Pasteboard::readString):
1099         (WebCore::Pasteboard::writeString):
1100         (WebCore::Pasteboard::types):
1101         * platform/ios/PlatformPasteboardIOS.mm:
1102         (WebCore::PlatformPasteboard::changeCount):
1103         (WebCore::PlatformPasteboard::write):
1104         (WebCore::PlatformPasteboard::count):
1105         (WebCore::PlatformPasteboard::readBuffer):
1106         (WebCore::PlatformPasteboard::readString):
1107         (WebCore::PlatformPasteboard::readURL):
1108         * platform/mac/PasteboardMac.mm:
1109         (WebCore::PasteboardWebContent::PasteboardWebContent):
1110         (WebCore::PasteboardWebContent::~PasteboardWebContent):
1111         (WebCore::PasteboardImage::PasteboardImage):
1112         (WebCore::PasteboardImage::~PasteboardImage):
1113         * platform/mac/PlatformPasteboardMac.mm:
1114
1115 2013-09-27  Hans Muller  <hmuller@adobe.com>
1116
1117         Crash on shape-outside when using calc()
1118         https://bugs.webkit.org/show_bug.cgi?id=121020
1119
1120         Reviewed by Dirk Schulze.
1121
1122         This change prevents a crash caused by specifying a CSS Shape geometry
1123         Length attribute with a calc() expression. It adds support for converting
1124         Lengths to CSSPrimitive Values, in large part by migrating Blink changes
1125         made to the calc classes since the split. Doing so required a few supporting
1126         changes in some related classes, notably CSSPrimitiveValue.
1127
1128         Tests: fast/shapes/shape-inside/shape-inside-calc-crash.html
1129                css3/calc/simplification.html
1130
1131         * css/BasicShapeFunctions.cpp:
1132         (WebCore::convertToCSSPrimitiveValue): Effectively use the new CSSPrimtiveValue(length,style) constructor to convert Lengths to CSSValues.
1133         (WebCore::valueForBasicShape): Use the convertToCSSPrimitiveValue() function.
1134         (WebCore::convertToLength): Added the CalculatedConversion convertToLength() flag to enable support for calc() valued Length Shape attributes.
1135         * css/BasicShapeFunctions.h:
1136         * css/CSSCalculationValue.cpp:
1137         (WebCore::hasDoubleValue):
1138         (WebCore::buildCssText):
1139         (WebCore::CSSCalcValue::clampToPermittedRange):
1140         (WebCore::CSSCalcValue::doubleValue):
1141         (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
1142         (WebCore::CSSCalcPrimitiveValue::create):
1143         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
1144         (WebCore::CSSCalcPrimitiveValue::doubleValue):
1145         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
1146         (WebCore::CSSCalcPrimitiveValue::primitiveType):
1147         (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
1148         (WebCore::determineCategory):
1149         (WebCore::isIntegerResult):
1150         (WebCore::CSSCalcBinaryOperation::create):
1151         (WebCore::CSSCalcBinaryOperation::createSimplified):
1152         (WebCore::CSSCalcBinaryOperation::doubleValue):
1153         (WebCore::CSSCalcBinaryOperation::buildCssText):
1154         (WebCore::CSSCalcBinaryOperation::primitiveType):
1155         (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
1156         (WebCore::CSSCalcBinaryOperation::getNumberSide):
1157         (WebCore::CSSCalcBinaryOperation::evaluate):
1158         (WebCore::CSSCalcBinaryOperation::evaluateOperator):
1159         (WebCore::CSSCalcExpressionNodeParser::parseValue):
1160         (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
1161         (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
1162         (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
1163         (WebCore::CSSCalcValue::createExpressionNode):
1164         (WebCore::CSSCalcValue::create):
1165         * css/CSSCalculationValue.h:
1166         (WebCore::CSSCalcExpressionNode::category):
1167         (WebCore::CSSCalcValue::create):
1168         (WebCore::CSSCalcValue::isInt):
1169         (WebCore::CSSCalcValue::permittedValueRange):
1170         (WebCore::CSSCalcValue::expressionNode):
1171         (WebCore::CSSCalcValue::CSSCalcValue):
1172         (WebCore::toCSSCalcValue):
1173         * css/CSSComputedStyleDeclaration.cpp:
1174         (WebCore::ComputedStyleExtractor::propertyValue): Pass the style along to the new valueForBasicShape() function.
1175         * css/CSSPrimitiveValue.cpp:
1176         (WebCore::CSSPrimitiveValue::unitCategory): Made this function public so that CSSCalculationValue could use it.
1177         (WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor): Ditto.
1178         (WebCore::CSSPrimitiveValue::primitiveType): Cleared trailing whitespace.
1179         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
1180         (WebCore::CSSPrimitiveValue::init): The common part of the two Length CSSPrimitiveValue constructors.
1181         (WebCore::CSSPrimitiveValue::computeLengthDouble): Moved the case labels to the left per check-webkit-style.
1182         (WebCore::CSSPrimitiveValue::getStringValue): Ditto.
1183         (WebCore::CSSPrimitiveValue::getDoubleValue): Removed trailing whitespace.
1184         * css/CSSPrimitiveValue.h:
1185         (WebCore::CSSPrimitiveValue::create): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
1186         (WebCore::toCSSPrimitiveValue): Check the CSSValue*'s validity with ASSERT_WITH_SECURITY_IMPLICATION before casting to CSSPrimitiveValue*.
1187         * css/CSSValuePool.h:
1188         (WebCore::CSSValuePool::createValue): A new overload that delegates to the new CSSPrimitiveValue(length,style) constructor.
1189         * platform/CalculationValue.h:
1190         (WebCore::CalculationValue::operator==):
1191         (WebCore::CalculationValue::isNonNegative):
1192         (WebCore::CalculationValue::expression):
1193         (WebCore::CalcExpressionNumber::value):
1194         (WebCore::toCalcExpressionNumber):
1195         (WebCore::CalcExpressionLength::CalcExpressionLength):
1196         (WebCore::CalcExpressionLength::length):
1197         (WebCore::toCalcExpressionLength):
1198         (WebCore::CalcExpressionBinaryOperation::leftSide):
1199         (WebCore::CalcExpressionBinaryOperation::rightSide):
1200         (WebCore::CalcExpressionBinaryOperation::getOperator):
1201         (WebCore::toCalcExpressionBinaryOperation):
1202         (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
1203         (WebCore::CalcExpressionBlendLength::from):
1204         (WebCore::CalcExpressionBlendLength::to):
1205         (WebCore::CalcExpressionBlendLength::progress):
1206         (WebCore::toCalcExpressionBlendLength):
1207
1208 2013-09-27  Andreas Kling  <akling@apple.com>
1209
1210         REGRESSION(r154219): 30% more malloc memory used on html5-full-render.
1211         <https://webkit.org/b/122034>
1212
1213         Reviewed by Antti Koivisto.
1214
1215         canExecuteScripts() used to rely on Frame::settings() returning null
1216         when the Frame was disconnected from its Page, and giving Frame its
1217         own handle on the Settings broke this mechanism.
1218
1219         This caused us to hold on for some objects for a bit longer than we
1220         needed to in the run-perf-tests harness, showing up as a massive 30%
1221         regression in malloc memory use.
1222
1223         Fixed it by added an explicit null check of Frame::page().
1224
1225 2013-09-27  Alexey Proskuryakov  <ap@apple.com>
1226
1227         Updating bindings test results after KURL->URL rename.
1228
1229         Includes were now in the wrong order.
1230
1231         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
1232         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
1233         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
1234         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
1235         * bindings/scripts/test/CPP/WebDOMTestException.cpp:
1236         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
1237         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1238         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
1239         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1240         * bindings/scripts/test/JS/JSTestException.cpp:
1241         * bindings/scripts/test/JS/JSTestObj.cpp:
1242         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1243         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm:
1244         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1245         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm:
1246         * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm:
1247         * bindings/scripts/test/ObjC/DOMTestEventTarget.mm:
1248         * bindings/scripts/test/ObjC/DOMTestException.mm:
1249         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
1250         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1251         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
1252
1253 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1254
1255         Get MediaStreamCenterGStreamer compiling again
1256         https://bugs.webkit.org/show_bug.cgi?id=122029
1257
1258         After MediaStream cleanup commit, it was not building anymore.
1259
1260         Reviewed by Eric Carlson.
1261
1262         No new tests needed.
1263
1264         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
1265
1266 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1267
1268         Storing a reference to MediaStreamTrack in RTCStatsRequest
1269         https://bugs.webkit.org/show_bug.cgi?id=122030
1270
1271         Reviewed by Eric Carlson.
1272
1273         The spec[1] says that the stats is related to a MediaStreamTrack object.
1274         It also says: "Evaluate the need for other selectors than MediaStreamTrack".
1275         So a MediaStreamTrack object is more suitable in this case.
1276
1277         [1]http://dev.w3.org/2011/webrtc/editor/webrtc.html#stats-selector
1278
1279         No new tests needed.
1280
1281         * Modules/mediastream/RTCStatsRequestImpl.cpp:
1282         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
1283         (WebCore::RTCStatsRequestImpl::hasSelector):
1284         (WebCore::RTCStatsRequestImpl::track):
1285         * Modules/mediastream/RTCStatsRequestImpl.h:
1286         * platform/mediastream/RTCStatsRequest.h:
1287
1288 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1289
1290         [Nix] Updating Nix trunk files
1291         https://bugs.webkit.org/show_bug.cgi?id=121752
1292
1293         Reviewed by Benjamin Poulain.
1294
1295         No new tests needed.
1296
1297         * page/nix/EventHandlerNix.cpp:
1298         (WebCore::EventHandler::focusDocumentView):
1299         (WebCore::EventHandler::passWheelEventToWidget):
1300         (WebCore::EventHandler::passMousePressEventToSubframe):
1301         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1302         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1303         * platform/DragImage.h:
1304         * platform/graphics/GraphicsContext3D.h:
1305         * platform/nix/DragImageNix.cpp:
1306         (WebCore::createDragImageFromImage):
1307         * platform/nix/GamepadsNix.cpp:
1308         (WebCore::sampleGamepads):
1309         * platform/nix/LanguageNix.cpp:
1310         (WebCore::platformLanguage):
1311         * platform/nix/LocalizedStringsNix.cpp:
1312         (WebCore::unacceptableTLSCertificate):
1313         * platform/nix/PasteboardNix.cpp:
1314         (WebCore::Pasteboard::types):
1315         * platform/nix/RenderThemeNix.cpp:
1316         (WebCore::toColor):
1317         (WebCore::themeEngine):
1318         (WebCore::webCanvas):
1319         (WebCore::getWebThemeState):
1320         (WebCore::RenderThemeNix::paintButton):
1321         (WebCore::RenderThemeNix::paintTextField):
1322         (WebCore::RenderThemeNix::paintCheckbox):
1323         (WebCore::RenderThemeNix::paintRadio):
1324         (WebCore::RenderThemeNix::paintMenuList):
1325         (WebCore::RenderThemeNix::paintProgressBar):
1326         (WebCore::RenderThemeNix::paintInnerSpinButton):
1327         (WebCore::RenderThemeNix::paintMeter):
1328
1329 2013-09-27  Anders Carlsson  <andersca@apple.com>
1330
1331         Use std::unique_ptr for GraphicsLayer creation
1332         https://bugs.webkit.org/show_bug.cgi?id=122020
1333
1334         Reviewed by Antti Koivisto.
1335
1336         * platform/graphics/GraphicsLayer.h:
1337         * platform/graphics/GraphicsLayerFactory.h:
1338         * platform/graphics/ca/GraphicsLayerCA.cpp:
1339         (WebCore::GraphicsLayer::create):
1340         * platform/graphics/ca/GraphicsLayerCA.h:
1341         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1342         (WebCore::CompositingCoordinator::createGraphicsLayer):
1343         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
1344         * rendering/RenderLayerBacking.cpp:
1345         (WebCore::RenderLayerBacking::createGraphicsLayer):
1346         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1347         (WebCore::RenderLayerBacking::paintIntoLayer):
1348         * rendering/RenderLayerBacking.h:
1349         (WebCore::RenderLayerBacking::hasScrollingLayer):
1350         * rendering/RenderLayerCompositor.cpp:
1351         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1352         * rendering/RenderLayerCompositor.h:
1353
1354 2013-09-27  Beth Dakin  <bdakin@apple.com>
1355
1356         ScrollbarPainterController should adopt the api to lock overlay scrollbar state
1357         https://bugs.webkit.org/show_bug.cgi?id=121928
1358
1359         Reviewed by Sam Weinig.
1360
1361         ScrollbarPainterController should adopt the api to lock overlay scrollbar state. 
1362         This will allow the ScrollbarPainterController and ScrollAnimatorMac to have 
1363         control over knowing whether or not the scrollbars are currently active, which 
1364         will allow us to remove a bunch of functions previously implemented in 
1365         ScrollableArea subclasses to answer that question.
1366
1367         ScrollableArea::scrollbarsCanBeActive() is not longer virtual. It used to 
1368         implemented on ScrollableArea subclasses, but now ScrollableArea can just get the 
1369         information from the ScrollAnimator.
1370         * WebCore.exp.in:
1371
1372         When ScrollableArea subclasses implemented scrollbarsCanBeActive(), they would 
1373         check to see if the document was in the page cache. Instead of that model, this 
1374         patch adopts a model where ScrollbarPainterController is told directly whether or 
1375         not it is active via shouldLockOverlayScrollbarsToHidden(bool).
1376         * dom/Document.cpp:
1377         (WebCore::Document::setInPageCache):
1378
1379         setAnimatorsAreActive() is no longer necessary. The functionality can be bundled 
1380         into shouldLockOverlayScrollbarsToHidden(bool).
1381         (WebCore::Document::documentDidResumeFromPageCache):
1382
1383         Remove implementations of scrollbarsCanBeActive(), setAnimatorsAreActive(), and 
1384         scrollbarAnimationsAreSuppressed(). 
1385         * page/FrameView.cpp:
1386         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1387         * page/FrameView.h:
1388
1389         setShouldSuppressScrollbarAnimations(bool) now calls 
1390         setShouldLockOverlayScrollbars(bool). 
1391         * page/Page.cpp:
1392         (WebCore::Page::setShouldSuppressScrollbarAnimations):
1393         (WebCore::Page::setShouldLockOverlayScrollbars):
1394         * page/Page.h:
1395
1396         setIsActive() is now implemented in the ScrollAnimator instead of ScrollableArea 
1397         subclasses. finishCurrentScrollAnimations() is replaced by 
1398         lockOverlayScrollbarStateToHidden(bool).
1399         * platform/ScrollAnimator.h:
1400         (WebCore::ScrollAnimator::lockOverlayScrollbarStateToHidden):
1401         (WebCore::ScrollAnimator::scrollbarsCanBeActive):
1402
1403         New enum ScrollbarOverlayState.
1404         * platform/ScrollTypes.h:
1405
1406         Go to the animator for both of these functions.
1407         * platform/ScrollableArea.cpp:
1408         (WebCore::ScrollableArea::lockOverlayScrollbarStateToHidden):
1409         (WebCore::ScrollableArea::scrollbarsCanBeActive):
1410         * platform/ScrollableArea.h:
1411         (WebCore::ScrollableArea::setVisibleScrollerThumbRect):
1412
1413         Three new pieces of ScrollbarPainterController api.
1414         * platform/mac/NSScrollerImpDetails.h:
1415
1416         Instead of asking the ScrollableArea if scrollbars can be active, just find out if 
1417         the ScrollbarPaintController has been locked.
1418         * platform/mac/ScrollAnimatorMac.h:
1419         * platform/mac/ScrollAnimatorMac.mm:
1420         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
1421         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1422         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
1423         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
1424         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
1425         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
1426         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1427         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1428         (WebCore::ScrollAnimatorMac::willStartLiveResize):
1429         (WebCore::ScrollAnimatorMac::contentsResized):
1430         (WebCore::ScrollAnimatorMac::willEndLiveResize):
1431         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
1432         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
1433         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
1434         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
1435         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
1436         (WebCore::ScrollAnimatorMac::lockOverlayScrollbarStateToHidden):
1437         (WebCore::ScrollAnimatorMac::scrollbarsCanBeActive):
1438         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
1439         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1440
1441         Remove implementations of scrollbarsCanBeActive() and 
1442         scrollbarAnimationsAreSuppressed().
1443         * rendering/RenderLayer.cpp:
1444         * rendering/RenderLayer.h:
1445         * rendering/RenderListBox.cpp:
1446         * rendering/RenderListBox.h:
1447
1448 2013-09-27  David Hyatt  <hyatt@apple.com>
1449
1450         Move line grid functionality from RenderBlock into RenderBlockFlow.
1451         https://bugs.webkit.org/show_bug.cgi?id=121502
1452
1453         Reviewed by Dean Jackson.
1454
1455         * rendering/LayoutState.cpp:
1456         (WebCore::LayoutState::LayoutState):
1457         (WebCore::LayoutState::establishLineGrid):
1458         * rendering/LayoutState.h:
1459         (WebCore::LayoutState::lineGrid):
1460         * rendering/RenderBlock.cpp:
1461         (WebCore::RenderBlock::willBeDestroyed):
1462         * rendering/RenderBlock.h:
1463         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
1464         * rendering/RenderBlockFlow.cpp:
1465         (WebCore::RenderBlockFlow::willBeDestroyed):
1466         (WebCore::RenderBlockFlow::layoutLineGridBox):
1467         * rendering/RenderBlockFlow.h:
1468         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
1469         (WebCore::RenderBlockFlow::lineGridBox):
1470         (WebCore::RenderBlockFlow::setLineGridBox):
1471         * rendering/RenderBlockLineLayout.cpp:
1472         * rendering/RootInlineBox.cpp:
1473         (WebCore::RootInlineBox::lineSnapAdjustment):
1474
1475 2013-09-27  Andreas Kling  <akling@apple.com>
1476
1477         Re-indent Settings.h
1478
1479         Rubber-stamped by Anders Carlsson.
1480
1481 2013-09-27  Eric Carlson  <eric.carlson@apple.com>
1482
1483         [MediaStream API] update SourceInfo object to match spec
1484         https://bugs.webkit.org/show_bug.cgi?id=121941
1485
1486         Reviewed by Dean Jackson.
1487
1488         No new tests, existing test updated.
1489
1490         * Modules/mediastream/SourceInfo.cpp:
1491         (WebCore::SourceInfo::kind): Get rid of "none".
1492         * Modules/mediastream/SourceInfo.h:
1493         (WebCore::SourceInfo::sourceId): Renamed from "id".
1494         * Modules/mediastream/SourceInfo.idl:
1495
1496         * platform/mediastream/MediaStreamTrackSourcesRequestClient.h:
1497         (WebCore::TrackSourceInfo::create):
1498         (WebCore::TrackSourceInfo::kind):
1499         (WebCore::TrackSourceInfo::TrackSourceInfo):
1500
1501         * platform/mock/MockMediaStreamCenter.cpp:
1502         (WebCore::MockMediaStreamCenter::getMediaStreamTrackSources): "facing" isn't a part of sourceInfo.
1503             Return a non-NULL ID because a source must always have one.
1504
1505 2013-09-26  Dean Jackson  <dino@apple.com>
1506
1507         Provide 2D Matrix decomposition for animation
1508         https://bugs.webkit.org/show_bug.cgi?id=112824
1509         <rdar://problem/15091882>
1510
1511         Reviewed by Eric Carlson (and Ian Henderson offline).
1512
1513         Implement a new 2d matrix blend, which is triggered
1514         when animating between two affine 3d matrices. This
1515         is intended to be the official algorithm that gets
1516         put into the W3C Transforms specification.
1517
1518         The old code is renamed with a 4 prefix (indicating
1519         it is a blend between 3d matrices using quaternions),
1520         and new methods and structures for 2d blending were added.
1521
1522         I also took the opportunity to clean up a lot of
1523         bad WebKit style.
1524
1525         * platform/graphics/ca/GraphicsLayerCA.cpp:
1526         (WebCore::maxScaleFromTransform): Use 3d decomposition.
1527         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1528         (WebCore::PerspectiveTransformOperation::blend): Ditto.
1529         * platform/graphics/transforms/RotateTransformOperation.cpp:
1530         (WebCore::RotateTransformOperation::blend): Ditto.
1531
1532         * platform/graphics/transforms/TransformationMatrix.cpp:
1533         (WebCore::decompose2): New method to decompose an affine 3d matrix
1534         into X/Y scale + translate, a rotation angle, plus some extracted
1535         a,b,c,d fields from the affine section.
1536         (WebCore::decompose4): New name for the old function.
1537         (WebCore::TransformationMatrix::blend2): Perform linear interpolation
1538         between two 2d decompositions.
1539         (WebCore::TransformationMatrix::blend4): New name for the old function.
1540         (WebCore::TransformationMatrix::blend): Call blend2 or blend4 depending
1541         on the type of matrix.
1542         (WebCore::TransformationMatrix::decompose2): Calls into the decompose2
1543         method above.
1544         (WebCore::TransformationMatrix::decompose4): New name.
1545         (WebCore::TransformationMatrix::recompose2): Recomposes a 3d matrix from
1546         a 2d decomposition.
1547         (WebCore::TransformationMatrix::recompose4): New name.
1548         * platform/graphics/transforms/TransformationMatrix.h: All the changes
1549         for the new methods above.
1550
1551 2013-09-26  Darin Adler  <darin@apple.com>
1552
1553         rename KURL to URL
1554         https://bugs.webkit.org/show_bug.cgi?id=16214
1555
1556         Reviewed by Andreas Kling.
1557
1558         * many files: Renamed, using script.
1559
1560 2013-09-06  Jer Noble  <jer.noble@apple.com>
1561
1562         [Mac] Implement the media controls in JavaScript.
1563         https://bugs.webkit.org/show_bug.cgi?id=120895
1564
1565         Reviewed by Dean Jackson.
1566
1567         Re-implement the existing MediaControls constellation of classes in JavaScript
1568         and CSS. This will allow different ports to configure their controls without
1569         dependencies on the layout requirements of any other port's controls.
1570
1571         Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT:
1572         * Configurations/FeatureDefines.xcconfig:
1573
1574         Add new source files to the project:
1575         * DerivedSources.cpp:
1576         * DerivedSources.make:
1577         * WebCore.vcxproj/WebCore.vcxproj:
1578         * WebCore.vcxproj/WebCore.vcxproj.filters:
1579         * WebCore.xcodeproj/project.pbxproj:
1580
1581         Add a new class MediaControlsHost which the script controls can use to
1582         communicate with the HTMLMediaElement without exposing private interfaces
1583         to web facing scripts:
1584         * Modules/mediacontrols/MediaControlsHost.cpp: Added.
1585         (WebCore::MediaControlsHost::automaticKeyword): Static method.
1586         (WebCore::MediaControlsHost::forcedOnlyKeyword): Ditto.
1587         (WebCore::MediaControlsHost::alwaysOnKeyword): Ditto.
1588         (WebCore::MediaControlsHost::create): Simple factory.
1589         (WebCore::MediaControlsHost::MediaControlsHost): Simple constructor.
1590         (WebCore::MediaControlsHost::~MediaControlsHost): Simple destructor.
1591         (WebCore::MediaControlsHost::sortedTrackListForMenu): Pass through to CaptionUserPreferences.
1592         (WebCore::MediaControlsHost::displayNameForTrack): Ditto.
1593         (WebCore::MediaControlsHost::captionMenuOffItem): Pass through to TextTrack.
1594         (WebCore::MediaControlsHost::captionMenuAutomaticItem): Ditto.
1595         (WebCore::MediaControlsHost::captionDisplayMode): Pass through to CaptionUserPreferences.
1596         (WebCore::MediaControlsHost::setSelectedTextTrack): Pass through to HTMLMediaElement.
1597         (WebCore::MediaControlsHost::textTrackContainer): Lazily create a MediaControlTextTrackContainerElement.
1598         (WebCore::MediaControlsHost::updateTextTrackContainer): Pass through to MediaControlTextTrackContainerElement.
1599         * Modules/mediacontrols/MediaControlsHost.h: Added.
1600         * Modules/mediacontrols/MediaControlsHost.idl: Added.
1601         * Modules/mediacontrols/mediaControlsApple.css: Added.
1602
1603         Add convenience methods for adding a MediaControlsHost to a VM.
1604         * bindings/js/ScriptObject.cpp:
1605         (WebCore::ScriptGlobalObject::set):
1606         * bindings/js/ScriptObject.h:
1607
1608         Add the new controller .js implementation:
1609         * Modules/mediacontrols/mediaControlsApple.js: Added.
1610         (createControls): Global method to create a new Controller object.
1611         (Controller): Constructor. Create and configure the default set of controls.
1612         (Controller.prototype.addListeners): Adds event listeners to the this.video object.
1613         (Controller.prototype.removeListeners): Removes listeners from same.
1614         (Controller.prototype.handleEvent): Makes Controller an EventHandler, making registration and
1615                 deregistration simpler.
1616         (Controller.prototype.createBase): Creates the base controls object and the text track container.
1617         (Controller.prototype.createControls): Creates the controls panel object and controller UI.
1618         (Controller.prototype.setControlsType): Switches between Full Screen and Inline style of controller.
1619         (Controller.prototype.disconnectControls): Disconnects all UI elements from the DOM.
1620         (Controller.prototype.configureInlineControls): Configures existing controls for Inline mode.
1621         (Controller.prototype.configureFullScreenControls): Ditto, for Full Screen Mode.
1622
1623         Add listeners for HTMLMediaElement events:
1624         (Controller.prototype.onloadstart): Update the status display.
1625         (Controller.prototype.onerror): Ditto.
1626         (Controller.prototype.onabort): Ditto.
1627         (Controller.prototype.onsuspend): Ditto.
1628         (Controller.prototype.onprogress): Ditto.
1629         (Controller.prototype.onstalled): Ditto.
1630         (Controller.prototype.onwaiting): Ditto.
1631         (Controller.prototype.onreadystatechange): Ditto.
1632         (Controller.prototype.ontimeupdate): Update the timeline and time displays.
1633         (Controller.prototype.ondurationchange): Ditto.
1634         (Controller.prototype.onplaying): Update the play button.
1635         (Controller.prototype.onplay): Ditto.
1636         (Controller.prototype.onpause): Ditto.
1637         (Controller.prototype.onratechange): Ditto.
1638         (Controller.prototype.onvolumechange): Update the volume and mute UI.
1639         (Controller.prototype.ontexttrackchange): Update the text track container and captions button.
1640         (Controller.prototype.ontexttrackadd): Ditto.
1641         (Controller.prototype.ontexttrackremove): Ditto.
1642         (Controller.prototype.ontexttrackcuechange): Ditto.
1643         (Controller.prototype.onfullscreenchange): Reconfigure the controls.
1644
1645         Add listeners for UI element events:
1646         (Controller.prototype.onwrappermousemove): Show the controls and start the hide timer.
1647         (Controller.prototype.onwrappermouseout): Hide the controls and stop the hide timer.
1648         (Controller.prototype.onrewindbuttonclicked): Rewind.
1649         (Controller.prototype.onplaybuttonclicked): Toggle pause.
1650         (Controller.prototype.ontimelinechange): Update the currentTime.
1651         (Controller.prototype.ontimelinedown):
1652         (Controller.prototype.ontimelineup):
1653         (Controller.prototype.ontimelinemouseover): Show the thumbnail view if available.
1654         (Controller.prototype.ontimelinemouseout): Hide same.
1655         (Controller.prototype.ontimelinemousemove): Move the thumbnail view.
1656         (Controller.prototype.onmutebuttonclicked): Mute audio.
1657         (Controller.prototype.onminbuttonclicked): Increase volume to max.
1658         (Controller.prototype.onmaxbuttonclicked): Decrease volume to min.
1659         (Controller.prototype.onvolumesliderchange): Update the current volume.
1660         (Controller.prototype.oncaptionbuttonclicked): Show or hide the track menu.
1661         (Controller.prototype.onfullscreenbuttonclicked): Enter or exit fullscreen.
1662         (Controller.prototype.oncontrolschange): Show or hide the controls panel.
1663         (Controller.prototype.onseekbackmousedown): Start seeking and enable the seek timer.
1664         (Controller.prototype.onseekbackmouseup): Stop seeking and disable the seek timer.
1665         (Controller.prototype.onseekforwardmousedown): Start seekind and enable the seek timer.
1666         (Controller.prototype.onseekforwardmouseup): Stop seekind and disable the seek timer.
1667
1668         Add action methods (which are mostly self explanatory):
1669         (Controller.prototype.updateDuration):
1670         (Controller.prototype.updatePlaying):
1671         (Controller.prototype.showControls): 
1672         (Controller.prototype.hideControls):
1673         (Controller.prototype.removeControls):
1674         (Controller.prototype.addControls):
1675         (Controller.prototype.updateTime):
1676         (Controller.prototype.updateReadyState):
1677         (Controller.prototype.setStatusHidden):        
1678         (Controller.prototype.updateThumbnailTrack):
1679         (Controller.prototype.updateCaptionButton):
1680         (Controller.prototype.updateCaptionContainer):
1681         (Controller.prototype.buildCaptionMenu):
1682         (Controller.prototype.captionItemSelected):
1683         (Controller.prototype.destroyCaptionMenu):
1684         (Controller.prototype.updateVolume):
1685
1686         Add utility methods:
1687         (Controller.prototype.isFullScreen):
1688         (Controller.prototype.canPlay):
1689         (Controller.prototype.nextRate):
1690         (Controller.prototype.seekBackFaster):
1691         (Controller.prototype.seekForwardFaster):
1692         (Controller.prototype.formatTime):
1693         (Controller.prototype.trackHasThumbnails):
1694
1695         Add the stylesheet for the javascript controls (which are mostly) copied from
1696         the (deleted) mediaControlsQuickTime.css and fullscreenQuickTime.css files:
1697         * Modules/mediacontrols/mediaControlsApple.css: Added.
1698         * css/fullscreenQuickTime.css: Removed.
1699         * css/mediaControlsQuickTime.css: Removed.
1700
1701         Inject new stylesheets into UA sheets:
1702         * css/CSSDefaultStyleSheets.cpp:
1703         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
1704
1705         Use the new javascript controls rather than MediaControls:
1706         * html/HTMLMediaElement.cpp:
1707         (WebCore::HTMLMediaElement::childShouldCreateRenderer): Use the javascript controls if available.
1708         (WebCore::HTMLMediaElement::updateTextTrackDisplay): Ditto.
1709         (WebCore::HTMLMediaElement::mediaControls): Ditto.
1710         (WebCore::HTMLMediaElement::hasMediaControls): Ditto.
1711         (WebCore::HTMLMediaElement::createMediaControls): Ditto.
1712         (WebCore::HTMLMediaElement::configureMediaControls): Ditto.
1713         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
1714         (WebCore::HTMLMediaElement::ensureIsolatedWorld): Create a new VM for the controls script.
1715         (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): Inject the media controls script into the VM.
1716         (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Inject the MediaControlsHost into the VM and call
1717                 the scripts global factory function.
1718         * html/HTMLMediaElement.h:
1719
1720         Remove most of the drawing code from RenderThemeMac and RenderThemeWin and
1721         add accessors for the new .js and .css file data:
1722         * rendering/RenderTheme.h:
1723         (WebCore::RenderTheme::mediaControlsStyleSheet): Empty virtual method.
1724         (WebCore::RenderTheme::mediaControlsScript): Ditto.
1725         * rendering/RenderThemeMac.h:
1726         * rendering/RenderThemeMac.mm:
1727         (WebCore::RenderThemeMac::mediaControlsStyleSheet): Add accessor for mediaControlsApple.css.
1728         (WebCore::RenderThemeMac::mediaControlsScript): Add accessor for mediaControlsApple.js.
1729         (WebCore::RenderThemeMac::adjustSliderThumbSize): Remove the call to adjustMediaSliderThumbSize.
1730         * rendering/RenderThemeWin.cpp:
1731         (WebCore::RenderThemeWin::mediaControlsStyleSheet):
1732         (WebCore::RenderThemeWin::mediaControlsScript):
1733         * rendering/RenderThemeWin.h:
1734
1735 2013-09-27  Bem Jones-Bey  <bjonesbe@adobe.com>
1736
1737         [css-shapes] Shapes are not resolved the same way in shape-inside and clip-path
1738         https://bugs.webkit.org/show_bug.cgi?id=121922
1739
1740         Reviewed by Andreas Kling.
1741
1742         Fix computation of a percentage radius for circle shape-outside to
1743         match the CSS Shapes spec.
1744
1745         Test: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html
1746
1747         * rendering/shapes/Shape.cpp:
1748         (WebCore::Shape::createShape):
1749
1750 2013-09-27  Darin Adler  <darin@apple.com>
1751
1752         Add empty MainFrame class
1753         https://bugs.webkit.org/show_bug.cgi?id=121770
1754
1755         Reviewed by Andreas Kling.
1756
1757         For now, MainFrame simply derives from Frame and adds nothing.
1758         Next, we will make each Frame point back to its MainFrame.
1759
1760         * CMakeLists.txt: Added MainFrame.cpp/h.
1761         * GNUmakefile.list.am: Ditto.
1762         * Target.pri: Ditto.
1763         * WebCore.exp.in: Ditto.
1764         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1765         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1766         * WebCore.xcodeproj/project.pbxproj: Ditto.
1767
1768         * page/Frame.cpp:
1769         (WebCore::Frame::Frame): Use references instead of pointers for constructor.
1770         (WebCore::Frame::create): Pass references instead of pointers to constructor.
1771         * page/Frame.h: Made constructor protected instead of private, and marked
1772         destructor virtual explicitly. Also marked virtual functions OVERRIDE and FINAL.
1773
1774         * page/MainFrame.cpp: Added.
1775         * page/MainFrame.h: Added.
1776
1777         * page/Page.cpp:
1778         (WebCore::Page::Page): Use MainFrame::create instead of Frame::create.
1779         (WebCore::Page::frameIsMainFrame): Moved here, no longer inline.
1780         (WebCore::Page::renderTreeSize): Use const Frame* instead of Frame*.
1781         (WebCore::Page::checkSubframeCountConsistency): Ditto.
1782         * page/Page.h: Changed mainFrame() to return MainFrame& and m_mainFrame to
1783         be a RefPtr<MainFrame>.
1784
1785         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1786         * bindings/js/PageScriptDebugServer.cpp:
1787         * bindings/js/ScriptProfiler.cpp:
1788         * bindings/js/ScriptState.cpp:
1789         * css/MediaQueryEvaluator.cpp:
1790         * dom/Document.cpp:
1791         * history/CachedFrame.cpp:
1792         * history/CachedPage.cpp:
1793         * history/PageCache.cpp:
1794         * html/HTMLPlugInImageElement.cpp:
1795         * inspector/InspectorAgent.cpp:
1796         * inspector/InspectorCanvasAgent.cpp:
1797         * inspector/InspectorClient.cpp:
1798         * inspector/InspectorDOMAgent.cpp:
1799         * inspector/InspectorFrontendClientLocal.cpp:
1800         * inspector/InspectorFrontendHost.cpp:
1801         * inspector/InspectorInputAgent.cpp:
1802         * inspector/InspectorInstrumentation.cpp:
1803         * inspector/InspectorOverlay.cpp:
1804         * inspector/InspectorPageAgent.cpp:
1805         * inspector/PageRuntimeAgent.cpp:
1806         * loader/FrameLoader.cpp:
1807         * loader/HistoryController.cpp:
1808         * loader/archive/mhtml/MHTMLArchive.cpp:
1809         * page/AutoscrollController.cpp:
1810         * page/Chrome.cpp:
1811         * page/ContextMenuController.cpp:
1812         * page/DOMWindow.cpp:
1813         * page/DragController.cpp:
1814         * page/EventHandler.cpp:
1815         * page/FocusController.cpp:
1816         * page/FrameTree.cpp:
1817         * page/FrameView.cpp:
1818         * page/GestureTapHighlighter.cpp:
1819         * page/PageGroup.cpp:
1820         * page/PageGroupLoadDeferrer.cpp:
1821         * page/PageSerializer.cpp:
1822         * page/PageThrottler.cpp:
1823         * page/Settings.cpp:
1824         * page/SpatialNavigation.cpp:
1825         * page/mac/DragControllerMac.mm:
1826         * page/mac/PageMac.cpp:
1827         * page/scrolling/ScrollingCoordinator.cpp:
1828         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1829         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1830         * plugins/DOMMimeType.cpp:
1831         * storage/StorageEventDispatcher.cpp:
1832         * svg/graphics/SVGImage.cpp:
1833         * testing/InternalSettings.cpp:
1834         * testing/Internals.cpp:
1835         Include MainFrame.h instead of Frame.h as needed.
1836
1837 2013-09-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1838
1839         Add toWebKitCSS*Value functions to cast from CSSValue
1840         https://bugs.webkit.org/show_bug.cgi?id=121776
1841
1842         Reviewed by Andreas Kling.
1843
1844         CSS_VALUE_TYPE_CASTS can't cover WebKitCSS*Value classes. So, this patch adds toWebKitCSS*Value manually.
1845
1846         No new tests, no behavior change.
1847
1848         * css/CSSValue.cpp:
1849         (WebCore::CSSValue::destroy):
1850         * css/StyleResolver.cpp:
1851         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
1852         (WebCore::StyleResolver::createFilterOperations):
1853         * css/TransformFunctions.cpp:
1854         (WebCore::transformsForValue):
1855         * css/WebKitCSSArrayFunctionValue.h:
1856         (WebCore::toWebKitCSSArrayFunctionValue):
1857         * css/WebKitCSSFilterValue.h:
1858         (WebCore::toWebKitCSSFilterValue):
1859         * css/WebKitCSSMatFunctionValue.h:
1860         (WebCore::toWebKitCSSMatFunctionValue):
1861         * css/WebKitCSSMixFunctionValue.h:
1862         (WebCore::toWebKitCSSMixFunctionValue):
1863         * css/WebKitCSSSVGDocumentValue.h:
1864         (WebCore::toWebKitCSSSVGDocumentValue):
1865         * css/WebKitCSSShaderValue.h:
1866         (WebCore::toWebKitCSSShaderValue):
1867         * css/WebKitCSSTransformValue.h:
1868         (WebCore::toWebKitCSSTransformValue):
1869
1870 2013-09-27  Zalan Bujtas  <zalan@apple.com>
1871
1872         Unexpected word wrapping for wrapped content then raw content.
1873         https://bugs.webkit.org/show_bug.cgi?id=121130
1874
1875         Reviewed by Darin Adler.
1876
1877         When deciding whether a line is considered empty, we need to check if the current
1878         object is fully responsible for the currently uncommitted width. It helps differentiating
1879         <span></span><span>abcd</span> from <span>a</span><span>bcd</span>, where in the first
1880         case when we hit the second <span> the line is still considered empty, as opposed to the
1881         second example.
1882         This patch introduces a map to keep track of the uncommitted widths.
1883
1884         Test: fast/css/unexpected-word-wrapping-with-non-empty-spans.html
1885
1886         * rendering/LineWidth.cpp:
1887         (WebCore::LineWidth::uncommittedWidthForObject):
1888         (WebCore::LineWidth::addUncommittedWidth):
1889         * rendering/LineWidth.h:
1890         * rendering/RenderBlockLineLayout.cpp:
1891         (WebCore::LineBreaker::nextSegmentBreak):
1892
1893 2013-09-27  Mario Sanchez Prada  <mario.prada@samsung.com>
1894
1895         [ATK] Protect entry points in the ATK wrapper against outdated render trees
1896         https://bugs.webkit.org/show_bug.cgi?id=121558
1897
1898         Reviewed by Chris Fleizach.
1899
1900         Make sure that we protect every entry point in the ATK wrapper
1901         against outdated render trees, before using the WebCore's
1902         accessibility API, since that might lead to problems (and crashes)
1903         if the render and accessibility trees are not stable.
1904
1905         Thus, call AccessibilityObject::updateBackingStore() in those
1906         entry points and check whether the ATK wrapper is detached or not
1907         after that, to decide whether to continue or not.
1908
1909         Besides providing a new test to check that it WebKit does not
1910         crash in a given scenario (which actually triggered the
1911         investigation here), solving this situation also fixes other tests
1912         that were previously failing (aria-used-on-image-maps.html) or
1913         that were printing wrong results, not detected until now due to
1914         wrong platform specific expectations (file-upload-button-stringvalue
1915         and deleting-iframe-destroys-axcache).
1916
1917         Test: accessibility/heading-crash-after-hidden.html
1918
1919         * accessibility/atk/WebKitAccessibleUtil.h: Added two new macros
1920         to inject the needed code at the beginning of each entry point to
1921         allow gracefully exit those functions when the render tree is
1922         unstable. Inspired by g_return_if_fail and g_return_val_if_fail, we
1923         called them returnIfWebKitAccessibleIsInvalid and returnValIfWebKitAccessibleIsInvalid.
1924
1925         * accessibility/atk/WebKitAccessibleHyperlink.cpp:
1926         (webkitAccessibleHyperlinkActionDoAction): Protect entry point.
1927         (webkitAccessibleHyperlinkActionGetNActions): Ditto.
1928         (webkitAccessibleHyperlinkActionGetDescription): Ditto.
1929         (webkitAccessibleHyperlinkActionGetKeybinding): Ditto.
1930         (webkitAccessibleHyperlinkActionGetName): Ditto.
1931         (webkitAccessibleHyperlinkGetURI): Ditto.
1932         (webkitAccessibleHyperlinkGetObject): Ditto.
1933         (webkitAccessibleHyperlinkGetStartIndex): Ditto.
1934         (webkitAccessibleHyperlinkGetEndIndex): Ditto.
1935         (webkitAccessibleHyperlinkIsValid): Ditto.
1936         (webkitAccessibleHyperlinkGetNAnchors): Ditto.
1937         (webkitAccessibleHyperlinkIsSelectedLink): Ditto.
1938         * accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
1939         (webkitAccessibleActionDoAction): Ditto.
1940         (webkitAccessibleActionGetNActions): Ditto.
1941         (webkitAccessibleActionGetDescription): Ditto.
1942         (webkitAccessibleActionGetKeybinding): Ditto.
1943         (webkitAccessibleActionGetName): Ditto.
1944         * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
1945         (webkitAccessibleComponentRefAccessibleAtPoint): Ditto.
1946         (webkitAccessibleComponentGetExtents): Ditto.
1947         (webkitAccessibleComponentGrabFocus): Ditto.
1948         * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
1949         (webkitAccessibleDocumentGetAttributeValue): Ditto.
1950         (webkitAccessibleDocumentGetAttributes): Ditto.
1951         (webkitAccessibleDocumentGetLocale): Ditto.
1952         * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
1953         (webkitAccessibleEditableTextSetRunAttributes): Ditto.
1954         (webkitAccessibleEditableTextSetTextContents): Ditto.
1955         (webkitAccessibleEditableTextInsertText): Ditto.
1956         (webkitAccessibleEditableTextCopyText): Ditto.
1957         (webkitAccessibleEditableTextCutText): Ditto.
1958         (webkitAccessibleEditableTextDeleteText): Ditto.
1959         (webkitAccessibleEditableTextPasteText): Ditto.
1960         * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
1961         (webkitAccessibleHypertextGetLink): Ditto.
1962         (webkitAccessibleHypertextGetNLinks): Ditto.
1963         (webkitAccessibleHypertextGetLinkIndex): Ditto.
1964         * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
1965         (webkitAccessibleImageGetImagePosition): Ditto.
1966         (webkitAccessibleImageGetImageDescription): Ditto.
1967         (webkitAccessibleImageGetImageSize): Ditto.
1968         * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
1969         (webkitAccessibleSelectionAddSelection): Ditto.
1970         (webkitAccessibleSelectionClearSelection): Ditto.
1971         (webkitAccessibleSelectionRefSelection): Ditto.
1972         (webkitAccessibleSelectionGetSelectionCount): Ditto.
1973         (webkitAccessibleSelectionIsChildSelected): Ditto.
1974         (webkitAccessibleSelectionRemoveSelection): Ditto.
1975         (webkitAccessibleSelectionSelectAllSelection): Ditto.
1976         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
1977         (webkitAccessibleTableRefAt): Ditto.
1978         (webkitAccessibleTableGetIndexAt): Ditto.
1979         (webkitAccessibleTableGetColumnAtIndex): Ditto.
1980         (webkitAccessibleTableGetRowAtIndex): Ditto.
1981         (webkitAccessibleTableGetNColumns): Ditto.
1982         (webkitAccessibleTableGetNRows): Ditto.
1983         (webkitAccessibleTableGetColumnExtentAt): Ditto.
1984         (webkitAccessibleTableGetRowExtentAt): Ditto.
1985         (webkitAccessibleTableGetColumnHeader): Ditto.
1986         (webkitAccessibleTableGetRowHeader): Ditto.
1987         (webkitAccessibleTableGetCaption): Ditto.
1988         (webkitAccessibleTableGetColumnDescription): Ditto.
1989         (webkitAccessibleTableGetRowDescription): Ditto.
1990         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1991         (webkitAccessibleTextGetText): Ditto.
1992         (webkitAccessibleTextGetTextAfterOffset): Ditto.
1993         (webkitAccessibleTextGetTextAtOffset): Ditto.
1994         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
1995         (webkitAccessibleTextGetCharacterAtOffset): Ditto.
1996         (webkitAccessibleTextGetCaretOffset): Ditto.
1997         (webkitAccessibleTextGetRunAttributes): Ditto.
1998         (webkitAccessibleTextGetDefaultAttributes): Ditto.
1999         (webkitAccessibleTextGetCharacterExtents): Ditto.
2000         (webkitAccessibleTextGetRangeExtents): Ditto.
2001         (webkitAccessibleTextGetCharacterCount): Ditto.
2002         (webkitAccessibleTextGetOffsetAtPoint): Ditto.
2003         (webkitAccessibleTextGetNSelections): Ditto.
2004         (webkitAccessibleTextGetSelection): Ditto.
2005         (webkitAccessibleTextAddSelection): Ditto.
2006         (webkitAccessibleTextSetSelection): Ditto.
2007         (webkitAccessibleTextRemoveSelection): Ditto.
2008         (webkitAccessibleTextSetCaretOffset): Ditto.
2009         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
2010         (webkitAccessibleValueGetCurrentValue): Ditto.
2011         (webkitAccessibleValueGetMaximumValue): Ditto.
2012         (webkitAccessibleValueGetMinimumValue): Ditto.
2013         (webkitAccessibleValueSetCurrentValue): Ditto.
2014         (webkitAccessibleValueGetMinimumIncrement): Ditto.
2015         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2016         (core): Removed, as it's not actually needed.
2017         (webkitAccessibleGetName):  Protect entry point.
2018         (webkitAccessibleGetDescription): Ditto.
2019         (webkitAccessibleGetParent): Ditto.
2020         (webkitAccessibleGetNChildren): Ditto.
2021         (webkitAccessibleRefChild): Ditto.
2022         (webkitAccessibleGetIndexInParent): Ditto.
2023         (webkitAccessibleGetAttributes): Ditto.
2024         (webkitAccessibleGetRole): Ditto.
2025         (webkitAccessibleRefStateSet): Ditto.
2026         (webkitAccessibleRefRelationSet): Ditto.
2027         (webkitAccessibleGetObjectLocale): Ditto.
2028         (webkitAccessibleDetach): Ditto.
2029         (webkitAccessibleIsDetached): New helper function, to be used from
2030         the newly added macros. We need to check whether the wrapper is
2031         detached and not just the wrapper AccessibilityObject since once
2032         the detachment happens we can't trust anything but the AtkObject
2033         from the wrapper (the AccessibilityObject might be invalid).
2034         * accessibility/atk/WebKitAccessibleWrapperAtk.h:
2035
2036         Assert that the render tree is neither being updated nor in need
2037         of being updated before trying to compute the text under a given
2038         element, since that might lead to crashes due to the constructor
2039         of TextIterator calling updateLayoutIgnorePendingStylesheets().
2040
2041         * accessibility/AccessibilityNodeObject.cpp:
2042         (WebCore::AccessibilityNodeObject::textUnderElement): Assert that
2043         the render tree is neither being updated nor needing updating.
2044
2045 2013-09-27  Mario Sanchez Prada  <mario.prada@samsung.com>
2046
2047         [ATK] accessibility/aria-sort.html is failing after r156409
2048         https://bugs.webkit.org/show_bug.cgi?id=121947
2049
2050         Reviewed by Chris Fleizach.
2051
2052         The WAI-ARIA spec says to translate the value as is from the
2053         attribute, so do just that instead of mapping values from the
2054         AccessibilitySortDirection enumeration into strings.
2055         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
2056
2057         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2058         (webkitAccessibleGetAttributes): Do the right mapping for aria-sort.
2059
2060 2013-09-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2061
2062         Sync toWebKitCSSShaderValue() behavior with other toCSSFooValue()
2063         https://bugs.webkit.org/show_bug.cgi?id=121886
2064
2065         Reviewed by Darin Adler.
2066
2067         toWebKitCSSShaderValue() behavior is different from other to CSSFooValue().
2068         It shouldn't return null. The type checking should be done before doing type cast.
2069
2070         * css/StyleResolver.cpp:
2071         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2072         * css/WebKitCSSShaderValue.h:
2073         (WebCore::toWebKitCSSShaderValue):
2074
2075 2013-09-26  Antti Koivisto  <antti@apple.com>
2076
2077         Move m_style to RenderElement
2078         https://bugs.webkit.org/show_bug.cgi?id=121936
2079
2080         Reviewed by Andreas Kling.
2081
2082         Text renderers always have the same style as their parent. They can get their style via the parent pointer
2083         rather than having a member of their own.
2084         
2085         This shrinks RenderText by a pointer.
2086
2087         * dom/PseudoElement.cpp:
2088         (WebCore::PseudoElement::didRecalcStyle):
2089         
2090             Text renderers have no independent style. No need to set it.
2091
2092         * editing/ApplyBlockElementCommand.cpp:
2093         * rendering/RenderBlock.cpp:
2094         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
2095         
2096             Avoid getting style from text child before it is added to tree.
2097
2098         (WebCore::RenderBlock::updateFirstLetterStyle):
2099         (WebCore::RenderBlock::createFirstLetterRenderer):
2100         * rendering/RenderButton.cpp:
2101         (WebCore::RenderButton::styleDidChange):
2102         (WebCore::RenderButton::setText):
2103         * rendering/RenderCombineText.cpp:
2104         (WebCore::RenderCombineText::styleDidChange):
2105                 
2106             Don't set text style anymore.
2107
2108         * rendering/RenderElement.cpp:
2109         (WebCore::RenderElement::RenderElement):
2110         (WebCore::RenderElement::setStyle):
2111         
2112             Notify child text renderers of style change.
2113
2114         (WebCore::RenderElement::setAnimatableStyle):
2115         (WebCore::RenderElement::setPseudoStyle):
2116         
2117             Push down to RenderElement, remove text branches.
2118
2119         (WebCore::RenderElement::addChild):
2120         
2121             Notify text renderers of style change when added to tree.
2122
2123         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
2124         * rendering/RenderElement.h:
2125         (WebCore::RenderElement::style):
2126         (WebCore::RenderElement::setStyleInternal):
2127         
2128             Move m_style from RenderObject.
2129
2130         (WebCore::RenderObject::style):
2131         
2132             Inline this in RenderElement.h instead of making it virtual.
2133
2134         * rendering/RenderInline.cpp:
2135         (WebCore::updateStyleOfAnonymousBlockContinuations):
2136         (WebCore::RenderInline::styleDidChange):
2137         
2138             Tighten typing to call RenderElement::setStyle.
2139
2140         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2141         
2142             Change assert. This can get legitimately called during layout for the first letter renderers.
2143             This was previously avoided by luck.
2144
2145         * rendering/RenderMenuList.cpp:
2146         (WebCore::RenderMenuList::styleDidChange):
2147         (WebCore::RenderMenuList::setText):
2148         
2149             Don't set text style anymore.
2150
2151         * rendering/RenderObject.cpp:
2152         (WebCore::RenderObject::RenderObject):
2153         (WebCore::RenderObject::containingBlock):
2154         (WebCore::RenderObject::drawLineForBoxSide):
2155         (WebCore::RenderObject::hasEntirelyFixedBackground):
2156         (WebCore::RenderObject::container):
2157         (WebCore::RenderObject::cachedFirstLineStyle):
2158
2159             Switch to style(), avoid unnecessary repetition.
2160             Move code out.
2161
2162         * rendering/RenderObject.h:
2163         
2164             Move functions to RenderElement.
2165
2166         (WebCore::RenderObject::isBeforeContent):
2167         (WebCore::RenderObject::isAfterContent):
2168         
2169             Avoid accessing style for text renderers as these are called before the renderer
2170             is added to tree.
2171
2172         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
2173         * rendering/RenderRegion.cpp:
2174         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
2175         (WebCore::RenderRegion::setObjectStyleInRegion):
2176         * rendering/RenderSearchField.cpp:
2177         (WebCore::RenderSearchField::updateCancelButtonVisibility):
2178         * rendering/RenderText.cpp:
2179         * rendering/RenderText.h:
2180         
2181             Remove setStyle.
2182
2183         (WebCore::RenderText::style):
2184         
2185             Get style from parent.
2186
2187         * rendering/mathml/RenderMathMLOperator.cpp:
2188         (WebCore::RenderMathMLOperator::updateFromElement):
2189         (WebCore::RenderMathMLOperator::createGlyph):
2190         * rendering/style/ContentData.cpp:
2191         (WebCore::TextContentData::createRenderer):
2192         (WebCore::CounterContentData::createRenderer):
2193         (WebCore::QuoteContentData::createRenderer):
2194         
2195             Pseudo style for RenderText subclasses comes from parent without any explicit setting.
2196
2197         * style/StyleResolveTree.cpp:
2198         (WebCore::Style::createTextRendererIfNeeded):
2199         (WebCore::Style::resolveLocal):
2200         (WebCore::Style::updateTextStyle):
2201         (WebCore::Style::resolveShadowTree):
2202         (WebCore::Style::resolveTree):
2203         
2204             No need to set or update text renderer style separately.
2205
2206 2013-09-26  Eric Carlson  <eric.carlson@apple.com>
2207
2208         [MediaStream] make MediaStream testable
2209         https://bugs.webkit.org/show_bug.cgi?id=121967
2210
2211         Reviewed by Dean Jackson.
2212
2213         No new tests, existing tests updated.
2214
2215         * CMakeLists.txt: Add MockMediaStreamCenter.
2216         * GNUmakefile.list.am: Ditto.
2217
2218         * Modules/mediastream/MediaStreamTrack.idl: Add SkipVTableValidation.
2219         * Modules/mediastream/NavigatorUserMediaError.idl: Add JSGenerateToJSObject.
2220         * WebCore.exp.in: Export MockMediaStreamCenter::registerMockMediaStreamCenter.
2221
2222         * WebCore.xcodeproj/project.pbxproj: Add MockMediaStreamCenter.
2223         * dom/DOMError.h: Make the destructor virtual because it has a derived class.
2224         * dom/DOMError.idl:
2225
2226         * platform/mock/MockMediaStreamCenter.cpp: Added.
2227         * platform/mock/MockMediaStreamCenter.h: Added.
2228
2229         * testing/Internals.cpp: Register the mock stream center.
2230
2231 2013-09-26  Benjamin Poulain  <benjamin@webkit.org>
2232
2233         Move CSS MatchRequest from StyleResolver to a private definition in ElementRuleCollector
2234         https://bugs.webkit.org/show_bug.cgi?id=121986
2235
2236         Reviewed by Andreas Kling.
2237
2238         MatchRequest is an internal type of ElementRuleCollector now, move the definition
2239         to ElementRuleCollector.
2240
2241         * css/DocumentRuleSets.h:
2242         * css/ElementRuleCollector.h:
2243         (WebCore::ElementRuleCollector::MatchRequest::MatchRequest):
2244         * css/StyleResolver.h:
2245
2246 2013-09-26  Brent Fulgham  <bfulgham@apple.com>
2247
2248         [Windows] Unreviewed build fix after r156487.
2249
2250         Add explicit casting needed by MSVC to compile this code. Much
2251         of this could probably be removed when we move to VS2012 or newer.
2252
2253         * bindings/js/JSEventListener.cpp:
2254         (WebCore::JSEventListener::JSEventListener):
2255         * bindings/js/JSEventListener.h:
2256         (WebCore::JSEventListener::jsFunction):
2257         * bridge/jsc/BridgeJSC.cpp:
2258         (JSC::Bindings::Instance::createRuntimeObject):
2259
2260 2013-09-26  Commit Queue  <commit-queue@webkit.org>
2261
2262         Unreviewed, rolling out r156510.
2263         http://trac.webkit.org/changeset/156510
2264         https://bugs.webkit.org/show_bug.cgi?id=121989
2265
2266         Landed in-progress code along with build fix. (Requested by
2267         bfulgham on #webkit).
2268
2269         * bindings/js/JSEventListener.cpp:
2270         (WebCore::JSEventListener::JSEventListener):
2271         * bindings/js/JSEventListener.h:
2272         (WebCore::JSEventListener::jsFunction):
2273         * bridge/jsc/BridgeJSC.cpp:
2274         (JSC::Bindings::Instance::createRuntimeObject):
2275         * platform/graphics/filters/FEGaussianBlur.cpp:
2276         (WebCore::FEGaussianBlur::platformApplyGeneric):
2277         (WebCore::FEGaussianBlur::platformApply):
2278         * platform/graphics/win/DIBPixelData.cpp:
2279         (WebCore::DIBPixelData::writeToFile):
2280         * platform/graphics/win/DIBPixelData.h:
2281
2282 2013-09-26  Brent Fulgham  <bfulgham@apple.com>
2283
2284         [Windows] Unreviewed build fix after r156487.
2285
2286         Add explicit casting needed by MSVC to compile this code. Much
2287         of this could probably be removed when we move to VS2012 or newer.
2288
2289         * bindings/js/JSEventListener.cpp:
2290         (WebCore::JSEventListener::JSEventListener):
2291         * bindings/js/JSEventListener.h:
2292         (WebCore::JSEventListener::jsFunction):
2293         * bridge/jsc/BridgeJSC.cpp:
2294         (JSC::Bindings::Instance::createRuntimeObject):
2295         * platform/graphics/filters/FEGaussianBlur.cpp:
2296         (WebCore::FEGaussianBlur::platformApplyGeneric):
2297         (WebCore::FEGaussianBlur::platformApply):
2298         * platform/graphics/win/DIBPixelData.cpp:
2299         (WebCore::DIBPixelData::DIBPixelData):
2300         (WebCore::DIBPixelData::writeToFile):
2301         * platform/graphics/win/DIBPixelData.h:
2302
2303 2013-09-26  Dean Jackson  <dino@apple.com>
2304
2305         Expose a setting to disable hardware accelerated animations
2306         https://bugs.webkit.org/show_bug.cgi?id=121978
2307         <rdar://problem/15091284>
2308
2309         Reviewed by Eric Carlson.
2310
2311         Expose acceleratedCompositedAnimationsEnabled
2312         to disable CoreAnimation animations.
2313
2314         Test: LayoutTests/animations/transform-non-accelerated.html
2315
2316         * WebCore.exp.in: Export new method.
2317         * page/Settings.in: Add new setting.
2318         * rendering/RenderLayerBacking.cpp:
2319         (WebCore::RenderLayerBacking::startAnimation): Don't go
2320         to GraphicsLayer if the setting is false.
2321
2322 2013-09-26  Julien Brianceau  <jbriance@cisco.com>
2323
2324         [Qt] Fix build after r156487.
2325         https://bugs.webkit.org/show_bug.cgi?id=121984
2326
2327         Reviewed by Anders Carlsson.
2328
2329         * bridge/qt/qt_runtime.cpp:
2330         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2331
2332 2013-09-26  Antti Koivisto  <antti@apple.com>
2333
2334         Don't mutate style in RenderCombineText
2335         https://bugs.webkit.org/show_bug.cgi?id=121979
2336
2337         Reviewed by Andreas Kling.
2338
2339         Text renderers should always have the same style as the parent.
2340
2341         * rendering/InlineTextBox.cpp:
2342         (WebCore::fontToUse):
2343         (WebCore::InlineTextBox::localSelectionRect):
2344         (WebCore::InlineTextBox::paint):
2345         (WebCore::InlineTextBox::offsetForPosition):
2346         (WebCore::InlineTextBox::positionForOffset):
2347         
2348             Select the modified font for text-combine.
2349
2350         * rendering/RenderCombineText.cpp:
2351         (WebCore::RenderCombineText::styleDidChange):
2352         (WebCore::RenderCombineText::combineText):
2353         * rendering/RenderCombineText.h:
2354         
2355             Move the text-combine specific font style to a member of its own.
2356
2357 2013-09-26  Anders Carlsson  <andersca@apple.com>
2358
2359         Remove PassWeak.h
2360         https://bugs.webkit.org/show_bug.cgi?id=121971
2361
2362         Reviewed by Geoffrey Garen.
2363
2364         * ForwardingHeaders/heap/PassWeak.h: Removed.
2365
2366 2013-09-26  Eric Carlson  <eric.carlson@apple.com>
2367
2368         [MediaStream API] implement VideoStreamTrack and AudioStreamTrack
2369         https://bugs.webkit.org/show_bug.cgi?id=121950
2370
2371         Reviewed by Dean Jackson.
2372
2373         No new tests, blocked by https://bugs.webkit.org/show_bug.cgi?id=121967
2374
2375         * CMakeLists.txt: Add new files.
2376         * DerivedSources.make: Ditto.
2377         * GNUmakefile.list.am: Ditto.
2378
2379         * Modules/mediastream/AudioStreamTrack.cpp: Added.
2380         * Modules/mediastream/AudioStreamTrack.h: Added.
2381         * Modules/mediastream/AudioStreamTrack.idl: Added.
2382
2383         * Modules/mediastream/MediaStream.cpp:
2384         (WebCore::MediaStream::MediaStream): Create an AudioStreamTrack or a VideoStreamTrack.
2385         (WebCore::MediaStream::addRemoteSource): Ditto.
2386
2387         * Modules/mediastream/MediaStreamTrack.cpp:
2388         (WebCore::MediaStreamTrack::create): Removed.
2389         * Modules/mediastream/MediaStreamTrack.h:
2390
2391         * Modules/mediastream/VideoStreamTrack.cpp: Added.
2392         * Modules/mediastream/VideoStreamTrack.h: Added.
2393         * Modules/mediastream/VideoStreamTrack.idl: Added.
2394
2395         * WebCore.xcodeproj/project.pbxproj: Add new files.
2396
2397 2013-09-26  Anders Carlsson  <andersca@apple.com>
2398
2399         Stop using PassWeak
2400         https://bugs.webkit.org/show_bug.cgi?id=121968
2401
2402         Reviewed by Sam Weinig.
2403
2404         Update for JavaScriptCore changes.
2405
2406         * bindings/js/JSDOMBinding.h:
2407         (WebCore::setInlineCachedWrapper):
2408         (WebCore::cacheWrapper):
2409         * bindings/js/JSEventListener.cpp:
2410         (WebCore::JSEventListener::JSEventListener):
2411         * bindings/js/JSEventListener.h:
2412         (WebCore::JSEventListener::setWrapper):
2413         (WebCore::JSEventListener::jsFunction):
2414         * bindings/js/JSMutationCallback.cpp:
2415         (WebCore::JSMutationCallback::JSMutationCallback):
2416         * bindings/js/JSNodeFilterCondition.cpp:
2417         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
2418         * bindings/js/ScriptWrappableInlines.h:
2419         (WebCore::ScriptWrappable::setWrapper):
2420         * bindings/js/WebCoreTypedArrayController.cpp:
2421         * bridge/jsc/BridgeJSC.cpp:
2422         (JSC::Bindings::Instance::createRuntimeObject):
2423         * bridge/runtime_root.cpp:
2424         (JSC::Bindings::RootObject::addRuntimeObject):
2425
2426 2013-09-25  Sam Weinig  <sam@webkit.org>
2427
2428         Pass a JSC::VM& to JS bindings object creation functions, rather than a JSC::ExecState*
2429         https://bugs.webkit.org/show_bug.cgi?id=121934
2430
2431         Reviewed by Geoffrey Garen.
2432
2433         Reduce unnecessary loads by passing the JSC::VM to object creation/access functions
2434         that don't need the ExecState.
2435
2436         * WebCore.exp.in:
2437         * bindings/js/JSDOMBinding.h:
2438         (WebCore::getDOMStructure):
2439         (WebCore::deprecatedGetDOMStructure):
2440         (WebCore::getDOMPrototype):
2441         (WebCore::setInlineCachedWrapper):
2442         (WebCore::createWrapper):
2443         * bindings/js/JSDOMGlobalObject.h:
2444         (WebCore::getDOMConstructor):
2445         * bindings/js/JSDOMWindowCustom.cpp:
2446         (WebCore::JSDOMWindow::image):
2447         * bindings/js/JSDocumentCustom.cpp:
2448         (WebCore::JSDocument::location):
2449         * bindings/js/JSImageConstructor.cpp:
2450         (WebCore::JSImageConstructor::finishCreation):
2451         * bindings/js/JSImageConstructor.h:
2452         (WebCore::JSImageConstructor::create):
2453         * bindings/js/ScriptWrappable.h:
2454         * bindings/js/ScriptWrappableInlines.h:
2455         (WebCore::ScriptWrappable::setWrapper):
2456         * bindings/scripts/CodeGeneratorJS.pm:
2457         (GenerateHeader):
2458         (GenerateImplementation):
2459         (GenerateConstructorDeclaration):
2460         (GenerateConstructorHelperMethods):
2461         * bridge/c/CRuntimeObject.cpp:
2462         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
2463         (JSC::Bindings::CRuntimeObject::finishCreation):
2464         * bridge/c/CRuntimeObject.h:
2465         (JSC::Bindings::CRuntimeObject::create):
2466         * bridge/c/c_instance.cpp:
2467         (JSC::Bindings::CInstance::newRuntimeObject):
2468         * bridge/jsc/BridgeJSC.cpp:
2469         (JSC::Bindings::Instance::newRuntimeObject):
2470         * bridge/objc/ObjCRuntimeObject.h:
2471         (JSC::Bindings::ObjCRuntimeObject::create):
2472         * bridge/objc/ObjCRuntimeObject.mm:
2473         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
2474         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
2475         * bridge/objc/objc_instance.mm:
2476         (ObjcInstance::newRuntimeObject):
2477         * bridge/objc/objc_runtime.h:
2478         (JSC::Bindings::ObjcFallbackObjectImp::createPrototype):
2479         * bridge/runtime_array.h:
2480         (JSC::RuntimeArray::createPrototype):
2481         * bridge/runtime_method.h:
2482         (JSC::RuntimeMethod::createPrototype):
2483         * bridge/runtime_object.cpp:
2484         (JSC::Bindings::RuntimeObject::RuntimeObject):
2485         (JSC::Bindings::RuntimeObject::finishCreation):
2486         * bridge/runtime_object.h:
2487         (JSC::Bindings::RuntimeObject::create):
2488         (JSC::Bindings::RuntimeObject::createPrototype):
2489
2490 2013-09-26  Commit Queue  <commit-queue@webkit.org>
2491
2492         Unreviewed, rolling out r156451.
2493         http://trac.webkit.org/changeset/156451
2494         https://bugs.webkit.org/show_bug.cgi?id=121965
2495
2496         Broke two fast/multicol tests. (Requested by kling on
2497         #webkit).
2498
2499         * rendering/FlowThreadController.cpp:
2500         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
2501         * rendering/RenderElement.cpp:
2502         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
2503         * rendering/RenderFlowThread.cpp:
2504         (WebCore::RenderFlowThread::layout):
2505         (WebCore::RenderFlowThread::regionForCompositedLayer):
2506         (WebCore::RenderFlowThread::updateRegionForRenderLayer):
2507         (WebCore::RenderFlowThread::updateLayerToRegionMappings):
2508         * rendering/RenderFlowThread.h:
2509         * rendering/RenderGeometryMap.cpp:
2510         * rendering/RenderGeometryMap.h:
2511         * rendering/RenderLayer.cpp:
2512         (WebCore::RenderLayer::calculateLayerBounds):
2513         * rendering/RenderLayer.h:
2514         * rendering/RenderLayerBacking.cpp:
2515         (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
2516         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2517         * rendering/RenderLayerBacking.h:
2518         * rendering/RenderLayerCompositor.cpp:
2519         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2520         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2521         (WebCore::RenderLayerCompositor::canBeComposited):
2522         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
2523         * rendering/RenderLayerCompositor.h:
2524         * rendering/RenderMultiColumnSet.cpp:
2525         * rendering/RenderMultiColumnSet.h:
2526         * rendering/RenderRegion.cpp:
2527         (WebCore::RenderRegion::setRequiresLayerForCompositing):
2528         * rendering/RenderRegion.h:
2529         * rendering/RenderRegionSet.h:
2530         * rendering/RenderTreeAsText.cpp:
2531         (WebCore::writeLayers):
2532
2533 2013-09-26  Eric Carlson  <eric.carlson@apple.com>
2534
2535         [MediaStream] Cleanup platform interface
2536         https://bugs.webkit.org/show_bug.cgi?id=121935
2537
2538         Reviewed by Jer Noble.
2539
2540         No new tests, tests will be updated in the next patch.
2541
2542         * CMakeLists.txt: Remove MediaStreamComponent.cpp.
2543         * GNUmakefile.list.am: Remove MediaStreamComponent.h|cpp and MediaStreamSourcesQueryClient.h. 
2544             Add MediaStreamConstraintsValidationClient.h and MediaStreamCreationClient.h.
2545
2546         * Modules/mediastream/MediaStream.cpp:
2547         (WebCore::processTrack): Duplicate MediaStreamSource when necessary to work around bug 121954.
2548         (WebCore::createFromSourceVectors): MediaStreamCenter::instance -> MediaStream::sharedStreamCenter.
2549         (WebCore::MediaStream::MediaStream): *Components -> *Streams.
2550         (WebCore::MediaStream::setEnded): New.
2551         (WebCore::MediaStream::stop):  MediaStreamCenter::instance -> MediaStream::sharedStreamCenter.
2552         (WebCore::MediaStream::addTrack): Append the track parameter rather than duplicating it, as per spec.
2553         (WebCore::MediaStream::removeTrack): *Components -> *Streams.
2554         (WebCore::MediaStream::trackDidEnd): Renamed from trackEnded.
2555         (WebCore::MediaStream::streamDidEnd): Renamed from streamEnded.
2556         (WebCore::MediaStream::addRemoteSource): Renamed from addRemoteTrack. *Components -> *Streams.
2557         (WebCore::MediaStream::removeRemoteSource): Renamed from removeRemoteTrack. *Components -> *Streams.
2558         * Modules/mediastream/MediaStream.h:
2559
2560         * Modules/mediastream/MediaStreamTrack.cpp:
2561         (WebCore::MediaStreamTrack::create): *Component -> *Stream.
2562         (WebCore::MediaStreamTrack::MediaStreamTrack): Don't assume source is valid.
2563         (WebCore::MediaStreamTrack::~MediaStreamTrack): Ditto.
2564         (WebCore::MediaStreamTrack::kind): Ditto. AtomicString -> const AtomicString&.
2565         (WebCore::MediaStreamTrack::setSource): Moved from .h file.
2566         (WebCore::MediaStreamTrack::id): Don't assume source is valid. Create ID when the source doesn't have one.
2567         (WebCore::MediaStreamTrack::label): Don't assume source is valid.
2568         (WebCore::MediaStreamTrack::enabled): 
2569         (WebCore::MediaStreamTrack::setEnabled): *Component -> *Stream. MediaStreamCenter::instance -> MediaStreamCenter::shared.
2570         (WebCore::MediaStreamTrack::readyState): "muted" is not a readyState, but "new" is.
2571         (WebCore::MediaStreamTrack::getSources): MediaStreamCenter::instance -> MediaStreamCenter::shared.
2572         (WebCore::MediaStreamTrack::ended): *Component -> *Stream.
2573         (WebCore::MediaStreamTrack::sourceChangedState): Dispatch "started" and "unmuted" events.
2574         (WebCore::MediaStreamTrack::trackDidEnd): Renamed from didEndTrack. m_component -> m_source.
2575         * Modules/mediastream/MediaStreamTrack.h:
2576
2577         * Modules/mediastream/RTCDTMFSender.cpp:
2578         (WebCore::RTCDTMFSender::create): track->component() -> track->source();
2579
2580         * Modules/mediastream/RTCPeerConnection.cpp:
2581         (WebCore::RTCPeerConnection::didRemoveRemoteStream): Ditto.
2582
2583         * Modules/mediastream/RTCStatsRequestImpl.cpp:
2584         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl): Ditto.
2585         (WebCore::RTCStatsRequestImpl::component): Removed, it was unused.
2586         * Modules/mediastream/RTCStatsRequestImpl.h:
2587
2588         * Modules/mediastream/UserMediaClient.h:
2589         * Modules/mediastream/UserMediaController.h:
2590         (WebCore::UserMediaController::requestPermission): Renamed from requestUserMedia, get rid of source
2591             vector parameters.
2592         (WebCore::UserMediaController::cancelRequest): Renamed from cancelUserMediaRequest.
2593
2594         * Modules/mediastream/UserMediaRequest.cpp:
2595         (WebCore::parseOptions): MediaConstraintsImpl -> MediaConstraints.
2596         (WebCore::UserMediaRequest::create): Ditto.
2597         (WebCore::UserMediaRequest::UserMediaRequest): Ditto.
2598         (WebCore::UserMediaRequest::securityOrigin): New.
2599         (WebCore::UserMediaRequest::start): Request constraint validation.
2600         (WebCore::UserMediaRequest::constraintsValidated): New. Callback from media engine when constraints
2601             can be supported.
2602         (WebCore::UserMediaRequest::requestPermission): New. Ask user media client for permission to access media.
2603         (WebCore::UserMediaRequest::userMediaAccessGranted): New. Access has been granted.
2604         (WebCore::UserMediaRequest::createMediaStream): New. Allowed to access media, ask media engine
2605             to create stream sources.
2606         (WebCore::UserMediaRequest::userMediaAccessDenied): New. User media client has denied access request.
2607         (WebCore::UserMediaRequest::constraintsInvalid): New. Media engine can not support constraints.
2608         (WebCore::UserMediaRequest::didCreateStream): New. Media engine has created stream sources.
2609         (WebCore::UserMediaRequest::callSuccessHandler): New. Create stream from sources and call success handler.
2610         (WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError): Renamed from constraintFailure.
2611         (WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError): Renamed from permissionFailure.
2612         (WebCore::UserMediaRequest::callErrorHandler): 
2613         (WebCore::UserMediaRequest::contextDestroyed): cancelUserMediaRequest -> cancelRequest.
2614         * Modules/mediastream/UserMediaRequest.h:
2615
2616         * Modules/webaudio/AudioContext.cpp:
2617         (WebCore::AudioContext::createMediaStreamSource): localAudio->component()->source() -> localAudio->source().
2618
2619         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
2620         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): MediaStreamSource::TypeAudio ->
2621             MediaStreamSource::Audio, MediaStreamSource::ReadyStateLive -> MediaStreamSource::Live.
2622             MediaStreamCenter::instance -> MediaStreamCenter::shared.
2623
2624         * WebCore.exp.in: Export new symbols.
2625
2626         * WebCore.xcodeproj/project.pbxproj: Add new files and remove deleted files.
2627
2628         * dom/EventNames.h: Define "started" event.
2629
2630         * platform/mediastream/MediaStreamCenter.cpp:
2631         (WebCore::mediaStreamCenterOverride): Make it possible to override the shared stream center. Will
2632             be used for testing in a later patch.
2633         (WebCore::MediaStreamCenter::shared): Renamed from instance. Return current stream center.
2634         (WebCore::MediaStreamCenter::setSharedStreamCenter): Override current stream center.
2635         (WebCore::MediaStreamCenter::endLocalMediaStream): Never call the descriptor client, always call
2636             the descriptor and let it deal with the client.
2637         * platform/mediastream/MediaStreamCenter.h:
2638
2639         * platform/mediastream/MediaStreamComponent.cpp: Removed.
2640         * platform/mediastream/MediaStreamComponent.h: Removed.
2641
2642         * platform/mediastream/MediaStreamConstraintsValidationClient.h: Added.
2643         * platform/mediastream/MediaStreamCreationClient.h: Added.
2644
2645         * platform/mediastream/MediaStreamDescriptor.cpp:
2646         (WebCore::MediaStreamDescriptor::addSource): *Component -> *Source.
2647         (WebCore::MediaStreamDescriptor::removeSource): Ditto.
2648         (WebCore::MediaStreamDescriptor::addRemoteSource): Ditto.
2649         (WebCore::MediaStreamDescriptor::removeRemoteSource): Ditto.
2650         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Ditto.
2651         (WebCore::MediaStreamDescriptor::setEnded): Ditto. Set source readyStates to Ended.
2652         * platform/mediastream/MediaStreamDescriptor.h:
2653
2654         * platform/mediastream/MediaStreamSource.cpp:
2655         (WebCore::MediaStreamSource::MediaStreamSource): Initialize new member variables.
2656         (WebCore::MediaStreamSource::setReadyState): Early return when the state hasn't changed.
2657         (WebCore::MediaStreamSource::setStream): New.
2658         (WebCore::MediaStreamSource::setMuted): New.
2659         * platform/mediastream/MediaStreamSource.h:
2660
2661         * platform/mediastream/MediaStreamSourcesQueryClient.h: Removed.
2662
2663         * platform/mediastream/RTCPeerConnectionHandler.h:
2664         * platform/mediastream/RTCStatsRequest.h:
2665
2666         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp: Update for new MediaStreamCenter API.
2667         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
2668
2669         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp: Ditto.
2670         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
2671
2672         * platform/mediastream/mac/MediaStreamCenterMac.cpp: Ditto.
2673         * platform/mediastream/mac/MediaStreamCenterMac.h:
2674
2675 2013-09-26  Gurpreet Kaur  <k.gurpreet@samsung.com>
2676
2677         Inset box-shadows fail to round around corners when border-radius is set in vh/vw units.
2678         https://bugs.webkit.org/show_bug.cgi?id=119187
2679
2680         Reviewed by Darin Adler.
2681
2682         Border-radius properties were not applied incase its values
2683         were given in vh, vw, vmax, vmin units.
2684
2685         Tests: fast/css/border-radius-inset-box-shadow-viewportlength.html
2686                fast/css/border-radius-viewport-height.html
2687                fast/css/border-radius-viewport-vmax.html
2688                fast/css/border-radius-viewport-vmin.html
2689
2690         * css/DeprecatedStyleBuilder.cpp:
2691         (WebCore::ApplyPropertyBorderRadius::applyValue):
2692         (WebCore::ApplyPropertyComputeLength::applyValue):
2693         * css/StyleResolver.h:
2694         Calculating the border-radius values which has been specified
2695         in viewport units.The vh/vw units are calcultated as percent of
2696         viewport height and viewport width respectively. 1vmax: 1vw or 1vh,
2697         whatever is largest.1vmin: 1vw or 1vh, whatever is smallest.
2698
2699 2013-09-26  Seokju Kwon  <seokju@webkit.org>
2700
2701         Fix ordered comparison warnings in BitmapImage::drawPattern
2702         https://bugs.webkit.org/show_bug.cgi?id=121945
2703
2704         Reviewed by Darin Adler.
2705
2706         No new tests, no behavior change.
2707
2708         * platform/graphics/BitmapImage.cpp:
2709         (WebCore::BitmapImage::drawPattern):
2710
2711 2013-09-26  Andreas Kling  <akling@apple.com>
2712
2713         Remove empty JSFooCustom.cpp files.
2714         <https://webkit.org/b/121955>
2715
2716         Reviewed by Anders Carlsson.
2717
2718         There's no sense in slowing down build times with empty files that
2719         still include a bunch of headers.
2720
2721         * bindings/js/JSAudioBufferCustom.cpp: Removed.
2722         * bindings/js/JSCSSFontFaceRuleCustom.cpp: Removed.
2723         * bindings/js/JSCSSImportRuleCustom.cpp: Removed.
2724         * bindings/js/JSCSSMediaRuleCustom.cpp: Removed.
2725         * bindings/js/JSCSSPageRuleCustom.cpp: Removed.
2726         * bindings/js/JSCSSStyleRuleCustom.cpp: Removed.
2727         * bindings/js/JSDOMImplementationCustom.cpp: Removed.
2728         * bindings/js/JSDOMTokenListCustom.cpp: Removed.
2729         * bindings/js/JSHTMLStyleElementCustom.cpp: Removed.
2730         * bindings/js/JSMediaListCustom.cpp: Removed.
2731         * bindings/js/JSProcessingInstructionCustom.cpp: Removed.
2732         * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Removed.
2733         * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Removed.
2734         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Removed.
2735
2736 2013-09-26  Mihai Maerean  <mmaerean@adobe.com>
2737
2738         [CSS Regions] The layers from the flow thread should be collected under the regions' layers.
2739         https://bugs.webkit.org/show_bug.cgi?id=120457
2740
2741         Reviewed by David Hyatt.
2742
2743         This patch is based on the work of Alexandru Chiculita at https://bugs.webkit.org/attachment.cgi?id=203872&action=review
2744
2745         The composited layers inside the named flow threads are collected as part of the regions.
2746         When a region displays a layer that needs accelerated compositing we activate the accelerated compositing for
2747         that region too (inside RenderFlowThread::updateAllLayerToRegionMappings).
2748
2749         Tests: fast/regions/layers/accelerated-compositing/crash-transform-inside-region.html
2750                fast/regions/layers/accelerated-compositing/floated-region-with-transformed-child.html
2751                fast/regions/layers/accelerated-compositing/move-layer-from-one-region-to-another.html
2752                fast/regions/layers/accelerated-compositing/propagate-region-box-shadow-border-padding.html
2753                fast/regions/layers/accelerated-compositing/propagate-region-box-shadow-border-padding-for-video.html
2754                fast/regions/layers/accelerated-compositing/region-as-layer-in-another-flowthread.html
2755                fast/regions/layers/accelerated-compositing/transform-transparent-positioned-video-inside-region.html
2756                fast/regions/layers/accelerated-compositing/transformed-layer-inside-transformed-layer.html
2757                fast/regions/layers/accelerated-compositing/z-index.html: Added.
2758                fast/regions/layers/accelerated-compositing/z-index-update.html: Added.
2759
2760         * rendering/FlowThreadController.cpp:
2761         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
2762         * rendering/RenderFlowThread.cpp:
2763         (WebCore::RenderFlowThread::layout): When the layout of the flow thread is over (including the 2 phase layout),
2764         we update all the mappings between the layers inside the flow thread and the regions where those layers will be
2765         painted.
2766         (WebCore::RenderFlowThread::hasCompositingRegionDescendant): Whether any of the regions has a compositing descendant.
2767         (WebCore::RenderFlowThread::getLayerListForRegion):
2768         (WebCore::RenderFlowThread::regionForCompositedLayer):
2769         (WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
2770         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Triggers an update of the layers if a layer has moved
2771         from a region to another since the last update.
2772         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
2773         * rendering/RenderFlowThread.h:
2774         * rendering/RenderGeometryMap.cpp:
2775         (WebCore::RenderGeometryMap::pushRenderFlowThread):
2776         * rendering/RenderGeometryMap.h:
2777         * rendering/RenderLayer.cpp:
2778         (WebCore::RenderLayer::calculateLayerBounds): The RenderNamedFlowThread is ignored when we calculate the bounds
2779         of the RenderView.
2780         * rendering/RenderLayer.h:
2781         * rendering/RenderLayerBacking.cpp:
2782         (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Not if it's inside an out of flow Flow Thread.
2783         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Now adjusts the ancestorCompositingBounds for the FlowThread.
2784         (WebCore::enclosingFlowThreadAncestor):
2785         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Make sure that the region propagates
2786         its borders, paddings, outlines or box-shadows to layers inside it.
2787         * rendering/RenderLayerBacking.h:
2788         * rendering/RenderLayerCompositor.cpp:
2789         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Now calls computeRegionCompositingRequirements.
2790         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
2791         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Do not iterate the RenderFlowThread directly. We
2792         are going to collect composited layers as part of regions.
2793         (WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
2794         (WebCore::RenderLayerCompositor::canBeComposited): CSS Regions flow threads do not need to be composited as we
2795         use composited RenderRegions to render the background of the RenderFlowThread.
2796         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): If it's a region.
2797         * rendering/RenderLayerCompositor.h:
2798         * rendering/RenderMultiColumnSet.cpp:
2799         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
2800         * rendering/RenderMultiColumnSet.h:
2801         * rendering/RenderElement.cpp:
2802         (WebCore::RenderObject::propagateStyleToAnonymousChildren): Not for RenderFlowThreads, as they are updated
2803         through the RenderView::styleDidChange function.
2804         * rendering/RenderRegion.cpp:
2805         (WebCore::RenderRegion::setRequiresLayerForCompositing):
2806         (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
2807         * rendering/RenderRegion.h:
2808         (WebCore::toRenderRegion):
2809         * rendering/RenderRegionSet.h:
2810         (WebCore::RenderRegionSet::requiresLayer): Never.
2811         * rendering/RenderTreeAsText.cpp:
2812         (WebCore::writeLayers):
2813
2814 2013-09-26  Mihnea Ovidenie  <mihnea@adobe.com>
2815
2816         [CSSRegions] Unable to collect html element in a named flow
2817         https://bugs.webkit.org/show_bug.cgi?id=121878
2818
2819         Reviewed by Antti Koivisto.
2820
2821         Tests: fast/regions/collect-html-in-named-flow.html
2822                fast/regions/iframe-html-collected.html
2823
2824         It should be possible to collect the html element in a named flow.
2825         However, before we check whether adding a child is not restricted
2826         by its original parent, we have to make sure that the original parent
2827         is an element to safely perform the check.
2828
2829         * rendering/RenderNamedFlowThread.cpp:
2830         (WebCore::RenderNamedFlowThread::isChildAllowed):
2831
2832 2013-09-25  Brady Eidson  <beidson@apple.com>
2833
2834         Unreviewed, blind attempt at a build fix.
2835
2836         * inspector/InspectorIndexedDBAgent.cpp: Don’t include the keyPathFromIDBKeyPath method for
2837           PLATFORM(MAC) as it is unused.
2838
2839 2013-09-25  Brady Eidson  <beidson@apple.com>
2840
2841         Enable the IndexedDB build on Mac, but leave the feature non-functional
2842         https://bugs.webkit.org/show_bug.cgi?id=121918
2843
2844         Reviewed by Alexey Proskuryakov.
2845
2846         * Configurations/FeatureDefines.xcconfig:
2847
2848         (WebCore::IDBFactory::create): If the IDBFactoryBackend is null (which it is for on-levelDB platforms),
2849           don't create an IDBFactory. This hides the feature from javascript even though upport code is in the build.
2850
2851         * inspector/InspectorIndexedDBAgent.cpp: Empty out DatabaseLoader::execute on Mac until the inspector
2852           build gurus can figure out a 32bit-vs-64bit issue that there is no obvious solution for.
2853
2854         * WebCore.xcodeproj/project.pbxproj: Remove the Modules/indexedDB/leveldb directory now that Mac has no
2855           further use for it.
2856
2857 2013-09-25  Ryuan Choi  <ryuan.choi@samsung.com>
2858
2859         Unreviewed build fix for EFL port.
2860
2861         IDBCursorBackendImpl and IDBDatabaseBackendImpl are renamed after r156406.
2862
2863         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
2864         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
2865         (WebCore::IDBTransactionBackendLevelDB::create):
2866         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
2867         (WebCore::IDBTransactionBackendLevelDB::registerOpenCursor):
2868         (WebCore::IDBTransactionBackendLevelDB::unregisterOpenCursor):
2869         (WebCore::IDBTransactionBackendLevelDB::closeOpenCursors):
2870         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2871         (WebCore::IDBTransactionBackendLevelDB::database):
2872
2873 2013-09-25  Benjamin Poulain  <benjamin@webkit.org>
2874
2875         Do not reenter Document from its destructor
2876         https://bugs.webkit.org/show_bug.cgi?id=121933
2877
2878         Reviewed by Darin Adler.
2879
2880         Following r156422, there are cases where we would reenter Document
2881         during its destruction.
2882
2883         The flow was the following:
2884         -Document's destructor is executed.
2885         -DocumentStyleSheetCollection being part of Document, its destructor
2886          is executed.
2887         -DocumentStyleSheetCollection's destructor detach the owner node of all
2888          its stylesheets avoid keeping stale references to a dead Document.
2889         -CSSStyleSheet::clearOwnerNode() would fetch the dying document
2890          and invoke Document::styleResolverChanged().
2891         This would not fail because the document is detached and Document::styleResolverChanged()
2892         would fail early. This is complicated and error prone so this patch attempt to clear
2893         the process a bit.
2894
2895         With the patch, Document detach all the stylesheets early in the destruction.
2896         Clearing the stylesheet is also changed to avoid re-entering the document.
2897
2898         * css/CSSStyleSheet.h:
2899         * dom/Document.cpp:
2900         (WebCore::Document::~Document):
2901         * dom/DocumentStyleSheetCollection.cpp:
2902         (WebCore::DocumentStyleSheetCollection::detachFromDocument):
2903         * dom/DocumentStyleSheetCollection.h:
2904
2905 2013-09-25  Santosh Mahto  <santosh.ma@samsung.com>
2906
2907         htmlediting.cpp: unnecessary local variable cleanup
2908         https://bugs.webkit.org/show_bug.cgi?id=121903
2909
2910         Reviewed by Darin Adler.
2911
2912         Code cleanup.
2913
2914         * editing/htmlediting.cpp:
2915         (WebCore::lowestEditableAncestor):
2916
2917 2013-09-25  Commit Queue  <commit-queue@webkit.org>
2918
2919         Unreviewed, rolling out r156432.
2920         http://trac.webkit.org/changeset/156432
2921         https://bugs.webkit.org/show_bug.cgi?id=121932
2922
2923         some integer conversion things that need brady to fix
2924         (Requested by thorton on #webkit).
2925
2926         * Configurations/FeatureDefines.xcconfig:
2927         * Modules/indexeddb/IDBFactory.h:
2928         (WebCore::IDBFactory::create):
2929         * WebCore.xcodeproj/project.pbxproj:
2930
2931 2013-09-25  Alex Christensen  <alex.christensen@flexsim.com>
2932
2933         Win64 compile fix after r155226.
2934         https://bugs.webkit.org/show_bug.cgi?id=120969
2935
2936         Reviewed by Brent Fulgham.
2937
2938         * WebCore.vcxproj/WebCore.vcxproj:
2939         Disable building StructuredExceptionHandlerSuppressor.cpp and makesafeseh.asm on Win64.
2940
2941 2013-09-25  Alexey Proskuryakov  <ap@apple.com>
2942
2943         Flaky Test: platform/mac/fonts/han-disunification.html
2944         https://bugs.webkit.org/show_bug.cgi?id=114207
2945
2946         Reviewed by Anders Carlsson.
2947
2948         This test was affected by preceding tests changing font settings.
2949
2950         Save original font if it's changed, and restore it in Backup::restoreTo().
2951
2952         * WebCore.exp.in:
2953         * testing/InternalSettings.cpp:
2954         (WebCore::InternalSettings::Backup::restoreTo):
2955         (WebCore::InternalSettings::setStandardFontFamily):
2956         (WebCore::InternalSettings::setSerifFontFamily):
2957         (WebCore::InternalSettings::setSansSerifFontFamily):
2958         (WebCore::InternalSettings::setFixedFontFamily):
2959         (WebCore::InternalSettings::setCursiveFontFamily):
2960         (WebCore::InternalSettings::setFantasyFontFamily):
2961         (WebCore::InternalSettings::setPictographFontFamily):
2962         * testing/InternalSettings.h:
2963
2964 2013-09-25  Brady Eidson  <beidson@apple.com>
2965
2966         Enable the IndexedDB build on Mac, but leave the feature non-functional
2967         https://bugs.webkit.org/show_bug.cgi?id=121918
2968
2969         Reviewed by Alexey Proskuryakov.
2970
2971         * Configurations/FeatureDefines.xcconfig: Enable the feature.
2972
2973         * Modules/indexeddb/IDBFactory.h:
2974         (WebCore::IDBFactory::create): If the IDBFactoryBackend is null (which it is for on-levelDB platforms),
2975           don't create an IDBFactory. This hides the feature from javascript even though upport code is in the build.
2976
2977         * WebCore.xcodeproj/project.pbxproj: Remove the Modules/indexedDB/leveldb directory now that Mac has no
2978           further use for it.
2979
2980 2013-09-25  Andreas Kling  <akling@apple.com>
2981
2982         Make EventTarget::hasEventListeners() a const method.
2983
2984         This class needs a lot of love in the const correctness department
2985         but for now let's limit ourselves to fixing the IndexedDB build.
2986
2987         * dom/EventTarget.h:
2988         (WebCore::EventTarget::hasEventListeners):
2989
2990 2013-09-25  Brent Fulgham  <bfulgham@apple.com>
2991
2992         [Windows] Refactor RuntimeEnabledFeatures as a Singleton
2993         https://bugs.webkit.org/show_bug.cgi?id=121883
2994
2995         Windows is experiencing crashes when client programs (such as
2996         DumpRenderTree) attemp to change settings on the RuntimeEnabledFeatures
2997         object. The inlined static accessor methods are not accessing
2998         memory safely (when compiled by Visual Studio) resulting in
2999         crashes.
3000
3001         Reviewed by Jer Noble.
3002
3003         * WebCore.exp.in: Remove static accessors for RuntimeEnabledFeatures.
3004         * bindings/generic/RuntimeEnabledFeatures.cpp: Switch methods to
3005         conform to a singleton pattern.
3006         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
3007         (WebCore::RuntimeEnabledFeatures::sharedRuntimeEnabledFeatures):
3008         (WebCore::RuntimeEnabledFeatures::fileSystemEnabled):
3009         (WebCore::RuntimeEnabledFeatures::javaScriptI18NAPIEnabled):
3010         (WebCore::RuntimeEnabledFeatures::audioEnabled):
3011         (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled):
3012         (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled):
3013         (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled):
3014         (WebCore::RuntimeEnabledFeatures::htmlSourceElementEnabled):
3015         (WebCore::RuntimeEnabledFeatures::mediaControllerEnabled):
3016         (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled):
3017         (WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
3018         (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled):
3019         (WebCore::RuntimeEnabledFeatures::webSocketEnabled):
3020         (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
3021         (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
3022         * bindings/generic/RuntimeEnabledFeatures.h: Ditto.
3023         (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
3024         (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
3025         (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
3026         (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
3027         (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled):
3028         (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled):
3029         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
3030         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
3031         (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled):
3032         (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled):
3033         (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
3034         (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
3035         (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
3036         (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
3037         (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
3038         (WebCore::RuntimeEnabledFeatures::setCanvasPathEnabled):
3039         (WebCore::RuntimeEnabledFeatures::canvasPathEnabled):
3040         (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled):
3041         (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled):
3042         (WebCore::RuntimeEnabledFeatures::setCSSShapesEnabled):
3043         (WebCore::RuntimeEnabledFeatures::cssShapesEnabled):
3044         (WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled):
3045         (WebCore::RuntimeEnabledFeatures::cssRegionsEnabled):
3046         (WebCore::RuntimeEnabledFeatures::setCSSCompositingEnabled):
3047         (WebCore::RuntimeEnabledFeatures::cssCompositingEnabled):
3048         (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
3049         (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
3050         (WebCore::RuntimeEnabledFeatures::webkitFullScreenAPIEnabled):
3051         (WebCore::RuntimeEnabledFeatures::setWebkitFullScreenAPIEnabled):
3052         (WebCore::RuntimeEnabledFeatures::webkitRequestFullScreenEnabled):
3053         (WebCore::RuntimeEnabledFeatures::webkitIsFullScreenEnabled):
3054         (WebCore::RuntimeEnabledFeatures::webkitFullScreenKeyboardInputAllowedEnabled):
3055         (WebCore::RuntimeEnabledFeatures::webkitCurrentFullScreenElementEnabled):
3056         (WebCore::RuntimeEnabledFeatures::webkitCancelFullScreenEnabled):
3057         (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled):
3058         (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled):
3059         (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled):
3060         (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled):
3061         (WebCore::RuntimeEnabledFeatures::touchEnabled):
3062         (WebCore::RuntimeEnabledFeatures::setTouchEnabled):
3063         (WebCore::RuntimeEnabledFeatures::setDeviceMotionEnabled):
3064         (WebCore::RuntimeEnabledFeatures::deviceMotionEnabled):
3065         (WebCore::RuntimeEnabledFeatures::deviceMotionEventEnabled):
3066         (WebCore::RuntimeEnabledFeatures::ondevicemotionEnabled):
3067         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
3068         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
3069         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
3070         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
3071         (WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled):
3072         (WebCore::RuntimeEnabledFeatures::speechInputEnabled):
3073         (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled):
3074         (WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled):
3075         (WebCore::RuntimeEnabledFeatures::setScriptedSpeechEnabled):
3076         (WebCore::RuntimeEnabledFeatures::scriptedSpeechEnabled):
3077         (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEnabled):
3078         (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionErrorEnabled):
3079         (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEventEnabled):
3080         (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarEnabled):
3081         (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarListEnabled):
3082         (WebCore::RuntimeEnabledFeatures::setFileSystemEnabled):
3083         (WebCore::RuntimeEnabledFeatures::setJavaScriptI18NAPIEnabled):
3084         (WebCore::RuntimeEnabledFeatures::mediaStreamEnabled):
3085         (WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled):
3086         (WebCore::RuntimeEnabledFeatures::webkitGetUserMediaEnabled):
3087         (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):
3088         (WebCore::RuntimeEnabledFeatures::peerConnectionEnabled):
3089         (WebCore::RuntimeEnabledFeatures::setPeerConnectionEnabled):
3090         (WebCore::RuntimeEnabledFeatures::webkitRTCPeerConnectionEnabled):
3091         (WebCore::RuntimeEnabledFeatures::setLegacyCSSVendorPrefixesEnabled):
3092         (WebCore::RuntimeEnabledFeatures::legacyCSSVendorPrefixesEnabled):
3093         (WebCore::RuntimeEnabledFeatures::setWebkitGetGamepadsEnabled):
3094         (WebCore::RuntimeEnabledFeatures::webkitGetGamepadsEnabled):
3095         (WebCore::RuntimeEnabledFeatures::quotaEnabled):
3096         (WebCore::RuntimeEnabledFeatures::setQuotaEnabled):
3097         (WebCore::RuntimeEnabledFeatures::mediaSourceEnabled):
3098         (WebCore::RuntimeEnabledFeatures::setMediaSourceEnabled):
3099         (WebCore::RuntimeEnabledFeatures::encryptedMediaEnabled):
3100         (WebCore::RuntimeEnabledFeatures::setEncryptedMediaEnabled):
3101         (WebCore::RuntimeEnabledFeatures::webkitVideoTrackEnabled):
3102         (WebCore::RuntimeEnabledFeatures::setWebkitVideoTrackEnabled):
3103         (WebCore::RuntimeEnabledFeatures::shadowDOMEnabled):
3104         (WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled):
3105         (WebCore::RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled):
3106         (WebCore::RuntimeEnabledFeatures::setAuthorShadowDOMForAnyElementEnabled):
3107         (WebCore::RuntimeEnabledFeatures::customDOMElementsEnabled):
3108         (WebCore::RuntimeEnabledFeatures::setCustomDOMElements):
3109         (WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
3110         (WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
3111         (WebCore::RuntimeEnabledFeatures::inputTypeDateEnabled):
3112         (WebCore::RuntimeEnabledFeatures::setInputTypeDateEnabled):
3113         (WebCore::RuntimeEnabledFeatures::inputTypeDateTimeEnabled):
3114         (WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeEnabled):
3115         (WebCore::RuntimeEnabledFeatures::inputTypeDateTimeLocalEnabled):
3116         (WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeLocalEnabled):
3117         (WebCore::RuntimeEnabledFeatures::inputTypeMonthEnabled):
3118         (WebCore::RuntimeEnabledFeatures::setInputTypeMonthEnabled):
3119         (WebCore::RuntimeEnabledFeatures::inputTypeTimeEnabled):
3120         (WebCore::RuntimeEnabledFeatures::setInputTypeTimeEnabled):
3121         (WebCore::RuntimeEnabledFeatures::inputTypeWeekEnabled):
3122         (WebCore::RuntimeEnabledFeatures::setInputTypeWeekEnabled):
3123         (WebCore::RuntimeEnabledFeatures::experimentalContentSecurityPolicyFeaturesEnabled):
3124         (WebCore::RuntimeEnabledFeatures::setExperimentalContentSecurityPolicyFeaturesEnabled):
3125         (WebCore::RuntimeEnabledFeatures::seamlessIFramesEnabled):
3126         (WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled):
3127         (WebCore::RuntimeEnabledFeatures::langAttributeAwareFormControlUIEnabled):
3128         (WebCore::RuntimeEnabledFeatures::setLangAttributeAwareFormControlUIEnabled):
3129         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3130         (WebCore::getCSSPropertyNamePrefix): Use singleton accessors.
3131         (WebCore::cssPropertyIDForJSCSSPropertyName): Ditto.
3132         * bindings/scripts/CodeGeneratorJS.pm:
3133         (GetRuntimeEnableFunctionName): Generate singleton version of
3134         accessors.
3135         * css/CSSFontFace.cpp:
3136         (WebCore::CSSFontFace::fontLoaded): Use singleton accessors.
3137         (WebCore::CSSFontFace::getFontData): Ditto.
3138         * css/CSSFontSelector.cpp:
3139         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
3140         * css/CSSParser.cpp:
3141         (WebCore::isSimpleLengthPropertyID): Ditto.
3142         (WebCore::isValidKeywordPropertyAndValue):
3143         (WebCore::CSSParser::parseValue):
3144         (WebCore::CSSParser::rewriteSpecifiers):
3145         * css/CSSSegmentedFontFace.cpp:
3146         (WebCore::CSSSegmentedFontFace::fontLoaded): Ditto.
3147         * css/StyleResolver.h:
3148         (WebCore::StyleResolver::ensureScopeResolver): Ditto.
3149         * dom/Document.cpp:
3150         (WebCore::Document::cssRegionsEnabled): Ditto.
3151         (WebCore::Document::cssCompositingEnabled):
3152         (WebCore::Document::shouldDisplaySeamlesslyWithParent):
3153         (WebCore::Document::getCachedLocale):
3154         * dom/Element.cpp:
3155         (WebCore::Element::createShadowRoot): Ditto.
3156         * dom/Position.cpp:
3157         (WebCore::Position::Position): Ditto.
3158         (WebCore::Position::findParent):
3159         * dom/TreeScope.cpp:
3160         (WebCore::TreeScope::getSelection): Ditto.
3161         * dom/make_names.pl:
3162         (printConstructorInterior): Generate singleton version of accessors.
3163         (printWrapperFunctions): Ditto.
3164         * html/HTMLInputElement.cpp:
3165         (WebCore::HTMLInputElement::isSpeechEnabled): Use singleton accessors.
3166         (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
3167         * html/HTMLMediaElement.cpp:
3168         (WebCore::HTMLMediaElement::finishParsingChildren): Ditto.
3169         (WebCore::HTMLMediaElement::scheduleDelayedAction):
3170         (WebCore::HTMLMediaElement::loadTimerFired):
3171         (WebCore::HTMLMediaElement::prepareForLoad):
3172         (WebCore::HTMLMediaElement::loadInternal):
3173         (WebCore::HTMLMediaElement::setReadyState):
3174         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
3175         (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack):
3176         (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack):
3177         (WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack):
3178         (WebCore::HTMLMediaElement::addAudioTrack):
3179         (WebCore::HTMLMediaElement::addTextTrack):
3180         (WebCore::HTMLMediaElement::addVideoTrack):
3181         (WebCore::HTMLMediaElement::removeAudioTrack):
3182         (WebCore::HTMLMediaElement::removeTextTrack):
3183         (WebCore::HTMLMediaElement::removeVideoTrack):
3184         (WebCore::HTMLMediaElement::audioTracks):
3185         (WebCore::HTMLMediaElement::textTracks):
3186         (WebCore::HTMLMediaElement::videoTracks):
3187         (WebCore::HTMLMediaElement::didAddTextTrack):
3188         (WebCore::HTMLMediaElement::didRemoveTextTrack):
3189         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3190         (WebCore::HTMLMediaElement::userCancelledLoad):
3191         (WebCore::HTMLMediaElement::hasClosedCaptions):
3192         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
3193         (WebCore::HTMLMediaElement::configureTextTrackDisplay):
3194         * html/HTMLStyleElement.cpp:
3195         (WebCore::HTMLStyleElement::parseAttribute): Ditto.
3196         (WebCore::HTMLStyleElement::scopedAttributeChanged):
3197         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
3198         (WebCore::HTMLStyleElement::scoped):
3199         * html/HTMLTrackElement.cpp:
3200         (WebCore::HTMLTrackElement::parseAttribute): Ditto.
3201         (WebCore::HTMLTrackElement::scheduleLoad):
3202         (WebCore::HTMLTrackElement::canLoadUrl):
3203         * html/InputType.cpp:
3204         (WebCore::createInputTypeFactoryMap): Ditto.
3205         * page/ContentSecurityPolicy.cpp:
3206         (WebCore::ContentSecurityPolicy::experimentalFeaturesEnabled): Ditto.
3207         * page/DOMWindow.cpp:
3208         (WebCore::DOMWindow::addEventListener): Ditto.
3209         * page/FrameView.cpp:
3210         (WebCore::FrameView::performPostLayoutTasks): Ditto.
3211         * testing/InternalSettings.cpp:
3212         (WebCore::InternalSettings::Backup::Backup): Ditto.
3213         (WebCore::InternalSettings::Backup::restoreTo):
3214         (WebCore::InternalSettings::setShadowDOMEnabled):
3215         (WebCore::InternalSettings::setAuthorShadowDOMForAnyElementEnabled):
3216         (WebCore::InternalSettings::setStyleScopedEnabled):
3217         (WebCore::InternalSettings::setCSSExclusionsEnabled):
3218         (WebCore::InternalSettings::setCSSShapesEnabled):
3219         (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
3220
3221 2013-09-25  Andreas Kling  <akling@apple.com>
3222
3223         Unreviewed build fix for IDBDatabase.
3224
3225         Turns out there was a much cleaner way to express this.
3226
3227 2013-09-25  Benjamin Poulain  <benjamin@webkit.org>
3228
3229         Tie the life of DocumentStyleSheetCollection and Document together
3230         https://bugs.webkit.org/show_bug.cgi?id=121892
3231
3232         Reviewed by Andreas Kling.
3233
3234         DocumentStyleSheetCollection had an odd destruction pattern for no apparent reason.
3235
3236         The two objects strictly depend on eachother, this patch make that explicit by making
3237         DocumentStyleSheetCollection a plain object in Document's memory space.
3238
3239         * css/CSSStyleSheet.cpp:
3240         (WebCore::CSSStyleSheet::didMutateRules):
3241         * css/DocumentRuleSets.cpp:
3242         (WebCore::DocumentRuleSets::initUserStyle):
3243         * css/DocumentRuleSets.h:
3244         * css/InspectorCSSOMWrappers.cpp:
3245         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
3246         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
3247         * css/InspectorCSSOMWrappers.h:
3248         * css/SelectorChecker.cpp:
3249         (WebCore::SelectorChecker::matchRecursively):
3250         (WebCore::SelectorChecker::checkOne):
3251         * css/StyleResolver.cpp:
3252         (WebCore::StyleResolver::StyleResolver):
3253         * css/StyleSheetList.cpp:
3254         (WebCore::StyleSheetList::styleSheets):
3255         (WebCore::StyleSheetList::detachFromDocument):
3256         * dom/Document.cpp:
3257         (WebCore::Document::Document):
3258         (WebCore::Document::~Document):
3259         (WebCore::Document::setCompatibilityMode):
3260         (WebCore::Document::recalcStyle):
3261         (WebCore::Document::createStyleResolver):
3262         (WebCore::Document::processHttpEquiv):
3263         (WebCore::Document::preferredStylesheetSet):
3264         (WebCore::Document::selectedStylesheetSet):
3265         (WebCore::Document::setSelectedStylesheetSet):
3266         (WebCore::Document::scheduleOptimizedStyleSheetUpdate):
3267         (WebCore::Document::styleResolverChanged):
3268         (WebCore::Document::haveStylesheetsLoaded):
3269         * dom/Document.h:
3270         (WebCore::Document::styleSheetCollection):
3271         * dom/DocumentStyleSheetCollection.cpp:
3272         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
3273         (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
3274         (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
3275         (WebCore::DocumentStyleSheetCollection::pageUserSheet):
3276         (WebCore::DocumentStyleSheetCollection::clearPageUserSheet):
3277         (WebCore::DocumentStyleSheetCollection::updatePageUserSheet):
3278         (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
3279         (WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
3280         (WebCore::DocumentStyleSheetCollection::addAuthorSheet):
3281         (WebCore::DocumentStyleSheetCollection::addUserSheet):
3282         (WebCore::DocumentStyleSheetCollection::removePendingSheet):
3283         (WebCore::DocumentStyleSheetCollection::addStyleSheetCandidateNode):
3284         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
3285         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
3286         (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
3287         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3288         * dom/DocumentStyleSheetCollection.h:
3289         * dom/Element.cpp:
3290         (WebCore::Element::createPseudoElementIfNeeded):
3291         * dom/InlineStyleSheetOwner.cpp:
3292         (WebCore::InlineStyleSheetOwner::insertedIntoDocument):
3293         (WebCore::InlineStyleSheetOwner::removedFromDocument):
3294         (WebCore::InlineStyleSheetOwner::clearDocumentData):
3295         (WebCore::InlineStyleSheetOwner::createSheet):
3296         (WebCore::InlineStyleSheetOwner::sheetLoaded):
3297         (WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
3298         * dom/ProcessingInstruction.cpp:
3299         (WebCore::ProcessingInstruction::~ProcessingInstruction):
3300         (WebCore::ProcessingInstruction::checkStyleSheet):
3301         (WebCore::ProcessingInstruction::sheetLoaded):
3302         (WebCore::ProcessingInstruction::insertedInto):
3303         (WebCore::ProcessingInstruction::removedFrom):
3304         * html/HTMLLinkElement.cpp:
3305         (WebCore::HTMLLinkElement::~HTMLLinkElement):
3306         (WebCore::HTMLLinkElement::insertedInto):
3307         (WebCore::HTMLLinkElement::removedFrom):
3308         (WebCore::HTMLLinkElement::addPendingSheet):
3309         (WebCore::HTMLLinkElement::removePendingSheet):
3310         * html/HTMLQuoteElement.cpp:
3311         (WebCore::HTMLQuoteElement::insertedInto):
3312         * html/HTMLViewSourceDocument.cpp:
3313         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
3314         * inspector/InspectorCSSAgent.cpp:
3315         (WebCore::InspectorCSSAgent::willMatchRule):
3316         * inspector/InspectorCSSAgent.h:
3317         * inspector/InspectorInstrumentation.cpp:
3318         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
3319         * inspector/InspectorInstrumentation.h:
3320         (WebCore::InspectorInstrumentation::willMatchRule):
3321         * mathml/MathMLMathElement.cpp:
3322         (WebCore::MathMLMathElement::insertedInto):
3323         * page/Page.cpp:
3324         (WebCore::Page::userStyleSheetLocationChanged):
3325         * page/PageGroup.cpp:
3326         (WebCore::PageGroup::invalidateInjectedStyleSheetCacheInAllFrames):
3327         * rendering/RenderBlock.cpp:
3328         (WebCore::RenderBlock::lineHeight):
3329         (WebCore::RenderBlock::updateFirstLetter):
3330         * rendering/RenderInline.cpp:
3331         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
3332         (WebCore::RenderInline::lineHeight):
3333         * rendering/RenderLineBreak.cpp:
3334         (WebCore::RenderLineBreak::lineHeight):
3335         * rendering/RenderObject.cpp:
3336         (WebCore::RenderObject::uncachedFirstLineStyle):
3337         (WebCore::RenderObject::cachedFirstLineStyle):
3338         * rendering/RenderObject.h:
3339         (WebCore::RenderObject::firstLineStyle):
3340         * rendering/RootInlineBox.cpp:
3341         (WebCore::RootInlineBox::verticalPositionForBox):
3342         * style/StyleResolveTree.cpp:
3343         (WebCore::Style::resolveLocal):
3344         * testing/Internals.cpp:
3345         (WebCore::Internals::insertAuthorCSS):
3346         (WebCore::Internals::insertUserCSS):
3347
3348 2013-09-25  Brady Eidson  <beidson@apple.com>
3349
3350         FeatureDefine.xcconfig cleanup (They should all be identical).
3351         https://bugs.webkit.org/show_bug.cgi?id=121921
3352
3353         Reviewed by Mark Rowe.
3354
3355         * Configurations/FeatureDefines.xcconfig:
3356
3357 2013-09-25  Andreas Kling  <akling@apple.com>
3358
3359         JS wrappers should have strongly typed impl() functions.
3360         <https://webkit.org/b/121919>
3361
3362         Reviewed by Geoffrey Garen.
3363
3364         Generate strongly typed JSFoo::impl() functions for all wrappers,
3365         not just those marked with JSGenerateToNativeObject.
3366
3367         Removed 8.8 million static_casts that are no longer needed.
3368
3369 2013-09-24  Roger Fong  <roger_fong@apple.com>
3370
3371         [Windows] Overpanning occurs even when what is being panned isn't the main document.
3372         https://bugs.webkit.org/show_bug.cgi?id=121885.
3373         <rdar://problem/15072332>.
3374
3375         Reviewed by Brent Fulgham.
3376
3377         No new functionality added.
3378
3379         * rendering/RenderLayer.cpp:
3380         (WebCore::RenderLayer::scrollByRecursively):
3381         * rendering/RenderLayer.h:
3382
3383 2013-09-25  Andreas Kling  <akling@apple.com>
3384
3385         Reduce repetitive EventTarget subclassing.
3386         <https://webkit.org/b/121915>
3387
3388         Reviewed by Antti Koivisto.
3389
3390         Add a EventTargetWithInlineData helper class to EventTarget.h.
3391         It's a simple subclass with an EventTargetData member and FINAL
3392         eventTargetData()/ensureEventTargetData() overrides.
3393
3394         Turns out that this fits almost every use case except Node and
3395         SVGElementInstance.
3396
3397         Inlined most of the FINAL EventTarget overrides since they will
3398         be called on tight pointers by generated bindings code and this
3399         removes the need for virtual dispatch.
3400
3401         Spammed OVERRIDE FINAL as appropriate, we can't make the whole
3402         classes FINAL until bug 121747 is fixed, so added FIXMEs.
3403
3404 2013-09-25  Sam White  <samuel_white@apple.com>
3405
3406         AX: WebKit doesn't map aria-sort=other on OS X
3407         https://bugs.webkit.org/show_bug.cgi?id=118511
3408
3409         Reviewed by Chris Fleizach.
3410
3411         No new tests, updated existing aria-sort test to validate addition of "other"
3412         sort order per http://www.w3.org/TR/wai-aria/complete#aria-sort.
3413
3414         * accessibility/AccessibilityObject.cpp:
3415         (WebCore::AccessibilityObject::sortDirection):
3416         * accessibility/AccessibilityObject.h:
3417
3418 2013-09-24  Sam Weinig  <sam@webkit.org>
3419
3420         CTTE: More Document references please
3421         https://bugs.webkit.org/show_bug.cgi?id=121893
3422
3423         Reviewed by Anders Carlsson.
3424
3425         * Thread even more Document&s around. *
3426
3427 2013-09-25  Anders Carlsson  <andersca@apple.com>
3428
3429         HasMemoryCostMemberFunction should work for final classes
3430         https://bugs.webkit.org/show_bug.cgi?id=121747
3431
3432         Reviewed by Sam Weinig.
3433
3434         Use decltype to check for the memoryCost() member function. This doesn't check that the return type is size_t, but
3435         the build will fail anyway if that's the case (or if the return type is not convertible to size_t).
3436
3437         * bindings/js/JSDOMBinding.h:
3438
3439 2013-09-25  Brady Eidson  <beidson@apple.com>
3440
3441         More refactoring to make the LevelDB dependencies of IDB more obvious.
3442         https://bugs.webkit.org/show_bug.cgi?id=121880
3443
3444         Reviewed by Alexey Proskuryakov.
3445
3446         This patch does three things:
3447         1 - Moves some files to the indexeddb/leveldb subdirectory, renaming them in the process.
3448         2 - Renames some classes.
3449         3 - Adds "USE(LEVELDB)" guards in addition to the ENABLE(INDEXED_DATABASE) guard for those files.
3450
3451         Project file updates:
3452         * GNUmakefile.am:
3453         * GNUmakefile.list.am:
3454         * Target.pri:
3455         * WebCore.xcodeproj/project.pbxproj:
3456         * WebCore.vcxproj/WebCore.vcxproj:
3457
3458         File renames, class renames, and USE(LEVELDB) guards:
3459         * Modules/indexeddb/IDBBackingStore.cpp: Removed.
3460         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
3461         (WebCore::IDBFactoryBackendInterface::create): Add a null return if USE(LEVELDB) is disabled as a stop gap measure until
3462           there is a non-LevelDB impl.
3463         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3464         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBBackingStore.h.
3465         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
3466         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
3467         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp.
3468         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h.
3469         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.cpp.
3470         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.h.
3471         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
3472         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
3473         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp.
3474         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.h.
3475         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
3476         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
3477         * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.cpp.
3478         * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.h.
3479
3480
3481 2013-09-25  Antti Koivisto  <antti@apple.com>
3482
3483         REGRESSION (r156355) Links / interactive elements inside nested tables are unclickable
3484         https://bugs.webkit.org/show_bug.cgi?id=121904
3485
3486         Reviewed by Andreas Kling.
3487
3488         Test: fast/table/hittest-self-painting.html
3489         
3490         Original reduction by Philippe Wittenbergh.
3491
3492         * rendering/RenderTableRow.cpp:
3493         (WebCore::RenderTableRow::styleDidChange):
3494         
3495             Tighten a bit.
3496
3497         (WebCore::RenderTableRow::nodeAtPoint):
3498         * rendering/RenderTableSection.cpp:
3499         (WebCore::RenderTableSection::nodeAtPoint):
3500         
3501             These flipped accidentally in r156355.
3502
3503 2013-09-25  Alberto Garcia  <berto@igalia.com>
3504
3505         Fix warning in makeprop.pl
3506         https://bugs.webkit.org/show_bug.cgi?id=121900
3507
3508         Reviewed by Ryosuke Niwa.
3509
3510         %nameIsInherited and %nameToId were incorrectly initialized using
3511         references instead of lists.
3512
3513         Anyway there's no need to initialize those variables explicitly,
3514         they're already empty by default.
3515
3516         * css/makeprop.pl:
3517
3518 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3519
3520         REGRESSION(r156393): Build with !ENABLE(SVG_FONTS) broken
3521
3522         Unreviewed build-fix.
3523
3524         Protect SVG font code with #ifdef ENABLE(SVG_FONTS).
3525
3526         * platform/graphics/WidthIterator.cpp:
3527         (WebCore::applyFontTransforms):
3528
3529 2013-09-25  Commit Queue  <commit-queue@webkit.org>
3530
3531         Unreviewed, rolling out r156272.
3532         http://trac.webkit.org/changeset/156272
3533         https://bugs.webkit.org/show_bug.cgi?id=121909
3534
3535         Has no real effect (Requested by carewolf on #webkit).
3536
3537         * platform/graphics/qt/TileQt.cpp:
3538         (WebCore::TileQt::updateBackBuffer):
3539
3540 2013-09-25  Andreas Kling  <akling@apple.com>
3541
3542         Move wheel event dispatch from Node to Element.
3543         <https://webkit.org/b/121908>
3544
3545         Reviewed by Anders Carlsson.
3546
3547         Wheel events are only ever dispatched on Elements, so move the logic out of Node.
3548
3549         Had to make RenderBox::scroll() and friends return a stopElement instead of a
3550         stopNode (out argument) to make this work, though it was only ever returning
3551         Elements there anyway.
3552
3553 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3554
3555         [Qt] Fix build with !ENABLE(BLOB) after r156330
3556
3557         Unreviewed build-fix.
3558
3559         * platform/network/qt/ResourceRequestQt.cpp:
3560         (WebCore::ResourceRequest::toNetworkRequest):
3561
3562 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3563
3564         Support kerning with SVG web fonts
3565         https://bugs.webkit.org/show_bug.cgi?id=117540
3566
3567         Reviewed by Stephen Chenney.
3568
3569         Adds the glue to WidthIterator to take advantage of kerning in SVG web fonts.
3570         To supply SVG font kerning with its required text input, the signature of
3571         applyFontTransforms has been extended.
3572
3573         Since SVG font kerning was extremely slow, it has been sped up by replacing
3574         the iteration over all possible kerning definitions with a hash-map based
3575         lookup of the leading symbol to be kerned. The new algorithm provides a
3576         roughly 100x speed-up in SVG font kerning.
3577
3578         Test: fast/text/svg-font-face-with-kerning.html
3579
3580         * platform/graphics/TextRun.h:
3581         (WebCore::TextRun::string):
3582         * platform/graphics/WidthIterator.cpp:
3583         (WebCore::applyFontTransforms):
3584         (WebCore::WidthIterator::advanceInternal):
3585         * rendering/svg/SVGTextRunRenderingContext.cpp:
3586         (WebCore::SVGTextRunRenderingContext::applySVGKerning):
3587         * rendering/svg/SVGTextRunRenderingContext.h:
3588         * svg/SVGFontElement.cpp:
3589         (WebCore::SVGFontElement::invalidateGlyphCache):
3590         (WebCore::SVGFontElement::ensureGlyphCache):
3591         (WebCore::SVGKerningMap::clear):
3592         (WebCore::SVGKerningMap::insert):
3593         (WebCore::stringMatchesUnicodeRange):
3594         (WebCore::stringMatchesGlyphName):
3595         (WebCore::stringMatchesUnicodeName):
3596         (WebCore::matches):
3597         (WebCore::kerningForPairOfStringsAndGlyphs):
3598         (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
3599         (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
3600         * svg/SVGFontElement.h:
3601         (WebCore::SVGKerning::SVGKerning):
3602         (WebCore::SVGKerningMap::isEmpty):
3603         * svg/SVGHKernElement.cpp:
3604         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
3605         * svg/SVGHKernElement.h:
3606         * svg/SVGVKernElement.cpp:
3607         (WebCore::SVGVKernElement::buildVerticalKerningPair):
3608         * svg/SVGVKernElement.h:
3609
3610 2013-09-25  Andrei Parvu  <parvu@adobe.com>
3611
3612         <https://webkit.org/b/120476> [CSS Masking] Implement luminance masking
3613
3614         Added implementation for luminance masking. A luminance mask is applied by transforming its RGB values into
3615         an alpha value, using luminance-to-alpha coefficients. Because this conversion is already implemented in
3616         the ImageBuffer class, we used it in our implementation.
3617
3618         Reviewed by Dirk Schulze.
3619
3620         Tests: css3/masking/mask-luminance-gradient.html
3621                css3/masking/mask-luminance-png.html
3622                css3/masking/mask-luminance-svg.html
3623
3624         * platform/graphics/BitmapImage.cpp: Add a drawPattern method, in which an ImageBuffer is created and converted from alpha to luminance, if there is a luminance mask.
3625         (WebCore::BitmapImage::BitmapImage):
3626         (WebCore::BitmapImage::drawPattern):
3627         * platform/graphics/BitmapImage.h:
3628         * platform/graphics/GeneratorGeneratedImage.cpp: Convert the ImageBuffer to luminance, if necessary.
3629         (WebCore::GeneratorGeneratedImage::drawPattern):
3630         * platform/graphics/GraphicsContext.cpp: Add methods which set and check if a luminance mask is drawn.
3631         (WebCore::GraphicsContext::setDrawLuminanceMask):
3632         (WebCore::GraphicsContext::drawLuminanceMask):
3633         * platform/graphics/GraphicsContext.h: Add property to ContextState for luminance drawing.
3634         (WebCore::GraphicsContextState::GraphicsContextState):
3635         * rendering/RenderBoxModelObject.cpp: Set the luminance property of the mask, if the layer has a mask source type of luminance.
3636         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3637         * svg/graphics/SVGImage.cpp: Convert the ImageBuffer to luminance, if necessary.
3638         (WebCore::SVGImage::drawPatternForContainer):
3639         * svg/graphics/SVGImageForContainer.cpp: Pass the luminance property to the SVG image.
3640         (WebCore::SVGImageForContainer::drawPattern):
3641
3642 2013-09-25  Andreas Kling  <akling@apple.com>
3643
3644         Remove EventPathWalker.
3645         <https://webkit.org/b/121890>
3646
3647         Reviewed by Antti Koivisto.
3648
3649         Purge some more leftover Shadow DOM code.
3650
3651         * dom/EventPathWalker.cpp:
3652         * dom/EventPathWalker.h:
3653
3654             Removed.
3655
3656         * dom/EventRetargeter.cpp:
3657         (WebCore::nodeOrHostIfPseudoElement):
3658         (WebCore::EventRetargeter::calculateEventPath):
3659         (WebCore::EventRetargeter::buildRelatedNodeMap):
3660
3661             If starting at a pseudo element, e.g for events originating from
3662             a transition on :before/:after, retarget to the pseudo element's
3663             host as appropriate. This was the only real "feature" we were
3664             using in EventPathWalker.
3665
3666         * page/EventHandler.cpp:
3667         (WebCore::EventHandler::handleMouseDraggedEvent):
3668         (WebCore::EventHandler::updateDragAndDrop):
3669         (WebCore::EventHandler::updateMouseEventTargetNode):
3670         (WebCore::EventHandler::handleWheelEvent):
3671         (WebCore::EventHandler::handleTouchEvent):
3672
3673             Replace use of EventPathWalker with parentOrShadowHostElement()
3674             parent chain climbing.
3675
3676 2013-09-25  Gurpreet Kaur  <k.gurpreet@samsung.com>
3677
3678         :read-write pseudo-class should not be applied on <input type="text" disabled>
3679         https://bugs.webkit.org/show_bug.cgi?id=118236
3680
3681         Reviewed by Darin Adler.
3682
3683         The :read-write pseudo-class must match any element falling into one
3684         of the following categories i.e
3685         input elements to which the readonly attribute applies, and that are mutable
3686         (i.e. that do not have the readonly attribute specified and that are not disabled)
3687         textarea elements that do not have a readonly attribute, and that are not disabled
3688         elements that are editing hosts or editable and are neither input elements nor
3689         textarea elements.
3690
3691         Test: fast/css/readwrite-pseudoclass-input.html
3692
3693         * html/HTMLInputElement.cpp:
3694         (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
3695         * html/HTMLTextAreaElement.cpp:
3696         (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
3697         Checking for both readonly and disabled attribute on input ane textarea element.
3698
3699 2013-09-25  Krzysztof Czech  <k.czech@samsung.com>
3700
3701         [EFL] accessibility/loading-iframe-sends-notification.html is failing
3702         https://bugs.webkit.org/show_bug.cgi?id=112003
3703
3704         Reviewed by Mario Sanchez Prada.
3705
3706         Enabled AXLayoutComplete on EFL platform.
3707
3708         * dom/Document.cpp:
3709         (WebCore::Document::implicitClose):
3710         * page/FrameView.cpp:
3711         (WebCore::FrameView::layout):
3712
3713 2013-09-24  Commit Queue  <commit-queue@webkit.org>
3714
3715         Unreviewed, rolling out r156379.
3716         http://trac.webkit.org/changeset/156379
3717         https://bugs.webkit.org/show_bug.cgi?id=121894
3718
3719         Caused many assertion failures (Requested by ap on #webkit).
3720
3721         * css/CSSValue.cpp:
3722         (WebCore::CSSValue::destroy):
3723         * css/StyleResolver.cpp:
3724         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
3725         (WebCore::StyleResolver::createFilterOperations):
3726         * css/TransformFunctions.cpp:
3727         (WebCore::transformsForValue):
3728         * css/WebKitCSSArrayFunctionValue.h:
3729         * css/WebKitCSSFilterValue.h:
3730         * css/WebKitCSSMatFunctionValue.h:
3731         * css/WebKitCSSMixFunctionValue.h:
3732         * css/WebKitCSSSVGDocumentValue.h:
3733         * css/WebKitCSSShaderValue.h:
3734         (WebCore::toWebKitCSSShaderValue):
3735         * css/WebKitCSSTransformValue.h:
3736
3737 2013-09-24  Ryosuke Niwa  <rniwa@webkit.org>
3738
3739         Crash in Document::setFocusedElement
3740         https://bugs.webkit.org/show_bug.cgi?id=121888
3741
3742         Reviewed by Andreas Kling.
3743
3744         Merge https://chromium.googlesource.com/chromium/blink/+/4a594a3de7d9761462b55fb27a6850d767419af2
3745
3746         The crash was caused by attempting to call Chrome:focusedNodeChanged() after m_page had already
3747         been cleared. This could happen when blur's event handler removes the iframe from which
3748         the focus had been moved. Fixed the bug by adding a null pointer check.
3749
3750         Test: fast/events/blur-remove-parent-crash.html
3751
3752         * dom/Document.cpp:
3753         (WebCore::Document::setFocusedElement):
3754
3755 2013-09-24  Antti Koivisto  <antti@apple.com>
3756
3757         Remove HTMLContentElement
3758         https://bugs.webkit.org/show_bug.cgi?id=121891
3759
3760         Reviewed by Andreas Kling.
3761
3762         Remove an unsused Shadow DOM type.
3763
3764         * DerivedSources.make:
3765         * WebCore.exp.in:
3766         * WebCore.xcodeproj/project.pbxproj:
3767         * html/HTMLDetailsElement.cpp:
3768         * html/HTMLSummaryElement.cpp:
3769         * html/HTMLTagNames.in:
3770         * html/shadow/ContentDistributor.cpp:
3771         * html/shadow/HTMLContentElement.cpp: Removed.
3772         * html/shadow/HTMLContentElement.h: Removed.
3773         * html/shadow/HTMLContentElement.idl: Removed.
3774         * html/shadow/InsertionPoint.h:
3775         (WebCore::InsertionPoint::matchTypeFor):
3776         * testing/Internals.cpp:
3777         * testing/Internals.h:
3778         * testing/Internals.idl:
3779
3780 2013-09-24  Benjamin Poulain  <benjamin@webkit.org>
3781
3782         Remove a contradiction from SelectorChecker
3783         https://bugs.webkit.org/show_bug.cgi?id=121881
3784
3785         Reviewed by Andreas Kling.
3786
3787         The matching code for PseudoHover and PseudoActive is done on the current
3788         selector pseudo type. The current selector match type must be CSSSelector::PseudoClass
3789         in order to reach this code. Consequently, selector->m_match == CSSSelector::Tag can
3790         never be true.
3791
3792         * css/SelectorChecker.cpp:
3793         (WebCore::SelectorChecker::checkOne):
3794
3795 2013-09-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3796
3797         Add toWebKitCSS*Value functions to cast from CSSValue
3798         https://bugs.webkit.org/show_bug.cgi?id=121776
3799
3800         Reviewed by Darin Adler.
3801
3802         CSS_VALUE_TYPE_CASTS can't cover WebKitCSS*Value classes. So, this patch adds toWebKitCSS*Value manually.
3803
3804         No new tests, no behavior change.
3805
3806         * css/CSSValue.cpp:
3807         (WebCore::CSSValue::destroy):
3808         * css/StyleResolver.cpp:
3809         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
3810         (WebCore::StyleResolver::createFilterOperations):
3811         * css/TransformFunctions.cpp:
3812         (WebCore::transformsForValue):
3813         * css/WebKitCSSArrayFunctionValue.h:
3814         (WebCore::toWebKitCSSArrayFunctionValue):
3815         * css/WebKitCSSFilterValue.h:
3816         (WebCore::toWebKitCSSFilterValue):
3817         * css/WebKitCSSMatFunctionValue.h:
3818         (WebCore::toWebKitCSSMatFunctionValue):
3819         * css/WebKitCSSMixFunctionValue.h:
3820         (WebCore::toWebKitCSSMixFunctionValue):
3821         * css/WebKitCSSSVGDocumentValue.h:
3822         (WebCore::toWebKitCSSSVGDocumentValue):
3823         * css/WebKitCSSShaderValue.h:
3824         (WebCore::toWebKitCSSShaderValue):
3825         * css/WebKitCSSTransformValue.h:
3826         (WebCore::toWebKitCSSTransformValue):
3827
3828 2013-09-24  Antti Koivisto  <antti@apple.com>
3829
3830         Clean up some uses of first/lastChildSlow
3831         https://bugs.webkit.org/show_bug.cgi?id=121882
3832
3833         Reviewed by Andreas Kling.
3834
3835         Tighten typing and use first/lastChild instead.
3836
3837         * dom/Position.cpp:
3838         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
3839         (WebCore::Position::isCandidate):
3840         (WebCore::Position::getInlineBoxAndOffset):
3841         * dom/Position.h:
3842         * dom/PositionIterator.cpp:
3843         (WebCore::PositionIterator::isCandidate):
3844         * editing/CompositeEditCommand.cpp:
3845         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
3846         * rendering/RenderBlock.cpp:
3847         (WebCore::canMergeAnonymousBlock):
3848         (WebCore::canMergeContiguousAnonymousBlocks):
3849         (WebCore::RenderBlock::firstLineBlock):
3850         (WebCore::RenderBlock::updateFirstLetter):
3851         * rendering/RenderRegion.cpp:
3852         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
3853         (WebCore::RenderRegion::computeChildrenStyleInRegion):
3854         * rendering/RenderRegion.h:
3855         * rendering/RenderRuby.cpp:
3856         (WebCore::rubyBeforeBlock):
3857         (WebCore::rubyAfterBlock):
3858         (WebCore::lastRubyRun):
3859         * rendering/RenderTreeAsText.cpp:
3860         (WebCore::write):
3861         (WebCore::writeCounterValuesFromChildren):
3862         * rendering/svg/RenderSVGText.cpp:
3863         (WebCore::findPreviousAndNextAttributes):
3864         * style/StyleResolveTree.cpp:
3865         (WebCore::Style::textRendererIsNeeded):
3866
3867 2013-09-24  Mark Lam  <mark.lam@apple.com>
3868
3869         Change JSC debug hooks to pass a CallFrame* instead of a DebuggerCallFrame.
3870         https://bugs.webkit.org/show_bug.cgi?id=121867.
3871
3872         Reviewed by Geoffrey Garen.
3873
3874         No new tests.
3875
3876         * bindings/js/ScriptDebugServer.cpp:
3877         (WebCore::ScriptDebugServer::createCallFrame):
3878         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
3879         (WebCore::ScriptDebugServer::callEvent):
3880         (WebCore::ScriptDebugServer::atStatement):
3881         (WebCore::ScriptDebugServer::returnEvent):
3882         (WebCore::ScriptDebugServer::exception):
3883         (WebCore::ScriptDebugServer::willExecuteProgram):
3884         (WebCore::ScriptDebugServer::didExecuteProgram):
3885         (WebCore::ScriptDebugServer::didReachBreakpoint):
3886         * bindings/js/ScriptDebugServer.h:
3887         * bindings/js/WorkerScriptDebugServer.cpp:
3888         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
3889         * bindings/js/WorkerScriptDebugServer.h:
3890
3891 2013-09-24  Andreas Kling  <akling@apple.com>
3892
3893         Move keyboard event dispatch from Node to Element.
3894         <https://webkit.org/b/121873>
3895
3896         Reviewed by Antti Koivisto.
3897
3898         We only dispatch keyboard events on Elements so that logic shouldn't be in Node.
3899
3900         * dom/Document.cpp:
3901         (WebCore::eventTargetElementForDocument):
3902
3903             Reworked to return Element instead of Node.
3904
3905         * dom/Document.h:
3906         * dom/Element.h:
3907         * dom/Element.cpp:
3908         (WebCore::Element::dispatchKeyEvent):
3909
3910             Moved from Node to Element.
3911
3912         * editing/AlternativeTextController.cpp:
3913         (WebCore::AlternativeTextController::insertDictatedText):
3914         * page/EventHandler.cpp:
3915         (WebCore::EventHandler::keyEvent):
3916         (WebCore::EventHandler::handleTextInputEvent):
3917
3918             Adjusted for above changes.
3919
3920 2013-09-24  Zoltan Horvath  <zoltan@webkit.org>
3921
3922         [CSS Shapes] Modify updateSegmentsForShapes function to use logical coordinates
3923         https://bugs.webkit.org/show_bug.cgi?id=121864
3924
3925         Reviewed by David Hyatt.
3926
3927         When I landed updateSegmentsForShapes in r156022, I didn't use logical coordinates. This change modifies the
3928         code to use coordinates for positioning the float and the content around the float in a shape-inside. Now I
3929         added only one writing mode tests, but I will add more later in bug #121866.
3930
3931         Test: fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-vertical-lr-inline-content.html
3932
3933         * rendering/FloatingObjects.h:
3934         (WebCore::FloatingObject::logicalHeight):
3935         * rendering/RenderBlock.cpp:
3936         (WebCore::RenderBlock::computeLogicalLocationForFloat):
3937         * rendering/RenderBlockLineLayout.cpp:
3938         (WebCore::updateSegmentsForShapes):
3939
3940 2013-09-24  Brady Eidson  <beidson@apple.com>
3941
3942         Remove IDBTransactionCallbacks.h from the .xcodeproj, as it's gone from the repository.
3943
3944         Rubberstamped by Anders Carlsson and Alexey Proskuryakov.
3945
3946         * WebCore.xcodeproj/project.pbxproj:
3947
3948 2013-09-24  Antti Koivisto  <antti@apple.com>
3949
3950         Tighten table rendering code
3951         https://bugs.webkit.org/show_bug.cgi?id=121860
3952
3953         Reviewed by Andreas Kling.
3954
3955         Hide firstChild/lastChild/nextSibling/previousSibling in table renderers, 
3956         expose correctly typed firstRow/nextCell etc instead.
3957
3958 2013-09-24  Dean Jackson  <dino@apple.com>
3959
3960         Implement symbol name hashing for WebGL shaders
3961         https://bugs.webkit.org/show_bug.cgi?id=121849
3962
3963         Reviewed by Anders Carlsson.
3964
3965         Turn on ANGLE's symbol name mapping for shader programs.
3966         This avoids compilation failures (or worse, crashers)
3967         on some hardware that doesn't like it when shaders redefine
3968         symbols like "sin", even though that is valid.
3969
3970         The way ANGLE exposes this is via setting a pointer
3971         to a char* -> uint64_t hash function. Since we only have
3972         a 32-bit hash in WebKit, I combine the 32-bit value with
3973         a counter value that exists over the lifetime of a GC3D context.
3974         Before calling ANGLE, I point the global hash map to the local
3975         hash map, and then clean up after we're done. This introduces
3976         a memory hit, in that the symbol table will build up until
3977         the context is released.
3978
3979         Covered by Khronos WebGL tests, including
3980         conformance/glsl/misc/shader-with-non-reserved-words.html
3981
3982         * platform/graphics/GraphicsContext3D.h: Define a ShaderNameHash type,
3983         and add an OwnPtr to one as a member variable.
3984         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3985         (WebCore::nameHashForShader): Global function used for ANGLE hashing.
3986         (WebCore::GraphicsContext3D::compileShader): Set up the ANGLE properties,
3987         point to the local hash map, and call compile/translate.
3988
3989 2013-09-24  Dean Jackson  <dino@apple.com>
3990
3991         Use mapped name in attribute location binding
3992         https://bugs.webkit.org/show_bug.cgi?id=121847
3993         <rdar://problem/15067526>
3994
3995         Reviewed by Eric Carlson.
3996
3997         The shader that we send down to OpenGL to compile
3998         may have been translated by ANGLE, so we keep a
3999         table around that maps input symbols to output symbols.
4000         We used the table when binding to and looking up
4001         uniforms, and when looking up attributes, but not
4002         when actually binding to attribute locations.
4003
4004         Test: fast/canvas/webgl/gl-bind-attrib-mapped-names.html
4005
4006         * platform/graphics/ANGLEWebKitBridge.cpp:
4007         (WebCore::getSymbolInfo): Add logging of symbol mapping.
4008         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
4009         (WebCore::GraphicsContext3D::bindAttribLocation):