CTTE: ImageLoader is always owned by an Element.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-02-05  Andreas Kling  <akling@apple.com>
2
3         CTTE: ImageLoader is always owned by an Element.
4         <https://webkit.org/b/128254>
5
6         - Codify this by making the constructor take Element& or better.
7         - Make element() return Element&.
8         - Marked HTMLImageLoader and SVGImageLoader final.
9         - Made the ImageLoader constructor protected.
10
11         Reviewed by Sam Weinig.
12
13         * html/HTMLEmbedElement.cpp:
14         (WebCore::HTMLEmbedElement::parseAttribute):
15         * html/HTMLImageElement.cpp:
16         (WebCore::HTMLImageElement::HTMLImageElement):
17         * html/HTMLImageLoader.cpp:
18         (WebCore::HTMLImageLoader::HTMLImageLoader):
19         (WebCore::HTMLImageLoader::dispatchLoadEvent):
20         (WebCore::HTMLImageLoader::sourceURI):
21         (WebCore::HTMLImageLoader::notifyFinished):
22         * html/HTMLImageLoader.h:
23         * html/HTMLInputElement.cpp:
24         (WebCore::HTMLInputElement::imageLoader):
25         * html/HTMLObjectElement.cpp:
26         (WebCore::HTMLObjectElement::parseAttribute):
27         * html/HTMLPlugInImageElement.cpp:
28         (WebCore::HTMLPlugInImageElement::startLoadingImage):
29         * html/HTMLVideoElement.cpp:
30         (WebCore::HTMLVideoElement::didAttachRenderers):
31         (WebCore::HTMLVideoElement::parseAttribute):
32         * loader/ImageLoader.cpp:
33         (WebCore::ImageLoader::ImageLoader):
34         (WebCore::ImageLoader::~ImageLoader):
35         (WebCore::ImageLoader::updateFromElement):
36         (WebCore::ImageLoader::notifyFinished):
37         (WebCore::ImageLoader::renderImageResource):
38         (WebCore::ImageLoader::updatedHasPendingEvent):
39         (WebCore::ImageLoader::timerFired):
40         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
41         (WebCore::ImageLoader::dispatchPendingLoadEvent):
42         (WebCore::ImageLoader::dispatchPendingErrorEvent):
43         * loader/ImageLoader.h:
44         (WebCore::ImageLoader::element):
45         * svg/SVGImageElement.cpp:
46         (WebCore::SVGImageElement::SVGImageElement):
47         * svg/SVGImageLoader.cpp:
48         (WebCore::SVGImageLoader::SVGImageLoader):
49         (WebCore::SVGImageLoader::~SVGImageLoader):
50         (WebCore::SVGImageLoader::dispatchLoadEvent):
51         (WebCore::SVGImageLoader::sourceURI):
52         * svg/SVGImageLoader.h:
53
54 2014-02-05  Sergio Correia  <sergio.correia@openbossa.org>
55
56         SVG preserveAspectRatio=none is not honored.
57         https://bugs.webkit.org/show_bug.cgi?id=111402
58
59         Reviewed by Andreas Kling.
60
61         Previously, preserveAspectRatio=none had no effect on SVG images. This change fixes this so
62         we follow the special handling of preserveAspectRatio on images as defined in the spec:
63         http://www.w3.org/TR/SVG/single-page.html, 7.8 The ‘preserveAspectRatio’ attribute.
64
65         Images that depend on a container size (such as SVG images) require a call to
66         setContainerSizeForRenderer(...) to set this size. By passing the image's intrinsic size
67         as the container size, the non-uniform scaling defined in the spec will be achieved.
68
69         Merged from Blink: https://chromiumcodereview.appspot.com/14964004
70
71         Test: svg/custom/image-with-preserveAspectRatio-none.html
72
73         * rendering/svg/RenderSVGImage.cpp:
74         (WebCore::RenderSVGImage::updateImageViewport):
75
76 2014-02-05  Zoltan Horvath  <zoltan@webkit.org>
77
78         [CSS Shapes] Simplify CSSBasicShapeInset::cssText
79         https://bugs.webkit.org/show_bug.cgi?id=127841
80
81         Reviewed by David Hyatt.
82
83         I introduced the updateCornerRadiusWidthAndHeight helper function, which makes the code of cssText method clearer.
84
85         No new tests, no behavior change.
86
87         * css/CSSBasicShapes.cpp:
88         (WebCore::updateCornerRadiusWidthAndHeight): Add helper function.
89         (WebCore::CSSBasicShapeInset::cssText):
90
91 2014-02-05  Zoltan Horvath  <zoltan@webkit.org>
92
93         [CSS Shapes] Simplify BasicShapeInset::path
94         https://bugs.webkit.org/show_bug.cgi?id=127920
95
96         Reviewed by David Hyatt.
97
98         I introduced a new static helper function called floatSizeForLengthSize
99         in order to simplify BasicShapeInset::path method.
100
101         No new tests, no behavior change.
102
103         * rendering/style/BasicShapes.cpp:
104         (WebCore::floatSizeForLengthSize): New helper function.
105         (WebCore::BasicShapeInset::path):
106
107 2014-02-05  Wojciech Bielawski  <w.bielawski@samsung.com>
108
109         XMLHttpRequest performs too many copies for ArrayBuffer results
110         https://bugs.webkit.org/show_bug.cgi?id=117458
111
112         Reviewed by Alexey Proskuryakov.
113
114         Based on blink change: https://chromium.googlesource.com/chromium/blink/+/bed266aa5a43f7c080c87e527bd35e2b80ecc7b7
115
116         Add SharedBuffer::createArrayBuffer() and use it to create XMLHttpRequest's response in ArrayBuffer
117         This cuts
118             - two memsets (in ArrayBuffer::create and SharedBuffer::m_buffer::resize)
119             - one copy (SharedBuffer::m_buffer to ArrayBufferContents::m_data)
120             - one allocation (SharedBuffer::m_buffer)
121
122         No new tests. WebKit desn't provide test mechanism similar to blink's one.
123
124         * platform/SharedBuffer.cpp:
125         (WebCore::SharedBuffer::createArrayBuffer):
126         * platform/SharedBuffer.h:
127         * xml/XMLHttpRequest.cpp:
128         (WebCore::XMLHttpRequest::responseArrayBuffer):
129
130 2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
131
132         Remove ENABLE(SVG) guards
133         https://bugs.webkit.org/show_bug.cgi?id=127991
134
135         Reviewed by Sam Weinig.
136
137         * CMakeLists.txt:
138         * Configurations/FeatureDefines.xcconfig:
139         * DerivedSources.make:
140         * GNUmakefile.am:
141         * UseJSC.cmake:
142         * WebCore.exp.in:
143         * accessibility/AXObjectCache.cpp:
144         (WebCore::createFromRenderer):
145         * accessibility/AccessibilityNodeObject.cpp:
146         (WebCore::AccessibilityNodeObject::alternativeText):
147         (WebCore::AccessibilityNodeObject::accessibilityDescription):
148         * accessibility/AccessibilityRenderObject.cpp:
149         (WebCore::AccessibilityRenderObject::boundingBoxRect):
150         (WebCore::AccessibilityRenderObject::supportsPath):
151         (WebCore::AccessibilityRenderObject::elementPath):
152         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
153         (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
154         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
155         (-[WebAccessibilityObjectWrapper isSVGGroupElement]):
156         * bindings/gobject/GNUmakefile.am:
157         * bindings/js/JSCSSValueCustom.cpp:
158         (WebCore::toJS):
159         * bindings/js/JSDocumentCustom.cpp:
160         (WebCore::toJS):
161         * bindings/js/JSElementCustom.cpp:
162         (WebCore::toJSNewlyCreated):
163         * bindings/js/JSExceptionBase.cpp:
164         (WebCore::toExceptionBase):
165         * bindings/js/JSNodeCustom.cpp:
166         (WebCore::createWrapperInline):
167         * bindings/js/JSSVGElementInstanceCustom.cpp:
168         * bindings/js/JSSVGLengthCustom.cpp:
169         * bindings/js/JSSVGPathSegCustom.cpp:
170         * css/CSSComputedStyleDeclaration.cpp:
171         (WebCore::ComputedStyleExtractor::propertyValue):
172         * css/CSSComputedStyleDeclaration.h:
173         * css/CSSCursorImageValue.cpp:
174         (WebCore::resourceReferencedByCursorElement):
175         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
176         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
177         (WebCore::CSSCursorImageValue::cachedImage):
178         (WebCore::CSSCursorImageValue::removeReferencedElement):
179         * css/CSSCursorImageValue.h:
180         * css/CSSDefaultStyleSheets.cpp:
181         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
182         * css/CSSFontSelector.cpp:
183         * css/CSSParser.cpp:
184         (WebCore::CSSParser::parseValue):
185         (WebCore::CSSParser::parseClipPath):
186         (WebCore::CSSParser::parseShadow):
187         (WebCore::CSSParser::parseFilter):
188         (WebCore::CSSParser::realLex):
189         * css/CSSParser.h:
190         * css/CSSPrimitiveValueMappings.h:
191         * css/CSSStyleSheet.cpp:
192         (WebCore::isAcceptableCSSStyleSheetParent):
193         * css/CSSValue.cpp:
194         (WebCore::CSSValue::equals):
195         (WebCore::CSSValue::cssText):
196         (WebCore::CSSValue::destroy):
197         (WebCore::CSSValue::cloneForCSSOM):
198         * css/CSSValue.h:
199         (WebCore::CSSValue::isSubtypeExposedToCSSOM):
200         * css/CSSValueKeywords.in:
201         * css/DeprecatedStyleBuilder.cpp:
202         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
203         (WebCore::ApplyPropertyClipPath::applyValue):
204         * css/ElementRuleCollector.cpp:
205         (WebCore::ElementRuleCollector::matchAllRules):
206         * css/SVGCSSComputedStyleDeclaration.cpp:
207         * css/SVGCSSParser.cpp:
208         * css/SVGCSSPropertyNames.in:
209         * css/SVGCSSStyleSelector.cpp:
210         * css/StyleProperties.cpp:
211         (WebCore::StyleProperties::getPropertyValue):
212         * css/StylePropertyShorthand.cpp:
213         (WebCore::markerShorthand):
214         (WebCore::shorthandForProperty):
215         (WebCore::matchingShorthandsForLonghand):
216         * css/StylePropertyShorthand.h:
217         * css/StyleResolver.cpp:
218         (WebCore::StyleResolver::State::clear):
219         (WebCore::StyleResolver::locateCousinList):
220         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
221         (WebCore::StyleResolver::canShareStyleWithElement):
222         (WebCore::StyleResolver::locateSharedStyle):
223         (WebCore::StyleResolver::adjustRenderStyle):
224         (WebCore::isValidVisitedLinkProperty):
225         (WebCore::StyleResolver::applyProperty):
226         (WebCore::StyleResolver::loadPendingSVGDocuments):
227         (WebCore::StyleResolver::createFilterOperations):
228         (WebCore::StyleResolver::loadPendingResources):
229         * css/StyleResolver.h:
230         * dom/DOMExceptions.in:
231         * dom/DOMImplementation.cpp:
232         (WebCore::addString):
233         (WebCore::isSupportedSVG11Feature):
234         (WebCore::DOMImplementation::hasFeature):
235         (WebCore::DOMImplementation::createDocument):
236         * dom/Document.cpp:
237         (WebCore::Document::commonTeardown):
238         (WebCore::Document::createElement):
239         (WebCore::Document::implicitClose):
240         (WebCore::Document::hasSVGRootNode):
241         * dom/Document.h:
242         * dom/DocumentStyleSheetCollection.cpp:
243         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
244         * dom/Element.cpp:
245         (WebCore::Element::~Element):
246         (WebCore::Element::synchronizeAllAttributes):
247         (WebCore::Element::synchronizeAttribute):
248         (WebCore::Element::boundsInRootViewSpace):
249         (WebCore::Element::getBoundingClientRect):
250         (WebCore::Element::removedFrom):
251         (WebCore::Element::childShouldCreateRenderer):
252         (WebCore::Element::fastAttributeLookupAllowed):
253         (WebCore::Element::clearHasPendingResources):
254         * dom/Element.h:
255         * dom/ElementData.h:
256         * dom/ElementRareData.h:
257         (WebCore::ElementRareData::ElementRareData):
258         * dom/EventDispatcher.cpp:
259         (WebCore::eventTargetRespectingTargetRules):
260         * dom/EventListenerMap.cpp:
261         * dom/EventListenerMap.h:
262         * dom/EventNames.in:
263         * dom/EventTargetFactory.in:
264         * dom/QualifiedName.cpp:
265         * dom/ScriptElement.cpp:
266         (WebCore::toScriptElementIfPossible):
267         * dom/Text.cpp:
268         (WebCore::isSVGText):
269         (WebCore::Text::createTextRenderer):
270         * history/CachedFrame.cpp:
271         (WebCore::CachedFrameBase::restore):
272         * html/HTMLAnchorElement.cpp:
273         (WebCore::shouldProhibitLinks):
274         * html/HTMLEmbedElement.idl:
275         * html/HTMLFrameElement.idl:
276         * html/HTMLFrameOwnerElement.cpp:
277         (WebCore::HTMLFrameOwnerElement::getSVGDocument):
278         * html/HTMLFrameOwnerElement.h:
279         * html/HTMLIFrameElement.idl:
280         * html/HTMLObjectElement.idl:
281         * html/canvas/DOMPath.h:
282         (WebCore::DOMPath::create):
283         * html/canvas/DOMPath.idl:
284         * html/parser/XSSAuditor.cpp:
285         (WebCore::isSemicolonSeparatedAttribute):
286         * inspector/DOMPatchSupport.cpp:
287         (WebCore::DOMPatchSupport::patchDocument):
288         * inspector/InspectorCSSAgent.cpp:
289         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
290         * inspector/InspectorDOMAgent.cpp:
291         (WebCore::InspectorDOMAgent::setOuterHTML):
292         * inspector/InspectorOverlay.cpp:
293         * inspector/InspectorStyleSheet.cpp:
294         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
295         * loader/FrameLoader.cpp:
296         * loader/ImageLoader.cpp:
297         (WebCore::ImageLoader::renderImageResource):
298         * loader/cache/CachedImage.cpp:
299         (WebCore::CachedImage::didRemoveClient):
300         (WebCore::CachedImage::imageForRenderer):
301         (WebCore::CachedImage::setContainerSizeForRenderer):
302         (WebCore::CachedImage::imageSizeForRenderer):
303         (WebCore::CachedImage::createImage):
304         * loader/cache/CachedImage.h:
305         * loader/cache/CachedResource.cpp:
306         (WebCore::defaultPriorityForResourceType):
307         * loader/cache/CachedResource.h:
308         * loader/cache/CachedResourceClient.h:
309         * loader/cache/CachedResourceLoader.cpp:
310         (WebCore::createResource):
311         (WebCore::CachedResourceLoader::requestSVGDocument):
312         (WebCore::CachedResourceLoader::checkInsecureContent):
313         (WebCore::CachedResourceLoader::canRequest):
314         * loader/cache/CachedResourceLoader.h:
315         * loader/cache/CachedSVGDocument.cpp:
316         * loader/cache/CachedSVGDocument.h:
317         * loader/cache/CachedSVGDocumentClient.h:
318         * loader/cache/CachedSVGDocumentReference.cpp:
319         * loader/cache/CachedSVGDocumentReference.h:
320         * page/EventHandler.cpp:
321         (WebCore::EventHandler::EventHandler):
322         (WebCore::EventHandler::clear):
323         (WebCore::EventHandler::handleMousePressEvent):
324         (WebCore::EventHandler::updateSelectionForMouseDrag):
325         (WebCore::EventHandler::handleMouseMoveEvent):
326         (WebCore::EventHandler::handleMouseReleaseEvent):
327         (WebCore::instanceAssociatedWithShadowTreeElement):
328         (WebCore::EventHandler::updateMouseEventTargetNode):
329         * page/EventHandler.h:
330         * page/Frame.cpp:
331         (WebCore::Frame::setPageAndTextZoomFactors):
332         * page/FrameView.cpp:
333         (WebCore::FrameView::applyOverflowToViewport):
334         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
335         (WebCore::FrameView::embeddedContentBox):
336         (WebCore::FrameView::scrollToAnchor):
337         * page/animation/CSSPropertyAnimation.cpp:
338         (WebCore::blendFunc):
339         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
340         * platform/MIMETypeRegistry.cpp:
341         (WebCore::initializeSupportedNonImageMimeTypes):
342         * platform/graphics/TextRun.cpp:
343         * platform/graphics/TextRun.h:
344         (WebCore::TextRun::TextRun):
345         * platform/graphics/WidthIterator.cpp:
346         (WebCore::WidthIterator::advanceInternal):
347         * platform/graphics/filters/FETile.cpp:
348         (WebCore::FETile::platformApplySoftware):
349         * platform/graphics/filters/FilterOperation.cpp:
350         (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
351         * platform/graphics/filters/FilterOperation.h:
352         * platform/gtk/PasteboardGtk.cpp:
353         (WebCore::getURLForImageElement):
354         * rendering/FilterEffectRenderer.cpp:
355         (WebCore::FilterEffectRenderer::buildReferenceFilter):
356         * rendering/HitTestLocation.cpp:
357         * rendering/HitTestResult.cpp:
358         (WebCore::HitTestResult::absoluteImageURL):
359         (WebCore::HitTestResult::absoluteLinkURL):
360         (WebCore::HitTestResult::isLiveLink):
361         * rendering/InlineBox.h:
362         * rendering/LogicalSelectionOffsetCaches.h:
363         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
364         * rendering/PaintInfo.h:
365         (WebCore::PaintInfo::applyTransform):
366         * rendering/RenderBlockLineLayout.cpp:
367         (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
368         * rendering/RenderBoxModelObject.cpp:
369         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
370         * rendering/RenderElement.cpp:
371         (WebCore::RenderElement::addChild):
372         (WebCore::RenderElement::layerCreationAllowedForSubtree):
373         (WebCore::RenderElement::styleDidChange):
374         * rendering/RenderGeometryMap.cpp:
375         (WebCore::canMapBetweenRenderers):
376         * rendering/RenderImage.cpp:
377         (WebCore::RenderImage::embeddedContentBox):
378         * rendering/RenderLayer.cpp:
379         (WebCore::RenderLayer::isTransparent):
380         (WebCore::RenderLayer::setupClipPath):
381         (WebCore::RenderLayer::calculateClipRects):
382         * rendering/RenderLayer.h:
383         * rendering/RenderLayerFilterInfo.cpp:
384         (WebCore::RenderLayer::FilterInfo::~FilterInfo):
385         * rendering/RenderLayerFilterInfo.h:
386         * rendering/RenderNamedFlowThread.cpp:
387         (WebCore::nextNodeInsideContentElement):
388         * rendering/RenderObject.cpp:
389         (WebCore::objectIsRelayoutBoundary):
390         (WebCore::RenderObject::container):
391         (WebCore::RenderObject::willBeRemovedFromTree):
392         * rendering/RenderObject.h:
393         (WebCore::RenderObject::canContainFixedPositionObjects):
394         (WebCore::RenderObject::preservesNewline):
395         * rendering/RenderTreeAsText.cpp:
396         (WebCore::write):
397         * rendering/RenderView.cpp:
398         (WebCore::RenderView::layout):
399         * rendering/RootInlineBox.cpp:
400         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
401         * rendering/SimpleLineLayout.cpp:
402         (WebCore::SimpleLineLayout::canUseFor):
403         * rendering/line/BreakingContextInlineHeaders.h:
404         (WebCore::BreakingContext::initializeForCurrentObject):
405         (WebCore::BreakingContext::handleText):
406         * rendering/style/RenderStyle.cpp:
407         (WebCore::RenderStyle::RenderStyle):
408         (WebCore::RenderStyle::inheritFrom):
409         (WebCore::RenderStyle::copyNonInheritedFrom):
410         (WebCore::RenderStyle::operator==):
411         (WebCore::RenderStyle::inheritedNotEqual):
412         (WebCore::RenderStyle::inheritedDataShared):
413         (WebCore::RenderStyle::diff):
414         * rendering/style/RenderStyle.h:
415         * rendering/style/SVGRenderStyle.cpp:
416         * rendering/style/SVGRenderStyle.h:
417         * rendering/style/SVGRenderStyleDefs.cpp:
418         * rendering/style/SVGRenderStyleDefs.h:
419         * rendering/svg/RenderSVGBlock.cpp:
420         * rendering/svg/RenderSVGBlock.h:
421         * rendering/svg/RenderSVGContainer.cpp:
422         * rendering/svg/RenderSVGContainer.h:
423         * rendering/svg/RenderSVGEllipse.cpp:
424         * rendering/svg/RenderSVGEllipse.h:
425         * rendering/svg/RenderSVGForeignObject.cpp:
426         * rendering/svg/RenderSVGForeignObject.h:
427         * rendering/svg/RenderSVGGradientStop.cpp:
428         * rendering/svg/RenderSVGGradientStop.h:
429         * rendering/svg/RenderSVGHiddenContainer.cpp:
430         * rendering/svg/RenderSVGHiddenContainer.h:
431         * rendering/svg/RenderSVGImage.cpp:
432         * rendering/svg/RenderSVGImage.h:
433         * rendering/svg/RenderSVGInline.cpp:
434         * rendering/svg/RenderSVGInline.h:
435         * rendering/svg/RenderSVGInlineText.cpp:
436         * rendering/svg/RenderSVGInlineText.h:
437         * rendering/svg/RenderSVGModelObject.cpp:
438         * rendering/svg/RenderSVGModelObject.h:
439         * rendering/svg/RenderSVGPath.cpp:
440         * rendering/svg/RenderSVGPath.h:
441         * rendering/svg/RenderSVGRect.cpp:
442         * rendering/svg/RenderSVGRect.h:
443         * rendering/svg/RenderSVGResource.cpp:
444         * rendering/svg/RenderSVGResource.h:
445         * rendering/svg/RenderSVGResourceClipper.cpp:
446         * rendering/svg/RenderSVGResourceClipper.h:
447         * rendering/svg/RenderSVGResourceContainer.cpp:
448         * rendering/svg/RenderSVGResourceContainer.h:
449         * rendering/svg/RenderSVGResourceFilter.cpp:
450         * rendering/svg/RenderSVGResourceFilter.h:
451         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
452         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
453         * rendering/svg/RenderSVGResourceGradient.cpp:
454         (WebCore::RenderSVGResourceGradient::applyResource):
455         * rendering/svg/RenderSVGResourceGradient.h:
456         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
457         * rendering/svg/RenderSVGResourceLinearGradient.h:
458         * rendering/svg/RenderSVGResourceMarker.cpp:
459         * rendering/svg/RenderSVGResourceMarker.h:
460         * rendering/svg/RenderSVGResourceMasker.cpp:
461         * rendering/svg/RenderSVGResourceMasker.h:
462         * rendering/svg/RenderSVGResourcePattern.cpp:
463         * rendering/svg/RenderSVGResourcePattern.h:
464         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
465         * rendering/svg/RenderSVGResourceRadialGradient.h:
466         * rendering/svg/RenderSVGResourceSolidColor.cpp:
467         * rendering/svg/RenderSVGResourceSolidColor.h:
468         * rendering/svg/RenderSVGRoot.cpp:
469         * rendering/svg/RenderSVGRoot.h:
470         * rendering/svg/RenderSVGShape.cpp:
471         * rendering/svg/RenderSVGShape.h:
472         * rendering/svg/RenderSVGTSpan.h:
473         * rendering/svg/RenderSVGText.cpp:
474         * rendering/svg/RenderSVGText.h:
475         * rendering/svg/RenderSVGTextPath.cpp:
476         * rendering/svg/RenderSVGTextPath.h:
477         * rendering/svg/RenderSVGTransformableContainer.cpp:
478         * rendering/svg/RenderSVGTransformableContainer.h:
479         * rendering/svg/RenderSVGViewportContainer.cpp:
480         * rendering/svg/RenderSVGViewportContainer.h:
481         * rendering/svg/SVGInlineFlowBox.cpp:
482         * rendering/svg/SVGInlineFlowBox.h:
483         * rendering/svg/SVGInlineTextBox.cpp:
484         * rendering/svg/SVGInlineTextBox.h:
485         * rendering/svg/SVGMarkerData.h:
486         * rendering/svg/SVGPathData.cpp:
487         * rendering/svg/SVGPathData.h:
488         * rendering/svg/SVGRenderSupport.cpp:
489         * rendering/svg/SVGRenderSupport.h:
490         * rendering/svg/SVGRenderTreeAsText.cpp:
491         * rendering/svg/SVGRenderTreeAsText.h:
492         * rendering/svg/SVGRenderingContext.cpp:
493         * rendering/svg/SVGRenderingContext.h:
494         * rendering/svg/SVGResources.cpp:
495         * rendering/svg/SVGResources.h:
496         * rendering/svg/SVGResourcesCache.cpp:
497         * rendering/svg/SVGResourcesCache.h:
498         * rendering/svg/SVGResourcesCycleSolver.cpp:
499         * rendering/svg/SVGResourcesCycleSolver.h:
500         * rendering/svg/SVGRootInlineBox.cpp:
501         * rendering/svg/SVGRootInlineBox.h:
502         * rendering/svg/SVGSubpathData.h:
503         * rendering/svg/SVGTextChunk.cpp:
504         * rendering/svg/SVGTextChunk.h:
505         * rendering/svg/SVGTextChunkBuilder.cpp:
506         * rendering/svg/SVGTextChunkBuilder.h:
507         * rendering/svg/SVGTextFragment.h:
508         * rendering/svg/SVGTextLayoutAttributes.cpp:
509         * rendering/svg/SVGTextLayoutAttributes.h:
510         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
511         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
512         * rendering/svg/SVGTextLayoutEngine.cpp:
513         * rendering/svg/SVGTextLayoutEngine.h:
514         * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
515         * rendering/svg/SVGTextLayoutEngineBaseline.h:
516         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
517         * rendering/svg/SVGTextLayoutEngineSpacing.h:
518         * rendering/svg/SVGTextMetrics.cpp:
519         * rendering/svg/SVGTextMetrics.h:
520         * rendering/svg/SVGTextMetricsBuilder.cpp:
521         * rendering/svg/SVGTextMetricsBuilder.h:
522         * rendering/svg/SVGTextQuery.cpp:
523         * rendering/svg/SVGTextQuery.h:
524         * svg/ColorDistance.cpp:
525         * svg/ColorDistance.h:
526         * svg/GradientAttributes.h:
527         * svg/LinearGradientAttributes.h:
528         * svg/PatternAttributes.h:
529         * svg/RadialGradientAttributes.h:
530         * svg/SVGAElement.cpp:
531         * svg/SVGAElement.h:
532         * svg/SVGAElement.idl:
533         * svg/SVGAltGlyphDefElement.cpp:
534         * svg/SVGAltGlyphDefElement.h:
535         * svg/SVGAltGlyphDefElement.idl:
536         * svg/SVGAltGlyphElement.cpp:
537         * svg/SVGAltGlyphElement.h:
538         * svg/SVGAltGlyphElement.idl:
539         * svg/SVGAltGlyphItemElement.cpp:
540         * svg/SVGAltGlyphItemElement.h:
541         * svg/SVGAltGlyphItemElement.idl:
542         * svg/SVGAngle.cpp:
543         * svg/SVGAngle.h:
544         * svg/SVGAngle.idl:
545         * svg/SVGAnimateColorElement.cpp:
546         * svg/SVGAnimateColorElement.h:
547         * svg/SVGAnimateColorElement.idl:
548         * svg/SVGAnimateElement.cpp:
549         * svg/SVGAnimateElement.h:
550         * svg/SVGAnimateElement.idl:
551         * svg/SVGAnimateMotionElement.cpp:
552         * svg/SVGAnimateMotionElement.h:
553         * svg/SVGAnimateMotionElement.idl:
554         * svg/SVGAnimateTransformElement.cpp:
555         * svg/SVGAnimateTransformElement.h:
556         * svg/SVGAnimateTransformElement.idl:
557         * svg/SVGAnimatedAngle.cpp:
558         * svg/SVGAnimatedAngle.h:
559         * svg/SVGAnimatedAngle.idl:
560         * svg/SVGAnimatedBoolean.cpp:
561         * svg/SVGAnimatedBoolean.h:
562         * svg/SVGAnimatedBoolean.idl:
563         * svg/SVGAnimatedColor.cpp:
564         * svg/SVGAnimatedColor.h:
565         * svg/SVGAnimatedEnumeration.cpp:
566         * svg/SVGAnimatedEnumeration.h:
567         * svg/SVGAnimatedEnumeration.idl:
568         * svg/SVGAnimatedInteger.cpp:
569         * svg/SVGAnimatedInteger.h:
570         * svg/SVGAnimatedInteger.idl:
571         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
572         * svg/SVGAnimatedIntegerOptionalInteger.h:
573         * svg/SVGAnimatedLength.cpp:
574         * svg/SVGAnimatedLength.h:
575         * svg/SVGAnimatedLength.idl:
576         * svg/SVGAnimatedLengthList.cpp:
577         * svg/SVGAnimatedLengthList.h:
578         * svg/SVGAnimatedLengthList.idl:
579         * svg/SVGAnimatedNumber.cpp:
580         * svg/SVGAnimatedNumber.h:
581         * svg/SVGAnimatedNumber.idl:
582         * svg/SVGAnimatedNumberList.cpp:
583         * svg/SVGAnimatedNumberList.h:
584         * svg/SVGAnimatedNumberList.idl:
585         * svg/SVGAnimatedNumberOptionalNumber.cpp:
586         * svg/SVGAnimatedNumberOptionalNumber.h:
587         * svg/SVGAnimatedPath.cpp:
588         * svg/SVGAnimatedPath.h:
589         * svg/SVGAnimatedPointList.cpp:
590         * svg/SVGAnimatedPointList.h:
591         * svg/SVGAnimatedPreserveAspectRatio.cpp:
592         * svg/SVGAnimatedPreserveAspectRatio.h:
593         * svg/SVGAnimatedPreserveAspectRatio.idl:
594         * svg/SVGAnimatedRect.cpp:
595         * svg/SVGAnimatedRect.h:
596         * svg/SVGAnimatedRect.idl:
597         * svg/SVGAnimatedString.cpp:
598         * svg/SVGAnimatedString.h:
599         * svg/SVGAnimatedString.idl:
600         * svg/SVGAnimatedTransformList.cpp:
601         * svg/SVGAnimatedTransformList.h:
602         * svg/SVGAnimatedTransformList.idl:
603         * svg/SVGAnimatedType.cpp:
604         * svg/SVGAnimatedType.h:
605         * svg/SVGAnimatedTypeAnimator.cpp:
606         * svg/SVGAnimatedTypeAnimator.h:
607         * svg/SVGAnimationElement.cpp:
608         * svg/SVGAnimationElement.h:
609         * svg/SVGAnimationElement.idl:
610         * svg/SVGAnimatorFactory.h:
611         * svg/SVGCircleElement.cpp:
612         * svg/SVGCircleElement.h:
613         * svg/SVGCircleElement.idl:
614         * svg/SVGClipPathElement.cpp:
615         * svg/SVGClipPathElement.h:
616         * svg/SVGClipPathElement.idl:
617         * svg/SVGColor.cpp:
618         * svg/SVGColor.h:
619         * svg/SVGColor.idl:
620         * svg/SVGComponentTransferFunctionElement.cpp:
621         * svg/SVGComponentTransferFunctionElement.h:
622         * svg/SVGComponentTransferFunctionElement.idl:
623         * svg/SVGCursorElement.cpp:
624         * svg/SVGCursorElement.h:
625         * svg/SVGCursorElement.idl:
626         * svg/SVGDefsElement.cpp:
627         * svg/SVGDefsElement.h:
628         * svg/SVGDefsElement.idl:
629         * svg/SVGDescElement.cpp:
630         * svg/SVGDescElement.h:
631         * svg/SVGDescElement.idl:
632         * svg/SVGDocument.cpp:
633         * svg/SVGDocument.h:
634         * svg/SVGDocument.idl:
635         * svg/SVGDocumentExtensions.cpp:
636         * svg/SVGDocumentExtensions.h:
637         * svg/SVGElement.cpp:
638         * svg/SVGElement.h:
639         * svg/SVGElement.idl:
640         * svg/SVGElementInstance.cpp:
641         * svg/SVGElementInstance.h:
642         * svg/SVGElementInstance.idl:
643         * svg/SVGElementInstanceList.cpp:
644         * svg/SVGElementInstanceList.h:
645         * svg/SVGElementInstanceList.idl:
646         * svg/SVGEllipseElement.cpp:
647         * svg/SVGEllipseElement.h:
648         * svg/SVGEllipseElement.idl:
649         * svg/SVGException.cpp:
650         * svg/SVGException.h:
651         * svg/SVGException.idl:
652         * svg/SVGExternalResourcesRequired.cpp:
653         * svg/SVGExternalResourcesRequired.h:
654         * svg/SVGExternalResourcesRequired.idl:
655         * svg/SVGFEBlendElement.cpp:
656         * svg/SVGFEBlendElement.h:
657         * svg/SVGFEBlendElement.idl:
658         * svg/SVGFEColorMatrixElement.cpp:
659         * svg/SVGFEColorMatrixElement.h:
660         * svg/SVGFEColorMatrixElement.idl:
661         * svg/SVGFEComponentTransferElement.cpp:
662         * svg/SVGFEComponentTransferElement.h:
663         * svg/SVGFEComponentTransferElement.idl:
664         * svg/SVGFECompositeElement.cpp:
665         * svg/SVGFECompositeElement.h:
666         * svg/SVGFECompositeElement.idl:
667         * svg/SVGFEConvolveMatrixElement.cpp:
668         * svg/SVGFEConvolveMatrixElement.h:
669         * svg/SVGFEConvolveMatrixElement.idl:
670         * svg/SVGFEDiffuseLightingElement.cpp:
671         * svg/SVGFEDiffuseLightingElement.h:
672         * svg/SVGFEDiffuseLightingElement.idl:
673         * svg/SVGFEDisplacementMapElement.cpp:
674         * svg/SVGFEDisplacementMapElement.h:
675         * svg/SVGFEDisplacementMapElement.idl:
676         * svg/SVGFEDistantLightElement.cpp:
677         * svg/SVGFEDistantLightElement.h:
678         * svg/SVGFEDistantLightElement.idl:
679         * svg/SVGFEDropShadowElement.cpp:
680         * svg/SVGFEDropShadowElement.h:
681         * svg/SVGFEDropShadowElement.idl:
682         * svg/SVGFEFloodElement.cpp:
683         * svg/SVGFEFloodElement.h:
684         * svg/SVGFEFloodElement.idl:
685         * svg/SVGFEFuncAElement.cpp:
686         * svg/SVGFEFuncAElement.h:
687         * svg/SVGFEFuncAElement.idl:
688         * svg/SVGFEFuncBElement.cpp:
689         * svg/SVGFEFuncBElement.h:
690         * svg/SVGFEFuncBElement.idl:
691         * svg/SVGFEFuncGElement.cpp:
692         * svg/SVGFEFuncGElement.h:
693         * svg/SVGFEFuncGElement.idl:
694         * svg/SVGFEFuncRElement.cpp:
695         * svg/SVGFEFuncRElement.h:
696         * svg/SVGFEFuncRElement.idl:
697         * svg/SVGFEGaussianBlurElement.cpp:
698         * svg/SVGFEGaussianBlurElement.h:
699         * svg/SVGFEGaussianBlurElement.idl:
700         * svg/SVGFEImageElement.cpp:
701         * svg/SVGFEImageElement.h:
702         * svg/SVGFEImageElement.idl:
703         * svg/SVGFELightElement.cpp:
704         * svg/SVGFELightElement.h:
705         * svg/SVGFEMergeElement.cpp:
706         * svg/SVGFEMergeElement.h:
707         * svg/SVGFEMergeElement.idl:
708         * svg/SVGFEMergeNodeElement.cpp:
709         * svg/SVGFEMergeNodeElement.h:
710         * svg/SVGFEMergeNodeElement.idl:
711         * svg/SVGFEMorphologyElement.cpp:
712         * svg/SVGFEMorphologyElement.h:
713         * svg/SVGFEMorphologyElement.idl:
714         * svg/SVGFEOffsetElement.cpp:
715         * svg/SVGFEOffsetElement.h:
716         * svg/SVGFEOffsetElement.idl:
717         * svg/SVGFEPointLightElement.cpp:
718         * svg/SVGFEPointLightElement.h:
719         * svg/SVGFEPointLightElement.idl:
720         * svg/SVGFESpecularLightingElement.cpp:
721         * svg/SVGFESpecularLightingElement.h:
722         * svg/SVGFESpecularLightingElement.idl:
723         * svg/SVGFESpotLightElement.cpp:
724         * svg/SVGFESpotLightElement.h:
725         * svg/SVGFESpotLightElement.idl:
726         * svg/SVGFETileElement.cpp:
727         * svg/SVGFETileElement.h:
728         * svg/SVGFETileElement.idl:
729         * svg/SVGFETurbulenceElement.cpp:
730         * svg/SVGFETurbulenceElement.h:
731         * svg/SVGFETurbulenceElement.idl:
732         * svg/SVGFilterElement.cpp:
733         * svg/SVGFilterElement.h:
734         * svg/SVGFilterElement.idl:
735         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
736         * svg/SVGFilterPrimitiveStandardAttributes.h:
737         * svg/SVGFilterPrimitiveStandardAttributes.idl:
738         * svg/SVGFitToViewBox.cpp:
739         * svg/SVGFitToViewBox.h:
740         * svg/SVGFitToViewBox.idl:
741         * svg/SVGFontElement.idl:
742         * svg/SVGFontFaceElement.idl:
743         * svg/SVGFontFaceFormatElement.idl:
744         * svg/SVGFontFaceNameElement.cpp:
745         * svg/SVGFontFaceNameElement.idl:
746         * svg/SVGFontFaceSrcElement.idl:
747         * svg/SVGFontFaceUriElement.idl:
748         * svg/SVGForeignObjectElement.cpp:
749         * svg/SVGForeignObjectElement.h:
750         * svg/SVGForeignObjectElement.idl:
751         * svg/SVGGElement.cpp:
752         * svg/SVGGElement.h:
753         * svg/SVGGElement.idl:
754         * svg/SVGGlyphElement.idl:
755         * svg/SVGGlyphRefElement.cpp:
756         * svg/SVGGlyphRefElement.h:
757         * svg/SVGGlyphRefElement.idl:
758         * svg/SVGGradientElement.cpp:
759         * svg/SVGGradientElement.h:
760         * svg/SVGGradientElement.idl:
761         * svg/SVGGraphicsElement.cpp:
762         * svg/SVGGraphicsElement.h:
763         * svg/SVGGraphicsElement.idl:
764         * svg/SVGHKernElement.idl:
765         * svg/SVGImageElement.cpp:
766         * svg/SVGImageElement.h:
767         * svg/SVGImageElement.idl:
768         * svg/SVGImageLoader.cpp:
769         * svg/SVGImageLoader.h:
770         * svg/SVGLangSpace.cpp:
771         * svg/SVGLangSpace.h:
772         * svg/SVGLength.cpp:
773         * svg/SVGLength.h:
774         * svg/SVGLength.idl:
775         * svg/SVGLengthContext.cpp:
776         * svg/SVGLengthContext.h:
777         * svg/SVGLengthList.cpp:
778         * svg/SVGLengthList.h:
779         * svg/SVGLengthList.idl:
780         * svg/SVGLineElement.cpp:
781         * svg/SVGLineElement.h:
782         * svg/SVGLineElement.idl:
783         * svg/SVGLinearGradientElement.cpp:
784         * svg/SVGLinearGradientElement.h:
785         * svg/SVGLinearGradientElement.idl:
786         * svg/SVGLocatable.cpp:
787         * svg/SVGLocatable.h:
788         * svg/SVGMPathElement.cpp:
789         * svg/SVGMPathElement.h:
790         * svg/SVGMPathElement.idl:
791         * svg/SVGMarkerElement.cpp:
792         * svg/SVGMarkerElement.h:
793         * svg/SVGMarkerElement.idl:
794         * svg/SVGMaskElement.cpp:
795         * svg/SVGMaskElement.h:
796         * svg/SVGMaskElement.idl:
797         * svg/SVGMatrix.h:
798         * svg/SVGMatrix.idl:
799         * svg/SVGMetadataElement.cpp:
800         * svg/SVGMetadataElement.h:
801         * svg/SVGMetadataElement.idl:
802         * svg/SVGMissingGlyphElement.idl:
803         * svg/SVGNumber.idl:
804         * svg/SVGNumberList.cpp:
805         * svg/SVGNumberList.h:
806         * svg/SVGNumberList.idl:
807         * svg/SVGPaint.cpp:
808         * svg/SVGPaint.h:
809         * svg/SVGPaint.idl:
810         * svg/SVGParserUtilities.cpp:
811         * svg/SVGParserUtilities.h:
812         * svg/SVGParsingError.h:
813         * svg/SVGPathBlender.cpp:
814         * svg/SVGPathBlender.h:
815         * svg/SVGPathBuilder.cpp:
816         * svg/SVGPathBuilder.h:
817         * svg/SVGPathByteStream.h:
818         * svg/SVGPathByteStreamBuilder.cpp:
819         * svg/SVGPathByteStreamBuilder.h:
820         * svg/SVGPathByteStreamSource.cpp:
821         * svg/SVGPathByteStreamSource.h:
822         * svg/SVGPathConsumer.h:
823         * svg/SVGPathElement.cpp:
824         * svg/SVGPathElement.h:
825         * svg/SVGPathElement.idl:
826         * svg/SVGPathParser.cpp:
827         * svg/SVGPathParser.h:
828         * svg/SVGPathSeg.h:
829         * svg/SVGPathSeg.idl:
830         * svg/SVGPathSegArc.h:
831         * svg/SVGPathSegArcAbs.h:
832         * svg/SVGPathSegArcAbs.idl:
833         * svg/SVGPathSegArcRel.h:
834         * svg/SVGPathSegArcRel.idl:
835         * svg/SVGPathSegClosePath.h:
836         * svg/SVGPathSegClosePath.idl:
837         * svg/SVGPathSegCurvetoCubic.h:
838         * svg/SVGPathSegCurvetoCubicAbs.h:
839         * svg/SVGPathSegCurvetoCubicAbs.idl:
840         * svg/SVGPathSegCurvetoCubicRel.h:
841         * svg/SVGPathSegCurvetoCubicRel.idl:
842         * svg/SVGPathSegCurvetoCubicSmooth.h:
843         * svg/SVGPathSegCurvetoCubicSmoothAbs.h:
844         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
845         * svg/SVGPathSegCurvetoCubicSmoothRel.h:
846         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
847         * svg/SVGPathSegCurvetoQuadratic.h:
848         * svg/SVGPathSegCurvetoQuadraticAbs.h:
849         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
850         * svg/SVGPathSegCurvetoQuadraticRel.h:
851         * svg/SVGPathSegCurvetoQuadraticRel.idl:
852         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
853         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
854         * svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
855         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
856         * svg/SVGPathSegLinetoAbs.h:
857         * svg/SVGPathSegLinetoAbs.idl:
858         * svg/SVGPathSegLinetoHorizontal.h:
859         * svg/SVGPathSegLinetoHorizontalAbs.h:
860         * svg/SVGPathSegLinetoHorizontalAbs.idl:
861         * svg/SVGPathSegLinetoHorizontalRel.h:
862         * svg/SVGPathSegLinetoHorizontalRel.idl:
863         * svg/SVGPathSegLinetoRel.h:
864         * svg/SVGPathSegLinetoRel.idl:
865         * svg/SVGPathSegLinetoVertical.h:
866         * svg/SVGPathSegLinetoVerticalAbs.h:
867         * svg/SVGPathSegLinetoVerticalAbs.idl:
868         * svg/SVGPathSegLinetoVerticalRel.h:
869         * svg/SVGPathSegLinetoVerticalRel.idl:
870         * svg/SVGPathSegList.cpp:
871         * svg/SVGPathSegList.h:
872         * svg/SVGPathSegList.idl:
873         * svg/SVGPathSegListBuilder.cpp:
874         * svg/SVGPathSegListBuilder.h:
875         * svg/SVGPathSegListSource.cpp:
876         * svg/SVGPathSegListSource.h:
877         * svg/SVGPathSegMovetoAbs.h:
878         * svg/SVGPathSegMovetoAbs.idl:
879         * svg/SVGPathSegMovetoRel.h:
880         * svg/SVGPathSegMovetoRel.idl:
881         * svg/SVGPathSegWithContext.h:
882         * svg/SVGPathSource.h:
883         * svg/SVGPathStringBuilder.cpp:
884         * svg/SVGPathStringBuilder.h:
885         * svg/SVGPathStringSource.cpp:
886         * svg/SVGPathStringSource.h:
887         * svg/SVGPathTraversalStateBuilder.cpp:
888         * svg/SVGPathTraversalStateBuilder.h:
889         * svg/SVGPathUtilities.cpp:
890         * svg/SVGPathUtilities.h:
891         * svg/SVGPatternElement.cpp:
892         * svg/SVGPatternElement.h:
893         * svg/SVGPatternElement.idl:
894         * svg/SVGPoint.h:
895         * svg/SVGPoint.idl:
896         * svg/SVGPointList.cpp:
897         * svg/SVGPointList.h:
898         * svg/SVGPointList.idl:
899         * svg/SVGPolyElement.cpp:
900         * svg/SVGPolyElement.h:
901         * svg/SVGPolygonElement.cpp:
902         * svg/SVGPolygonElement.h:
903         * svg/SVGPolygonElement.idl:
904         * svg/SVGPolylineElement.cpp:
905         * svg/SVGPolylineElement.h:
906         * svg/SVGPolylineElement.idl:
907         * svg/SVGPreserveAspectRatio.cpp:
908         * svg/SVGPreserveAspectRatio.h:
909         * svg/SVGPreserveAspectRatio.idl:
910         * svg/SVGRadialGradientElement.cpp:
911         * svg/SVGRadialGradientElement.h:
912         * svg/SVGRadialGradientElement.idl:
913         * svg/SVGRect.h:
914         * svg/SVGRect.idl:
915         * svg/SVGRectElement.cpp:
916         * svg/SVGRectElement.h:
917         * svg/SVGRectElement.idl:
918         * svg/SVGRenderingIntent.h:
919         * svg/SVGRenderingIntent.idl:
920         * svg/SVGSVGElement.cpp:
921         * svg/SVGSVGElement.h:
922         * svg/SVGSVGElement.idl:
923         * svg/SVGScriptElement.cpp:
924         * svg/SVGScriptElement.h:
925         * svg/SVGScriptElement.idl:
926         * svg/SVGSetElement.cpp:
927         * svg/SVGSetElement.h:
928         * svg/SVGSetElement.idl:
929         * svg/SVGStopElement.cpp:
930         * svg/SVGStopElement.h:
931         * svg/SVGStopElement.idl:
932         * svg/SVGStringList.cpp:
933         * svg/SVGStringList.h:
934         * svg/SVGStringList.idl:
935         * svg/SVGStyleElement.cpp:
936         * svg/SVGStyleElement.h:
937         * svg/SVGStyleElement.idl:
938         * svg/SVGSwitchElement.cpp:
939         * svg/SVGSwitchElement.h:
940         * svg/SVGSwitchElement.idl:
941         * svg/SVGSymbolElement.cpp:
942         * svg/SVGSymbolElement.h:
943         * svg/SVGSymbolElement.idl:
944         * svg/SVGTRefElement.cpp:
945         * svg/SVGTRefElement.h:
946         * svg/SVGTRefElement.idl:
947         * svg/SVGTSpanElement.cpp:
948         * svg/SVGTSpanElement.h:
949         * svg/SVGTSpanElement.idl:
950         * svg/SVGTests.cpp:
951         * svg/SVGTests.h:
952         * svg/SVGTests.idl:
953         * svg/SVGTextContentElement.cpp:
954         * svg/SVGTextContentElement.h:
955         * svg/SVGTextContentElement.idl:
956         * svg/SVGTextElement.cpp:
957         * svg/SVGTextElement.h:
958         * svg/SVGTextElement.idl:
959         * svg/SVGTextPathElement.cpp:
960         * svg/SVGTextPathElement.h:
961         * svg/SVGTextPathElement.idl:
962         * svg/SVGTextPositioningElement.cpp:
963         * svg/SVGTextPositioningElement.h:
964         * svg/SVGTextPositioningElement.idl:
965         * svg/SVGTitleElement.cpp:
966         * svg/SVGTitleElement.h:
967         * svg/SVGTitleElement.idl:
968         * svg/SVGTransform.cpp:
969         * svg/SVGTransform.h:
970         * svg/SVGTransform.idl:
971         * svg/SVGTransformDistance.cpp:
972         * svg/SVGTransformDistance.h:
973         * svg/SVGTransformList.cpp:
974         * svg/SVGTransformList.h:
975         * svg/SVGTransformList.idl:
976         * svg/SVGTransformable.cpp:
977         * svg/SVGTransformable.h:
978         * svg/SVGURIReference.cpp:
979         * svg/SVGURIReference.h:
980         * svg/SVGURIReference.idl:
981         * svg/SVGUnitTypes.h:
982         * svg/SVGUnitTypes.idl:
983         * svg/SVGUnknownElement.h:
984         * svg/SVGUseElement.cpp:
985         * svg/SVGUseElement.h:
986         * svg/SVGUseElement.idl:
987         * svg/SVGVKernElement.idl:
988         * svg/SVGViewElement.cpp:
989         * svg/SVGViewElement.h:
990         * svg/SVGViewElement.idl:
991         * svg/SVGViewSpec.cpp:
992         * svg/SVGViewSpec.h:
993         * svg/SVGViewSpec.idl:
994         * svg/SVGZoomAndPan.cpp:
995         * svg/SVGZoomAndPan.h:
996         * svg/SVGZoomAndPan.idl:
997         * svg/SVGZoomEvent.cpp:
998         * svg/SVGZoomEvent.h:
999         * svg/SVGZoomEvent.idl:
1000         * svg/animation/SMILTime.cpp:
1001         (WebCore::operator*):
1002         * svg/animation/SMILTime.h:
1003         * svg/animation/SMILTimeContainer.cpp:
1004         * svg/animation/SMILTimeContainer.h:
1005         * svg/animation/SVGSMILElement.cpp:
1006         * svg/animation/SVGSMILElement.h:
1007         * svg/graphics/SVGImage.cpp:
1008         * svg/graphics/SVGImage.h:
1009         * svg/graphics/SVGImageCache.cpp:
1010         * svg/graphics/SVGImageCache.h:
1011         * svg/graphics/SVGImageChromeClient.h:
1012         * svg/graphics/SVGImageForContainer.cpp:
1013         * svg/graphics/SVGImageForContainer.h:
1014         * svg/graphics/filters/SVGFEImage.cpp:
1015         * svg/graphics/filters/SVGFEImage.h:
1016         * svg/graphics/filters/SVGFilter.cpp:
1017         * svg/graphics/filters/SVGFilter.h:
1018         * svg/graphics/filters/SVGFilterBuilder.cpp:
1019         * svg/graphics/filters/SVGFilterBuilder.h:
1020         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
1021         * svg/properties/SVGAnimatedListPropertyTearOff.h:
1022         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
1023         * svg/properties/SVGAnimatedProperty.cpp:
1024         * svg/properties/SVGAnimatedProperty.h:
1025         * svg/properties/SVGAnimatedPropertyDescription.h:
1026         * svg/properties/SVGAnimatedPropertyMacros.h:
1027         * svg/properties/SVGAnimatedPropertyTearOff.h:
1028         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1029         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
1030         * svg/properties/SVGAttributeToPropertyMap.cpp:
1031         * svg/properties/SVGAttributeToPropertyMap.h:
1032         * svg/properties/SVGListProperty.h:
1033         * svg/properties/SVGListPropertyTearOff.h:
1034         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
1035         * svg/properties/SVGPathSegListPropertyTearOff.h:
1036         * svg/properties/SVGProperty.h:
1037         * svg/properties/SVGPropertyInfo.cpp:
1038         * svg/properties/SVGPropertyInfo.h:
1039         * svg/properties/SVGPropertyTearOff.h:
1040         * svg/properties/SVGPropertyTraits.h:
1041         * svg/properties/SVGStaticListPropertyTearOff.h:
1042         * svg/properties/SVGStaticPropertyTearOff.h:
1043         * svg/properties/SVGStaticPropertyWithParentTearOff.h:
1044         * svg/properties/SVGTransformListPropertyTearOff.h:
1045         * svg/svgattrs.in:
1046         * svg/svgtags.in:
1047         * xml/XMLErrors.cpp:
1048         (WebCore::XMLErrors::insertErrorMessageBlock):
1049         * xml/parser/XMLDocumentParser.cpp:
1050
1051 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
1052
1053         Manage CalcExpressionNode and derived classes through std::unique_ptr instead of OwnPtr
1054         https://bugs.webkit.org/show_bug.cgi?id=128118
1055
1056         Reviewed by Darin Adler.
1057
1058         Replace uses of OwnPtr for CalcExpressionNode and derived classes with std::unique_ptr.
1059
1060         * css/CSSCalculationValue.cpp:
1061         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
1062         (WebCore::CSSCalcBinaryOperation::toCalcValue):
1063         * css/CSSCalculationValue.h:
1064         * platform/CalculationValue.cpp:
1065         (WebCore::CalculationValue::create):
1066         * platform/CalculationValue.h:
1067         (WebCore::CalculationValue::CalculationValue):
1068         (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
1069         * platform/Length.cpp:
1070         (WebCore::Length::blendMixedTypes):
1071         * rendering/style/BasicShapes.cpp:
1072         (WebCore::BasicShapeCenterCoordinate::updateComputedLength):
1073
1074 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
1075
1076         Remove CLASS_IF_GCC workarounds
1077         https://bugs.webkit.org/show_bug.cgi?id=128207
1078
1079         Reviewed by Anders Carlsson.
1080
1081         Remove the CLASS_IF_GCC macro that was defined to 'class' when using the GCC compiler.
1082         The macro was then used in class friendship declarations for templated classes to avoid
1083         corner-case compiler failures on both GCC pre-4.7 and MSVC pre-2013. The problematic
1084         versions of both compilers are no longer supported, so this macro is good to go.
1085
1086         * bindings/generic/RuntimeEnabledFeatures.h:
1087
1088 2014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>
1089
1090         MediaPlayerPrivateGStreamerBase should have virtual destructor
1091         https://bugs.webkit.org/show_bug.cgi?id=128238
1092
1093         Reviewed by Carlos Garcia Campos.
1094
1095         MediaPlayerPrivateGStreamer inherit MediaPlayerPrivateGStreamerBase.
1096         So MediaPlayerPrivateGStreamerBase should have virtual destructor.
1097
1098         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Made destructor as virtual.
1099
1100 2014-02-04  Andreas Kling  <akling@apple.com>
1101
1102         Remove <iframe seamless> support.
1103         <https://webkit.org/b/128213>
1104
1105         Seamless iframes were behind a runtime flag that we never enabled,
1106         and the only other engine that implemented them (Blink) recently
1107         removed them. Since the feature is very invasive, let's take it
1108         out for now.
1109
1110         Rubber-stamped by Antti Koivisto.
1111
1112         * Configurations/FeatureDefines.xcconfig:
1113         * accessibility/AccessibilityObject.h:
1114         * accessibility/AccessibilityRenderObject.cpp:
1115         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
1116         (WebCore::AccessibilityRenderObject::parentObject):
1117         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1118         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1119         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1120         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1121         (createAccessibilityRoleMap):
1122         * bindings/generic/RuntimeEnabledFeatures.cpp:
1123         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
1124         * bindings/generic/RuntimeEnabledFeatures.h:
1125         * css/CSSComputedStyleDeclaration.cpp:
1126         (WebCore::ComputedStyleExtractor::propertyValue):
1127         * css/CSSSelector.cpp:
1128         (WebCore::CSSSelector::pseudoId):
1129         (WebCore::populatePseudoTypeByNameMap):
1130         (WebCore::CSSSelector::extractPseudoType):
1131         * css/CSSSelector.h:
1132         * css/SelectorChecker.cpp:
1133         (WebCore::SelectorChecker::checkOne):
1134         * css/StyleResolver.cpp:
1135         (WebCore::StyleResolver::adjustRenderStyle):
1136         * css/html.css:
1137         (iframe):
1138         * dom/Document.cpp:
1139         (WebCore::Document::scheduleStyleRecalc):
1140         (WebCore::Document::implicitOpen):
1141         (WebCore::Document::initSecurityContext):
1142         * dom/Document.h:
1143         * dom/DocumentStyleSheetCollection.cpp:
1144         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
1145         * dom/SecurityContext.cpp:
1146         (WebCore::SecurityContext::SecurityContext):
1147         * dom/SecurityContext.h:
1148         * html/HTMLAttributeNames.in:
1149         * html/HTMLIFrameElement.cpp:
1150         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
1151         (WebCore::HTMLIFrameElement::isPresentationAttribute):
1152         (WebCore::HTMLIFrameElement::parseAttribute):
1153         * html/HTMLIFrameElement.h:
1154         * html/HTMLIFrameElement.idl:
1155         * loader/FrameLoader.cpp:
1156         (WebCore::FrameLoader::findFrameForNavigation):
1157         * page/FrameView.cpp:
1158         (WebCore::FrameView::calculateScrollbarModesForLayout):
1159         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
1160         * page/Location.cpp:
1161         (WebCore::Location::setLocation):
1162         * rendering/RenderBox.h:
1163         (WebCore::RenderBox::stretchesToViewport):
1164         * rendering/RenderIFrame.cpp:
1165         (WebCore::RenderIFrame::shouldComputeSizeAsReplaced):
1166         (WebCore::RenderIFrame::isInlineBlockOrInlineTable):
1167         (WebCore::RenderIFrame::flattenFrame):
1168         (WebCore::RenderIFrame::layout):
1169         * rendering/RenderIFrame.h:
1170         * rendering/RenderView.cpp:
1171         (WebCore::RenderView::initializeLayoutState):
1172         (WebCore::RenderView::layout):
1173         * rendering/RenderView.h:
1174         * style/StyleResolveForDocument.cpp:
1175         (WebCore::Style::resolveForDocument):
1176         * style/StyleResolveTree.cpp:
1177         (WebCore::Style::resolveTree):
1178
1179 2014-02-04  Tim Horton  <timothy_horton@apple.com>
1180
1181         [iOS][wk2] Make development builds of WebKit work on device
1182         https://bugs.webkit.org/show_bug.cgi?id=128230
1183
1184         Reviewed by Anders Carlsson.
1185
1186         * platform/RuntimeApplicationChecksIOS.mm:
1187         (WebCore::applicationIsWebProcess):
1188         Add WebContent.Development as an additional name for the WebContent process.
1189
1190 2014-02-04  Brady Eidson  <beidson@apple.com>
1191
1192         IDB: indexeddb/mozilla/add-twice-failure.html fails
1193         <rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208
1194
1195         Reviewed by Tim Horton.
1196
1197         Covered specifically by indexeddb/mozilla/add-twice-failure.html and a handful of others.
1198
1199         * Modules/indexeddb/IDBRequest.cpp:
1200         (WebCore::IDBRequest::onError): Improve logging.
1201
1202         * Modules/indexeddb/IDBTransactionBackend.cpp:
1203         (WebCore::IDBTransactionBackend::abort): Improve logging.
1204
1205         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1206         (WebCore::PutOperation::perform): Don’t abort the transaction when an error occurred.
1207
1208         * WebCore.exp.in:
1209
1210 2014-02-04  Yoav Weiss  <yoav@yoav.ws>
1211
1212         Use srcset's pixel density to determine intrinsic size
1213         https://bugs.webkit.org/show_bug.cgi?id=123832
1214
1215         Reviewed by Dean Jackson.
1216
1217         The patch is a port of a similar Blink patch: https://codereview.chromium.org/25105004
1218         According to the spec "When an img element has a current pixel density that is not 1.0,
1219         the element's image data must be treated as if its resolution, in device pixels per CSS pixels,
1220         was the current pixel density."
1221
1222         I've added that support using the following changes:
1223         - bestFitSourceForImageAttributes now returns the image candidate to HTMLImageElement.
1224         - HTMLImageElement passes the devicePixelRatio data to RenderImage, which stores it.
1225         - Bitmap images are scaled using the devicePixelRatio at RenderImageResource's intrinsicSize() and imageSize().
1226         - SVG images are scaled using the devicePixelRatio at RenderReplaced::computeAspectRatioInformationForRenderBox.
1227         - Canvas support added at CanvasRenderingContext2D::size.
1228
1229         Tests: fast/hidpi/image-srcset-intrinsic-size.html
1230                fast/hidpi/image-srcset-png-canvas.html
1231                fast/hidpi/image-srcset-png.html
1232                fast/hidpi/image-srcset-relative-svg-canvas-2x.html
1233                fast/hidpi/image-srcset-relative-svg.html
1234                fast/hidpi/image-srcset-space-left-nomodifier.html
1235                fast/hidpi/image-srcset-svg-canvas-2x.html
1236                fast/hidpi/image-srcset-svg-canvas.html
1237                fast/hidpi/image-srcset-svg.html
1238                fast/hidpi/image-srcset-svg2.html
1239
1240         * html/HTMLImageElement.cpp:
1241         (WebCore::HTMLImageElement::HTMLImageElement):
1242         (WebCore::HTMLImageElement::parseAttribute):
1243         (WebCore::HTMLImageElement::createRenderer):
1244         * html/HTMLImageElement.h:
1245         * html/canvas/CanvasRenderingContext2D.cpp:
1246         (WebCore::size):
1247         (WebCore::CanvasRenderingContext2D::drawImage):
1248         * html/parser/HTMLParserIdioms.cpp:
1249         (WebCore::compareByScaleFactor):
1250         (WebCore::parseImagesWithScaleFromSrcsetAttribute):
1251         (WebCore::bestFitSourceForImageAttributes):
1252         * html/parser/HTMLParserIdioms.h:
1253         (WebCore::ImageWithScale::ImageWithScale):
1254         (WebCore::ImageWithScale::imageURL):
1255         (WebCore::ImageWithScale::scaleFactor):
1256         * html/parser/HTMLPreloadScanner.cpp:
1257         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
1258         * rendering/RenderImage.cpp:
1259         (WebCore::RenderImage::RenderImage):
1260         * rendering/RenderImage.h:
1261         (WebCore::RenderImage::setImageDevicePixelRatio):
1262         (WebCore::RenderImage::imageDevicePixelRatio):
1263         * rendering/RenderImageResource.cpp:
1264         (WebCore::RenderImageResource::imageSize):
1265         (WebCore::RenderImageResource::intrinsicSize):
1266         (WebCore::RenderImageResource::getImageSize):
1267         * rendering/RenderImageResource.h:
1268         * rendering/RenderReplaced.cpp:
1269         (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
1270
1271 2014-02-04  Geoffrey Garen  <ggaren@apple.com>
1272
1273         Rolled out <http://trac.webkit.org/changeset/163280>:
1274
1275             Push DOM attributes into the prototype chain
1276             ​https://bugs.webkit.org/show_bug.cgi?id=127969
1277
1278         It caused performance regressions, and broken websites on iOS.
1279
1280         Reviewed by Geoffrey Garen.
1281
1282         * bindings/js/JSDOMBinding.h:
1283         (WebCore::getStaticValueSlotEntryWithoutCaching):
1284         * bindings/js/JSStorageCustom.cpp:
1285         (WebCore::JSStorage::nameGetter):
1286         (WebCore::JSStorage::deleteProperty):
1287         (WebCore::JSStorage::putDelegate):
1288         * bindings/scripts/CodeGeneratorJS.pm:
1289         (GenerateGetOwnPropertySlotBody):
1290         (InstanceOverridesGetOwnPropertySlot):
1291         (PrototypeOverridesGetOwnPropertySlot):
1292         (GenerateAttributesHashTable):
1293         (GenerateImplementation):
1294         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1295         (WebCore::jsTestActiveDOMObjectConstructor):
1296         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1297         (WebCore::jsTestCustomNamedGetterConstructor):
1298         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1299         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
1300         (WebCore::jsTestEventConstructorConstructor):
1301         * bindings/scripts/test/JS/JSTestEventConstructor.h:
1302         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1303         (WebCore::jsTestEventTargetConstructor):
1304         * bindings/scripts/test/JS/JSTestException.cpp:
1305         (WebCore::jsTestExceptionConstructor):
1306         * bindings/scripts/test/JS/JSTestException.h:
1307         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1308         (WebCore::JSTestGenerateIsReachable::getOwnPropertySlot):
1309         (WebCore::jsTestGenerateIsReachableConstructor):
1310         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
1311         * bindings/scripts/test/JS/JSTestInterface.cpp:
1312         (WebCore::jsTestInterfaceConstructor):
1313         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1314         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
1315         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
1316         (WebCore::jsTestMediaQueryListListenerConstructor):
1317         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1318         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
1319         (WebCore::jsTestNamedConstructorConstructor):
1320         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1321         * bindings/scripts/test/JS/JSTestNode.cpp:
1322         (WebCore::JSTestNode::getOwnPropertySlot):
1323         (WebCore::jsTestNodeConstructor):
1324         * bindings/scripts/test/JS/JSTestNode.h:
1325         * bindings/scripts/test/JS/JSTestObj.cpp:
1326         (WebCore::jsTestObjConstructor):
1327         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1328         (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
1329         (WebCore::jsTestOverloadedConstructorsConstructor):
1330         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
1331         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1332         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
1333         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
1334         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1335         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1336         (WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
1337         (WebCore::jsTestTypedefsConstructor):
1338         * bindings/scripts/test/JS/JSattribute.cpp:
1339         (WebCore::JSattribute::getOwnPropertySlot):
1340         (WebCore::jsattributeConstructor):
1341         * bindings/scripts/test/JS/JSattribute.h:
1342         * bindings/scripts/test/JS/JSreadonly.cpp:
1343         (WebCore::JSreadonly::getOwnPropertySlot):
1344         (WebCore::jsreadonlyConstructor):
1345         * bindings/scripts/test/JS/JSreadonly.h:
1346
1347 2014-02-04  Alexey Proskuryakov  <ap@apple.com>
1348
1349         WebCrypto HMAC verification uses a non-constant-time memcmp
1350         https://bugs.webkit.org/show_bug.cgi?id=128198
1351         <rdar://problem/15976961>
1352
1353         Reviewed by Oliver Hunt.
1354
1355         * crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::CryptoAlgorithmHMAC::platformVerify):
1356         Use a constant time memcmp.
1357
1358 2014-02-04  Simon Fraser  <simon.fraser@apple.com>
1359
1360         Add WK2 event handling path for iOS, and make Mac and iOS code more similar
1361         https://bugs.webkit.org/show_bug.cgi?id=128199
1362
1363         Reviewed by Sam Weinig.
1364
1365         EventHandlerIOS need some changes for WebKit2, where we have no native
1366         widget. Merge those changes from EventHandlerMac.
1367         
1368         Make a few drive-by changes to match EventHandlerMac behavior.
1369         
1370         Clean up EventHandlerMac, removing trailing whitespace and fixing
1371         the odd comment.
1372
1373         * page/ios/EventHandlerIOS.mm:
1374         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
1375         (WebCore::EventHandler::passMouseDownEventToWidget):
1376         (WebCore::EventHandler::passSubframeEventToSubframe):
1377         (WebCore::EventHandler::passWheelEventToWidget):
1378         (WebCore::EventHandler::mouseDown):
1379         (WebCore::EventHandler::mouseMoved):
1380         (WebCore::frameHasPlatformWidget):
1381         (WebCore::EventHandler::passMousePressEventToSubframe):
1382         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1383         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1384         * page/mac/EventHandlerMac.mm:
1385         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
1386         (WebCore::EventHandler::passMouseDownEventToWidget):
1387         (WebCore::findViewInSubviews):
1388         (WebCore::EventHandler::eventLoopHandleMouseUp):
1389         (WebCore::EventHandler::passWheelEventToWidget):
1390         (WebCore::EventHandler::mouseMoved):
1391
1392 2014-02-04  Benjamin Poulain  <bpoulain@apple.com>
1393
1394         [OSX] Limit progress bar's dimensions to ushort
1395         https://bugs.webkit.org/show_bug.cgi?id=128019
1396
1397         Wordaround a crash in Quartz until <rdar://problem/15855086> is fixed.
1398
1399         Reviewed by Sam Weinig.
1400
1401         * rendering/RenderThemeMac.mm:
1402         (WebCore::RenderThemeMac::progressBarRectForBounds):
1403
1404 2014-02-04  Anders Carlsson  <andersca@apple.com>
1405
1406         Rename StringImpl::getCharacters to StringImpl::characters
1407         https://bugs.webkit.org/show_bug.cgi?id=128205
1408
1409         Reviewed by Antti Koivisto.
1410
1411         Update for WTF changes.
1412
1413         * rendering/SimpleLineLayout.cpp:
1414         (WebCore::SimpleLineLayout::createTextRuns):
1415
1416 2014-02-04  Anders Carlsson  <andersca@apple.com>
1417
1418         Rename equalNonNull to equal and make it take const StringImpl& instead
1419         https://bugs.webkit.org/show_bug.cgi?id=128206
1420
1421         Reviewed by Andreas Kling.
1422
1423         * html/parser/HTMLParserIdioms.cpp:
1424         (WebCore::threadSafeEqual):
1425         (WebCore::threadSafeMatch):
1426
1427 2014-02-04  Anders Carlsson  <andersca@apple.com>
1428
1429         Rename String::getCharacters to String::characters
1430         https://bugs.webkit.org/show_bug.cgi?id=128196
1431
1432         Reviewed by Andreas Kling.
1433
1434         Update for WTF::String changes.
1435
1436         * dom/Document.cpp:
1437         (WebCore::canonicalizedTitle):
1438
1439 2014-02-04  Eric Carlson  <eric.carlson@apple.com>
1440
1441         Fix Release build after r163390.
1442
1443         * platform/audio/MediaSession.cpp: Add "#if !LOG_DISABLED" around logging-only function.
1444
1445 2014-02-04  Eric Carlson  <eric.carlson@apple.com>
1446
1447         Refine MediaSession interruptions
1448         https://bugs.webkit.org/show_bug.cgi?id=128125
1449
1450         Reviewed by Jer Noble.
1451
1452         Test: media/video-background-playback.html
1453
1454         * WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
1455             Internals.
1456
1457         * html/HTMLMediaElement.cpp:
1458         (WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
1459             to see if it is interrupted directly.
1460         (WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
1461             to see if it is interrupted directly.
1462         (WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
1463             the information is available.
1464         (WebCore::HTMLMediaElement::resumePlayback): New.
1465         * html/HTMLMediaElement.h:
1466
1467         * html/HTMLMediaSession.cpp:
1468         (WebCore::restrictionName): New, use for logging only.
1469         (WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
1470         (WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
1471         * html/HTMLMediaSession.h:
1472
1473         * platform/audio/MediaSession.cpp:
1474         (WebCore::stateName): New, used for logging.
1475         (WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
1476         (WebCore::MediaSession::setState): Log state changes.
1477         (WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
1478             to restore state when the interruption ends.
1479         (WebCore::MediaSession::endInterruption): Resume playback if appropriate.
1480         (WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
1481         (WebCore::MediaSession::clientWillPausePlayback): Ditto.
1482         (WebCore::MediaSession::mediaType): Ask client for state.
1483         * platform/audio/MediaSession.h:
1484
1485         * platform/audio/MediaSessionManager.cpp:
1486         (WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
1487         (WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
1488         (WebCore::MediaSessionManager::endInterruption): Ditto.
1489         (WebCore::MediaSessionManager::addSession): 
1490         (WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
1491             allowed to play in the background.
1492         (WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
1493             was stopped by an interruption.
1494         * platform/audio/MediaSessionManager.h:
1495
1496         * platform/audio/ios/MediaSessionManagerIOS.h:
1497         * platform/audio/ios/MediaSessionManagerIOS.mm:
1498         (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
1499         (WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
1500             while the application is in the background. Register for application suspend/resume
1501             notifications.
1502         (-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
1503         (-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application 
1504             state change.
1505         (-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.
1506
1507         * platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.
1508
1509         * testing/Internals.cpp:
1510         (WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
1511         (WebCore::Internals::applicationWillEnterBackground): Ditto.
1512         (WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
1513         * testing/Internals.h:
1514         * testing/Internals.idl:
1515
1516 2014-02-04  Andreas Kling  <akling@apple.com>
1517
1518         Remove CPP bindings generator.
1519         <https://webkit.org/b/128189>
1520
1521         Scrub out some leftover Blackberry gunk.
1522
1523         Reviewed by Anders Carlsson.
1524
1525         * Modules/webdatabase/SQLResultSet.idl:
1526         * bindings/cpp/WebDOMCString.cpp: Removed.
1527         * bindings/cpp/WebDOMCString.h: Removed.
1528         * bindings/cpp/WebDOMDOMWindowCustom.cpp: Removed.
1529         * bindings/cpp/WebDOMEventListenerCustom.cpp: Removed.
1530         * bindings/cpp/WebDOMEventTarget.cpp: Removed.
1531         * bindings/cpp/WebDOMEventTarget.h: Removed.
1532         * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Removed.
1533         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Removed.
1534         * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Removed.
1535         * bindings/cpp/WebDOMNodeCustom.cpp: Removed.
1536         * bindings/cpp/WebDOMNodeFilterCustom.cpp: Removed.
1537         * bindings/cpp/WebDOMObject.h: Removed.
1538         * bindings/cpp/WebDOMString.cpp: Removed.
1539         * bindings/cpp/WebDOMString.h: Removed.
1540         * bindings/cpp/WebExceptionHandler.cpp: Removed.
1541         * bindings/cpp/WebExceptionHandler.h: Removed.
1542         * bindings/cpp/WebNativeEventListener.cpp: Removed.
1543         * bindings/cpp/WebNativeEventListener.h: Removed.
1544         * bindings/cpp/WebNativeNodeFilterCondition.cpp: Removed.
1545         * bindings/cpp/WebNativeNodeFilterCondition.h: Removed.
1546         * bindings/scripts/CodeGeneratorCPP.pm: Removed.
1547         * bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Removed.
1548         * bindings/scripts/test/CPP/CPPTestSupplemental.h: Removed.
1549         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Removed.
1550         * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Removed.
1551         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp: Removed.
1552         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.h: Removed.
1553         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Removed.
1554         * bindings/scripts/test/CPP/WebDOMTestCallback.h: Removed.
1555         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Removed.
1556         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Removed.
1557         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Removed.
1558         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Removed.
1559         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp: Removed.
1560         * bindings/scripts/test/CPP/WebDOMTestEventTarget.h: Removed.
1561         * bindings/scripts/test/CPP/WebDOMTestException.cpp: Removed.
1562         * bindings/scripts/test/CPP/WebDOMTestException.h: Removed.
1563         * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Removed.
1564         * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Removed.
1565         * bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Removed.
1566         * bindings/scripts/test/CPP/WebDOMTestImplements.h: Removed.
1567         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Removed.
1568         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Removed.
1569         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Removed.
1570         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Removed.
1571         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Removed.
1572         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Removed.
1573         * bindings/scripts/test/CPP/WebDOMTestNode.cpp: Removed.
1574         * bindings/scripts/test/CPP/WebDOMTestNode.h: Removed.
1575         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Removed.
1576         * bindings/scripts/test/CPP/WebDOMTestObj.h: Removed.
1577         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp: Removed.
1578         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.h: Removed.
1579         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Removed.
1580         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Removed.
1581         * bindings/scripts/test/CPP/WebDOMTestSupplemental.cpp: Removed.
1582         * bindings/scripts/test/CPP/WebDOMTestSupplemental.h: Removed.
1583         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Removed.
1584         * bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Removed.
1585         * bindings/scripts/test/CPP/WebDOMattribute.cpp: Removed.
1586         * bindings/scripts/test/CPP/WebDOMattribute.h: Removed.
1587         * bindings/scripts/test/CPP/WebDOMreadonly.cpp: Removed.
1588         * bindings/scripts/test/CPP/WebDOMreadonly.h: Removed.
1589         * css/StyleSheet.idl:
1590         * dom/CustomEvent.idl:
1591         * dom/Document.idl:
1592         * dom/Event.idl:
1593         * dom/Node.idl:
1594         * dom/PopStateEvent.idl:
1595         * html/HTMLCanvasElement.idl:
1596         * html/HTMLInputElement.idl:
1597         * html/canvas/CanvasRenderingContext2D.idl:
1598         * page/DOMWindow.idl:
1599         * page/Location.idl:
1600         * workers/DedicatedWorkerGlobalScope.idl:
1601
1602 2014-02-04  Dan Bernstein  <mitz@apple.com>
1603
1604         iOS build fix.
1605
1606         * platform/graphics/cg/GraphicsContextCG.cpp:
1607         (WebCore::GraphicsContext::platformInit):
1608
1609 2014-02-03  Zan Dobersek  <zdobersek@igalia.com>
1610
1611         Manage MediaQuery and MediaQueryExp classes through std::unique_ptr instead of OwnPtr
1612         https://bugs.webkit.org/show_bug.cgi?id=128117
1613
1614         Reviewed by Darin Adler.
1615
1616         Replace uses of OwnPtr for the MediaQuery and MediaQueryExp classes with std::unique_ptr.
1617
1618         * css/CSSGrammar.y.in:
1619         * css/CSSParser.cpp:
1620         (WebCore::CSSParser::parseMediaQuery):
1621         * css/CSSParser.h:
1622         * css/MediaList.cpp:
1623         (WebCore::MediaQuerySet::parse):
1624         (WebCore::MediaQuerySet::add):
1625         (WebCore::MediaQuerySet::remove):
1626         (WebCore::MediaQuerySet::addMediaQuery):
1627         (WebCore::MediaList::item):
1628         (WebCore::reportMediaQueryWarningIfNeeded):
1629         * css/MediaList.h:
1630         (WebCore::MediaQuerySet::queryVector):
1631         * css/MediaQuery.cpp:
1632         (WebCore::MediaQuery::MediaQuery):
1633         * css/MediaQuery.h:
1634         (WebCore::MediaQuery::expressions):
1635         (WebCore::MediaQuery::copy):
1636         * css/MediaQueryEvaluator.cpp:
1637         (WebCore::MediaQueryEvaluator::eval):
1638         * css/MediaQueryExp.cpp:
1639         (WebCore::MediaQueryExp::MediaQueryExp):
1640         * css/MediaQueryExp.h:
1641         (WebCore::MediaQueryExp::copy):
1642
1643 2014-02-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1644
1645         Remove SVG_DOM_OBJC_BINDINGS after r161638.
1646         https://bugs.webkit.org/show_bug.cgi?id=128182
1647
1648         Reviewed by Andreas Kling.
1649
1650         Removed ENABLE(SVG_DOM_OBJC_BINDINGS).
1651
1652         No tests required.
1653
1654         * bindings/objc/DOMUIKitExtensions.mm:
1655         (-[DOMNode boundingBoxes]):
1656         (-[DOMNode absoluteQuads]):
1657
1658 2014-02-04  Radu Stavila  <stavila@adobe.com>
1659
1660         REGRESSION (r159609): Images are corrupted when hovering over buttons @ github.com
1661         https://bugs.webkit.org/show_bug.cgi?id=127729
1662
1663         Reviewed by Antti Koivisto.
1664
1665         When clipping a rect, the RenderLayer would not properly save the context when
1666         the clipping rect is the same as the paint rect and the clipping rect
1667         has radius.
1668
1669         Test: fast/regions/repaint/hover-border-radius.html
1670
1671         * rendering/RenderLayer.cpp:
1672         (WebCore::RenderLayer::clipToRect):
1673         (WebCore::RenderLayer::restoreClip):
1674
1675 2014-02-04  Ryuan Choi  <ryuan.choi@samsung.com>
1676
1677         [CMAKE] Remove workaround for GCC 4.6
1678         https://bugs.webkit.org/show_bug.cgi?id=128176
1679
1680         Reviewed by Csaba Osztrogonác.
1681
1682         Since r162126, WebKit requires at least 4.7.
1683
1684         * CMakeLists.txt:
1685
1686 2014-02-04  Zan Dobersek  <zdobersek@igalia.com>
1687
1688         Manage RuleSet and RuleData classes through std::unique_ptr instead of OwnPtr
1689         https://bugs.webkit.org/show_bug.cgi?id=128116
1690
1691         Reviewed by Darin Adler.
1692
1693         Replace uses of OwnPtr for the RuleSet and RuleData classes with std::unique_ptr.
1694
1695         * css/CSSDefaultStyleSheets.cpp:
1696         (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
1697         (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
1698         (WebCore::CSSDefaultStyleSheets::viewSourceStyle):
1699         * css/DocumentRuleSets.cpp:
1700         (WebCore::DocumentRuleSets::initUserStyle):
1701         (WebCore::makeRuleSet):
1702         (WebCore::DocumentRuleSets::resetAuthorStyle):
1703         * css/DocumentRuleSets.h:
1704         * css/RuleSet.cpp:
1705         (WebCore::RuleSet::addToRuleSet):
1706         (WebCore::RuleSet::addRegionRule):
1707         * css/RuleSet.h:
1708         (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
1709
1710 2014-02-04  Commit Queue  <commit-queue@webkit.org>
1711
1712         Unreviewed, rolling out r163376.
1713         http://trac.webkit.org/changeset/163376
1714         https://bugs.webkit.org/show_bug.cgi?id=128184
1715
1716         Unexpected test failures. (Requested by eric_carlson on
1717         #webkit).
1718
1719         * WebCore.exp.in:
1720         * html/HTMLMediaElement.cpp:
1721         (WebCore::HTMLMediaElement::parseAttribute):
1722         * html/HTMLMediaElement.h:
1723         * html/HTMLMediaSession.cpp:
1724         (WebCore::HTMLMediaSession::addBehaviorRestriction):
1725         (WebCore::HTMLMediaSession::removeBehaviorRestriction):
1726         (WebCore::HTMLMediaSession::clientWillBeginPlayback):
1727         * html/HTMLMediaSession.h:
1728         * platform/audio/MediaSession.cpp:
1729         (WebCore::MediaSession::MediaSession):
1730         (WebCore::MediaSession::beginInterruption):
1731         (WebCore::MediaSession::endInterruption):
1732         * platform/audio/MediaSession.h:
1733         (WebCore::MediaSession::mediaType):
1734         (WebCore::MediaSession::setState):
1735         (WebCore::MediaSessionClient::beginInterruption):
1736         (WebCore::MediaSessionClient::endInterruption):
1737         * platform/audio/MediaSessionManager.cpp:
1738         (WebCore::MediaSessionManager::MediaSessionManager):
1739         (WebCore::MediaSessionManager::beginInterruption):
1740         (WebCore::MediaSessionManager::endInterruption):
1741         (WebCore::MediaSessionManager::addSession):
1742         * platform/audio/MediaSessionManager.h:
1743         * platform/audio/ios/MediaSessionManagerIOS.h:
1744         (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
1745         * platform/audio/ios/MediaSessionManagerIOS.mm:
1746         (WebCore::MediaSessionManageriOS::resetRestrictions):
1747         (-[WebMediaSessionHelper initWithCallback:]):
1748         * platform/audio/mac/AudioDestinationMac.h:
1749         * testing/Internals.cpp:
1750         (WebCore::Internals::setMediaSessionRestrictions):
1751         * testing/Internals.h:
1752         * testing/Internals.idl:
1753
1754 2014-02-04  Eric Carlson  <eric.carlson@apple.com>
1755
1756         Refine MediaSession interruptions
1757         https://bugs.webkit.org/show_bug.cgi?id=128125
1758
1759         Reviewed by Jer Noble.
1760
1761         Test: media/video-background-playback.html
1762
1763         * WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
1764             Internals.
1765
1766         * html/HTMLMediaElement.cpp:
1767         (WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
1768             to see if it is interrupted directly.
1769         (WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
1770             to see if it is interrupted directly.
1771         (WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
1772             the information is available.
1773         (WebCore::HTMLMediaElement::resumePlayback): New.
1774         * html/HTMLMediaElement.h:
1775
1776         * html/HTMLMediaSession.cpp:
1777         (WebCore::restrictionName): New, use for logging only.
1778         (WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
1779         (WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
1780         * html/HTMLMediaSession.h:
1781
1782         * platform/audio/MediaSession.cpp:
1783         (WebCore::stateName): New, used for logging.
1784         (WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
1785         (WebCore::MediaSession::setState): Log state changes.
1786         (WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
1787             to restore state when the interruption ends.
1788         (WebCore::MediaSession::endInterruption): Resume playback if appropriate.
1789         (WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
1790         (WebCore::MediaSession::clientWillPausePlayback): Ditto.
1791         (WebCore::MediaSession::mediaType): Ask client for state.
1792         * platform/audio/MediaSession.h:
1793
1794         * platform/audio/MediaSessionManager.cpp:
1795         (WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
1796         (WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
1797         (WebCore::MediaSessionManager::endInterruption): Ditto.
1798         (WebCore::MediaSessionManager::addSession): 
1799         (WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
1800             allowed to play in the background.
1801         (WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
1802             was stopped by an interruption.
1803         * platform/audio/MediaSessionManager.h:
1804
1805         * platform/audio/ios/MediaSessionManagerIOS.h:
1806         * platform/audio/ios/MediaSessionManagerIOS.mm:
1807         (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
1808         (WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
1809             while the application is in the background. Register for application suspend/resume
1810             notifications.
1811         (-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
1812         (-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application 
1813             state change.
1814         (-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.
1815
1816         * platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.
1817
1818         * testing/Internals.cpp:
1819         (WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
1820         (WebCore::Internals::applicationWillEnterBackground): Ditto.
1821         (WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
1822         * testing/Internals.h:
1823         * testing/Internals.idl:
1824
1825 2014-02-04  Mihai Maerean  <mmaerean@adobe.com>
1826
1827         [CSS Regions] Fix Assert SHOULD NEVER BE REACHED in RenderLayer::enclosingElement()
1828         https://bugs.webkit.org/show_bug.cgi?id=123329
1829
1830         Reviewed by Mihnea Ovidenie.
1831
1832         The flowthread doesn't have an enclosing element, so when hitting the layer of the
1833         flowthread (e.g. the descent area of the RootInlineBox for the image flowed alone
1834         inside the flow thread) we're letting the hit testing continue so it will hit the region.
1835
1836         Tests: fast/regions/assert-hit-test-image.html
1837                fast/regions/auto-size/region-same-height-as-div-with-inline-child.html
1838
1839         * rendering/RenderLayer.cpp:
1840         (WebCore::RenderLayer::hitTestContents):
1841
1842 2014-02-04  Mihnea Ovidenie  <mihnea@adobe.com>
1843
1844         ASSERTION FAILED: !object || (object->isRenderBlock())
1845         https://bugs.webkit.org/show_bug.cgi?id=127687
1846
1847         Reviewed by Ryosuke Niwa.
1848
1849         Currently, when computing the visible position for a point inside a region,
1850         we transform the point into flow thread coordinates and delegate the processing
1851         to the first child of the flow thread which we incorrectly assume is a block.
1852         However, we can specify flow-into also on inline elements which leads to the
1853         assertion.
1854
1855         Instead of delegating the processing to the first child when the flow thread
1856         has children, delegate the computation of the visible position to the
1857         flow thread and avoid any assumption about the nature of the flow thread
1858         first child. If the flow thread does not have any children that should be
1859         rendered by the region, let the region behave like an ordinary element
1860         with no children.
1861
1862         Tests: fast/regions/selection/position-for-point-inline-content-node.html
1863                fast/regions/selection/selection-ended-in-empty-region.html
1864
1865         * rendering/RenderRegion.cpp:
1866         (WebCore::RenderRegion::positionForPoint):
1867
1868 2014-02-03  Andreas Kling  <akling@apple.com>
1869
1870         Remove stray vestige from ::-webkit-distributed selector.
1871         <https://webkit.org/b/128154>
1872
1873         Reviewed by Anders Carlsson.
1874
1875         * css/CSSSelector.cpp:
1876         (WebCore::CSSSelector::extractPseudoType):
1877
1878 2014-02-03  Andreas Kling  <akling@apple.com>
1879
1880         Remove the CSS @host rule.
1881         <https://webkit.org/b/128146>
1882
1883         The @host rule is no longer part of the spec, and besides this code
1884         was behind ENABLE(SHADOW_DOM) so nobody was building it.
1885
1886         Reviewed by Anders Carlsson.
1887
1888         * CMakeLists.txt:
1889         * DerivedSources.cpp:
1890         * DerivedSources.make:
1891         * GNUmakefile.list.am:
1892         * WebCore.vcxproj/WebCore.vcxproj:
1893         * WebCore.vcxproj/WebCore.vcxproj.filters:
1894         * WebCore.xcodeproj/project.pbxproj:
1895         * bindings/js/JSCSSRuleCustom.cpp:
1896         (WebCore::toJS):
1897         * bindings/objc/DOMCSS.mm:
1898         (kitClass):
1899         * css/CSSAllInOne.cpp:
1900         * css/CSSGrammar.y.in:
1901         * css/CSSHostRule.cpp: Removed.
1902         * css/CSSHostRule.h: Removed.
1903         * css/CSSHostRule.idl: Removed.
1904         * css/CSSParser.cpp:
1905         (WebCore::CSSParser::detectDashToken):
1906         (WebCore::CSSParser::detectAtToken):
1907         * css/CSSParser.h:
1908         * css/CSSRule.h:
1909         * css/CSSRule.idl:
1910         * css/InspectorCSSOMWrappers.cpp:
1911         (WebCore::InspectorCSSOMWrappers::collect):
1912         * css/StyleResolver.h:
1913         * css/StyleRule.cpp:
1914         (WebCore::StyleRuleBase::destroy):
1915         (WebCore::StyleRuleBase::copy):
1916         (WebCore::StyleRuleBase::createCSSOMWrapper):
1917         * css/StyleRule.h:
1918         * css/StyleSheetContents.cpp:
1919         (WebCore::childRulesHaveFailedOrCanceledSubresources):
1920         * inspector/InspectorStyleSheet.cpp:
1921         (flattenSourceData):
1922         (WebCore::asCSSRuleList):
1923
1924 2014-02-03  Zalan Bujtas  <zalan@apple.com>
1925
1926         Subpixel rendering: Do not query the scaling factor when the graphics context is invalid.
1927         https://bugs.webkit.org/show_bug.cgi?id=128131
1928
1929         Reviewed by Simon Fraser.
1930
1931         No existing context to test it.
1932
1933         * platform/graphics/GraphicsContext.h:
1934         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1935         (WebCore::GraphicsContext::platformInit):
1936         * platform/graphics/cg/GraphicsContextCG.cpp:
1937         (WebCore::GraphicsContext::platformInit):
1938         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1939         (WebCore::GraphicsContext::platformInit):
1940
1941 2014-02-03  Hunseop Jeong  <hs85.jeong@samsung.com>
1942
1943         [Cairo] GraphicsContext::m_pixelSnappingFactor is uninitialized
1944         https://bugs.webkit.org/show_bug.cgi?id=128102
1945
1946         Reviewed by Csaba Osztrogonác.
1947
1948         Initalize m_pixelSnappingFactor to 1
1949
1950         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1951         (WebCore::GraphicsContext::GraphicsContext): Initialized pixelSnappingFactor to 1 and 
1952         fixed the coding style violation.
1953
1954 2014-02-03  Brian Burg  <bburg@apple.com>
1955
1956         Web Replay: upstream base input classes and the input cursor interface
1957         https://bugs.webkit.org/show_bug.cgi?id=128110
1958
1959         Reviewed by Joseph Pecoraro.
1960
1961         Add EventLoopInput, a base class for replay inputs that are handled
1962         as if they begin a new run loop. For example, navigations, user input,
1963         network callbacks, and asynchronous timers are modeled by inputs which
1964         derive from this base class.
1965
1966         Add the ability to set an InputCursor instance on a Document. This
1967         is the means for connecting a replay recording to a document context.
1968
1969         Add forwarding headers for some fundamental replay classes.
1970
1971         No new tests; no new functionality is exposed.
1972
1973         * ForwardingHeaders/replay/EmptyInputCursor.h: Added.
1974         * ForwardingHeaders/replay/InputCursor.h: Added.
1975         * ForwardingHeaders/replay/NondeterministicInput.h: Added.
1976         * WebCore.xcodeproj/project.pbxproj:
1977         * dom/Document.cpp:
1978         (WebCore::Document::Document):
1979         * dom/Document.h:
1980         (WebCore::Document::inputCursor):
1981         (WebCore::Document::setInputCursor):
1982         * replay/EventLoopInput.h: Added.
1983         (WebCore::ReplayPosition::ReplayPosition):
1984         (WebCore::ReplayPosition::index):
1985         (WebCore::ReplayPosition::time):
1986         (WebCore::EventLoopInputBase::EventLoopInputBase):
1987         (WebCore::EventLoopInputBase::~EventLoopInputBase):
1988         (WebCore::EventLoopInputBase::setPosition):
1989         (WebCore::EventLoopInputBase::position):
1990
1991 2014-02-03  Jinwoo Song  <jinwoo7.song@samsung.com>
1992
1993         Remove unused code in CSSParser.cpp
1994         https://bugs.webkit.org/show_bug.cgi?id=128135
1995
1996         Reviewed by Darin Adler.
1997
1998         * css/CSSParser.cpp:
1999         (WebCore::CSSParser::parseValue):
2000
2001 2014-02-03  Brent Fulgham  <bfulgham@apple.com>
2002
2003         [Mac] WK1 Clients Only Latch on Momentum Scroll
2004         https://bugs.webkit.org/show_bug.cgi?id=128133
2005
2006         Reviewed by Simon Fraser.
2007
2008         * platform/PlatformWheelEvent.h:
2009         (WebCore::PlatformWheelEvent::useLatchedEventElement): Update
2010         predicate to recognize the start and change phases of the wheel
2011         event as latchable (not just momentum start/change).
2012
2013 2014-02-03  Dean Jackson  <dino@apple.com>
2014
2015         Feature flag for shape-inside
2016         https://bugs.webkit.org/show_bug.cgi?id=128001
2017
2018         Reviewed by Simon Fraser.
2019
2020         Add CSS_SHAPE_INSIDE flag.
2021
2022         I wrapped everything that is specific to shape-inside in
2023         this flag. It is now possible to build with CSS Shapes enabled
2024         but shape-inside disabled. CSS_SHAPE_INSIDE is dependent on
2025         CSS_SHAPES, so disabling the latter should also disable the former.
2026
2027         * Configurations/FeatureDefines.xcconfig:
2028         * css/CSSComputedStyleDeclaration.cpp:
2029         (WebCore::ComputedStyleExtractor::propertyValue):
2030         * css/CSSParser.cpp:
2031         (WebCore::CSSParser::parseValue):
2032         (WebCore::CSSParser::parseShapeProperty):
2033         * css/CSSPropertyNames.in:
2034         * css/DeprecatedStyleBuilder.cpp:
2035         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2036         * css/StyleResolver.cpp:
2037         (WebCore::StyleResolver::applyProperty):
2038         (WebCore::StyleResolver::loadPendingImages):
2039         * page/animation/CSSPropertyAnimation.cpp:
2040         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2041         * rendering/LayoutState.cpp:
2042         (WebCore::LayoutState::LayoutState):
2043         * rendering/LayoutState.h:
2044         (WebCore::LayoutState::LayoutState):
2045         * rendering/RenderBlock.cpp:
2046         (WebCore::RenderBlock::styleDidChange):
2047         (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
2048         (WebCore::RenderBlock::updateShapesAfterBlockLayout):
2049         * rendering/RenderBlock.h:
2050         * rendering/RenderBlockFlow.cpp:
2051         (WebCore::RenderBlockFlow::layoutBlockChild):
2052         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
2053         * rendering/RenderBlockFlow.h:
2054         * rendering/RenderBlockLineLayout.cpp:
2055         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
2056         (WebCore::constructBidiRunsForLine):
2057         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
2058         * rendering/RenderElement.cpp:
2059         (WebCore::RenderElement::~RenderElement):
2060         (WebCore::RenderElement::initializeStyle):
2061         (WebCore::RenderElement::setStyle):
2062         * rendering/RenderNamedFlowFragment.cpp:
2063         (WebCore::RenderNamedFlowFragment::createStyle):
2064         * rendering/RenderView.h:
2065         * rendering/SimpleLineLayout.cpp:
2066         (WebCore::SimpleLineLayout::canUseFor):
2067         * rendering/line/BreakingContextInlineHeaders.h:
2068         (WebCore::BreakingContext::handleText):
2069         (WebCore::BreakingContext::handleEndOfLine):
2070         * rendering/line/LineBreaker.cpp:
2071         (WebCore::LineBreaker::nextLineBreak):
2072         * rendering/line/LineWidth.cpp:
2073         (WebCore::LineWidth::LineWidth):
2074         (WebCore::LineWidth::updateAvailableWidth):
2075         (WebCore::LineWidth::fitBelowFloats):
2076         * rendering/line/LineWidth.h:
2077         * rendering/shapes/ShapeInsideInfo.cpp:
2078         * rendering/shapes/ShapeInsideInfo.h:
2079         * rendering/style/RenderStyle.cpp:
2080         (WebCore::RenderStyle::changeRequiresLayout):
2081         * rendering/style/RenderStyle.h:
2082         * rendering/style/StyleRareNonInheritedData.cpp:
2083         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2084         (WebCore::StyleRareNonInheritedData::operator==):
2085         * rendering/style/StyleRareNonInheritedData.h:
2086
2087 2014-02-03  Radu Stavila  <stavila@adobe.com>
2088
2089         REGRESSION (r163018): Can’t scroll in <select> lists
2090         https://bugs.webkit.org/show_bug.cgi?id=128090
2091
2092         The regression was caused by the fact that a new method scrollWithWheelEventLocation() was added
2093         to RenderBox to replace the generic scroll() method for the particular case of scrolling using 
2094         the mouse wheel. This turned out to be a mistake because in the case of some elements, like select lists, 
2095         the scroll method was overriden and now the incorrect method was being called.
2096         The solution was to remove the new method and just add two default parameters to the generic
2097         scroll method.
2098
2099         Reviewed by Simon Fraser.
2100
2101         Test: fast/scrolling/scroll-select-list.html
2102
2103         * page/EventHandler.cpp:
2104         (WebCore::scrollNode):
2105         * rendering/RenderBox.cpp:
2106         (WebCore::RenderBox::scroll):
2107         * rendering/RenderBox.h:
2108         * rendering/RenderEmbeddedObject.cpp:
2109         (WebCore::RenderEmbeddedObject::scroll):
2110         * rendering/RenderEmbeddedObject.h:
2111         * rendering/RenderListBox.cpp:
2112         (WebCore::RenderListBox::scroll):
2113         * rendering/RenderListBox.h:
2114         * rendering/RenderTextControlSingleLine.cpp:
2115         (WebCore::RenderTextControlSingleLine::scroll):
2116         * rendering/RenderTextControlSingleLine.h:
2117
2118 2014-02-03  Chris Fleizach  <cfleizach@apple.com>
2119
2120         AX: WebKit should support @headers/@id for complex accessible web tables
2121         https://bugs.webkit.org/show_bug.cgi?id=128114
2122
2123         Reviewed by Darin Adler.
2124
2125         Expose the headers attribute for table cells to accessibility.
2126
2127         Test: platform/mac/accessibility/table-headers-attribute.html
2128
2129         * accessibility/AccessibilityTableCell.cpp:
2130         (WebCore::AccessibilityTableCell::columnHeaders):
2131
2132 2014-02-03  Andreas Kling  <akling@apple.com>
2133
2134         CTTE: RenderSVGGradientStop always has a SVGStopElement.
2135         <https://webkit.org/b/128107>
2136
2137         RenderSVGGradientStop is never anonymous and always has a
2138         corresponding SVGStopElement. Codify this by adding an element()
2139         overload that returns an SVGStopElement&.
2140
2141         Also added missing overrides and made most functions private.
2142
2143         Reviewed by Darin Adler.
2144
2145         * rendering/svg/RenderSVGGradientStop.cpp:
2146         (WebCore::RenderSVGGradientStop::styleDidChange):
2147         (WebCore::RenderSVGGradientStop::gradientElement):
2148         * rendering/svg/RenderSVGGradientStop.h:
2149         * rendering/svg/SVGRenderTreeAsText.cpp:
2150         (WebCore::writeSVGGradientStop):
2151
2152 2014-02-03  David Kilzer  <ddkilzer@apple.com>
2153
2154         Remove CachedImageManual class
2155         <http://webkit.org/b/128043>
2156
2157         Reviewed by Darin Adler.
2158
2159         Get rid of the CachedImageManual class by inlining its
2160         functionality into CachedImage.  This makes it possible to
2161         de-virtual-ize isManual() (renamed to isManuallyCached()) and to
2162         make CachedImage final.  The size of CachedImage does not
2163         increase because we turn an existing bool into a bitfield to add
2164         an m_isManuallyCached bit, and create a static CachedImageClient
2165         in MemoryCache.cpp as the "fake" client to keep the manually
2166         cached image alive in the cache.
2167
2168         * loader/cache/CachedImage.cpp:
2169         (WebCore::CachedImage::CachedImage): Set m_isManuallyCached
2170         bitfield.  For one overloaded constructor, move the
2171         CachedImageManual code into the CachedImage constructor.
2172         (WebCore::CachedImageManual::CachedImageManual): Remove.
2173         (WebCore::CachedImage::mustRevalidateDueToCacheHeaders): Move
2174         method from CachedImageManual to CachedImage, and put
2175         ManuallyCached behavior behind a check.
2176         * loader/cache/CachedImage.h: Update includes.  Make CachedImage
2177         final.  Add CachedImage::CacheBehaviorType enum when manually
2178         cached images are created.  Move CachedImageManual methods into
2179         CachedImage, remove addFakeClient() and removeFakeClient()
2180         methods (MemoryCache methods use addClient() and removeClient()
2181         with a static CachedImageClient), and remove the
2182         CachedImageManual class definition.  Change
2183         m_shouldPaintBrokenImage to a bitfield and add
2184         m_isManuallyCached bitfield.
2185
2186         * loader/cache/MemoryCache.cpp:
2187         (WebCore::MemoryCache::addImageToCache): Use std::unique_ptr and
2188         remove useless NULL check after calling CachedImage constructor.
2189         (WebCore::MemoryCache::removeImageFromCache):
2190         - Update to use CachedImage class instead of CachedImageManual.
2191
2192 2014-02-03  Zan Dobersek  <zdobersek@igalia.com>
2193
2194         Move the webdatabase module source code to std::unique_ptr
2195         https://bugs.webkit.org/show_bug.cgi?id=127278
2196
2197         Reviewed by Antti Koivisto.
2198
2199         Replace the majority of OwnPtr uses in the webdatabase module with std::unique_ptr.
2200         The only remaining uses are due to ScriptExecutionContext::Task subclasses.
2201
2202         * Modules/webdatabase/AbstractSQLTransactionBackend.h:
2203         * Modules/webdatabase/Database.cpp:
2204         * Modules/webdatabase/DatabaseTask.h:
2205         * Modules/webdatabase/DatabaseThread.cpp:
2206         (WebCore::DatabaseThread::DatabaseThread):
2207         * Modules/webdatabase/DatabaseThread.h:
2208         * Modules/webdatabase/DatabaseTracker.cpp:
2209         (WebCore::DatabaseTracker::addOpenDatabase):
2210         * Modules/webdatabase/DatabaseTracker.h:
2211         * Modules/webdatabase/OriginLock.cpp:
2212         * Modules/webdatabase/SQLStatement.cpp:
2213         * Modules/webdatabase/SQLStatement.h:
2214         * Modules/webdatabase/SQLStatementBackend.cpp:
2215         (WebCore::SQLStatementBackend::create):
2216         (WebCore::SQLStatementBackend::SQLStatementBackend):
2217         * Modules/webdatabase/SQLStatementBackend.h:
2218         * Modules/webdatabase/SQLTransaction.cpp:
2219         (WebCore::SQLTransaction::executeSQL):
2220         * Modules/webdatabase/SQLTransactionBackend.cpp:
2221         (WebCore::SQLTransactionBackend::doCleanup):
2222         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
2223         (WebCore::SQLTransactionBackend::executeSQL):
2224         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
2225         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
2226         * Modules/webdatabase/SQLTransactionBackend.h:
2227         * Modules/webdatabase/SQLTransactionBackendSync.cpp:
2228         (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
2229         (WebCore::SQLTransactionBackendSync::begin):
2230         (WebCore::SQLTransactionBackendSync::commit):
2231         (WebCore::SQLTransactionBackendSync::rollback):
2232         * Modules/webdatabase/SQLTransactionBackendSync.h:
2233
2234 2014-02-03  Andreas Kling  <akling@apple.com>
2235
2236         CTTE: Grab bag of SVGRenderTreeAsText cleanups.
2237         <https://webkit.org/b/128099>
2238
2239         Made some of the DRT SVG functions take more specific types than
2240         RenderObject. Removed some redundant casts.
2241
2242         Reviewed by Anders Carlsson.
2243
2244         * rendering/RenderTreeAsText.cpp:
2245         (WebCore::write):
2246         * rendering/svg/SVGRenderTreeAsText.h:
2247         * rendering/svg/SVGRenderTreeAsText.cpp:
2248         (WebCore::writeSVGResourceContainer):
2249         (WebCore::writeSVGContainer):
2250
2251             Make writeSVGResourceContainer() and writeSVGContainer() take the
2252             final type instead of RenderObject.
2253
2254         (WebCore::writeStyle):
2255         (WebCore::writePositionAndStyle):
2256
2257             Make these take RenderElement instead of RenderObject.
2258
2259         (WebCore::writeChildren):
2260
2261             Use child renderer iterator.
2262
2263         (WebCore::writeResources):
2264
2265             Remove unnecessary cast.
2266
2267 2014-01-25  Darin Adler  <darin@apple.com>
2268
2269         Stop using Unicode.h
2270         https://bugs.webkit.org/show_bug.cgi?id=127633
2271
2272         Reviewed by Anders Carlsson.
2273
2274         * Modules/indexeddb/IDBKeyPath.cpp:
2275         * css/CSSFontFace.h:
2276         * css/CSSOMUtils.h:
2277         * css/CSSSegmentedFontFace.h:
2278         * css/CSSUnicodeRangeValue.h:
2279         * editing/Editor.cpp:
2280         * editing/SmartReplace.h:
2281         * html/parser/HTMLTokenizer.cpp:
2282         * loader/DocumentLoader.cpp:
2283         * page/ContextMenuController.cpp:
2284         * page/Settings.h:
2285         * platform/DateComponents.h:
2286         * platform/SharedBuffer.cpp:
2287         * platform/graphics/Color.h:
2288         * platform/graphics/FontCache.h:
2289         * platform/graphics/FontData.h:
2290         * platform/graphics/FontDescription.h:
2291         * platform/graphics/FontFastPath.cpp:
2292         * platform/graphics/FontGenericFamilies.h:
2293         * platform/graphics/FontGlyphs.cpp:
2294         * platform/graphics/GlyphMetricsMap.h:
2295         * platform/graphics/GlyphPage.h:
2296         * platform/graphics/GlyphPageTreeNode.cpp:
2297         * platform/graphics/GlyphPageTreeNode.h:
2298         * platform/graphics/SVGGlyph.cpp:
2299         * platform/graphics/WidthIterator.h:
2300         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2301         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2302         * platform/graphics/mac/ComplexTextController.h:
2303         * platform/graphics/win/QTMovie.h:
2304         * platform/graphics/wince/FontWinCE.cpp:
2305         * platform/text/BidiContext.h:
2306         * platform/text/Hyphenation.h:
2307         * platform/text/LocaleToScriptMapping.h:
2308         * platform/text/TextBoundaries.cpp:
2309         * platform/text/TextBoundaries.h:
2310         * platform/text/TextBreakIterator.h:
2311         * platform/text/TextCodec.h:
2312         * platform/text/TextEncoding.h:
2313         * platform/text/TextEncodingRegistry.h:
2314         * platform/text/TextStream.h:
2315         * platform/text/icu/UTextProvider.h:
2316         * platform/text/icu/UTextProviderLatin1.h:
2317         * platform/text/icu/UTextProviderUTF16.h:
2318         * platform/text/wchar/TextBreakIteratorWchar.cpp:
2319         * platform/win/WebCoreTextRenderer.cpp:
2320         * rendering/RootInlineBox.cpp:
2321         * rendering/SimpleLineLayout.cpp:
2322         * rendering/SimpleLineLayoutFunctions.cpp:
2323         * rendering/break_lines.h:
2324         * svg/SVGFontData.cpp:
2325         Removed includes of <wtf/unicode/Unicode.h>, adding includes of
2326         ICU headers and <wtf/text/LChar.h> as needed to replace it.
2327
2328 2014-02-03  Jessie Berlin  <jberlin@apple.com>
2329
2330         Revert r163299 since it broke the ML 32-bit Release build
2331
2332         * html/HTMLAnchorElement.cpp:
2333         (WebCore::parsePortFromStringPosition):
2334         (WebCore::HTMLAnchorElement::hash):
2335         (WebCore::HTMLAnchorElement::setHash):
2336         (WebCore::HTMLAnchorElement::host):
2337         (WebCore::HTMLAnchorElement::setHost):
2338         (WebCore::HTMLAnchorElement::hostname):
2339         (WebCore::HTMLAnchorElement::setHostname):
2340         (WebCore::HTMLAnchorElement::pathname):
2341         (WebCore::HTMLAnchorElement::setPathname):
2342         (WebCore::HTMLAnchorElement::port):
2343         (WebCore::HTMLAnchorElement::setPort):
2344         (WebCore::HTMLAnchorElement::protocol):
2345         (WebCore::HTMLAnchorElement::setProtocol):
2346         (WebCore::HTMLAnchorElement::search):
2347         (WebCore::HTMLAnchorElement::origin):
2348         (WebCore::HTMLAnchorElement::setSearch):
2349         (WebCore::HTMLAnchorElement::toString):
2350         * html/HTMLAnchorElement.h:
2351         * html/HTMLAnchorElement.idl:
2352         * html/HTMLAreaElement.idl:
2353         * html/URLUtils.idl:
2354
2355 2014-02-03  Mihai Maerean  <mmaerean@adobe.com>
2356
2357         [CSS Regions] Fix selection and hover effect of content in region with overflow:hidden
2358         https://bugs.webkit.org/show_bug.cgi?id=127101
2359
2360         Reviewed by Mihnea Ovidenie.
2361
2362         RenderNamedFlowFragments are not hit candidates. The hit test algorithm will pick the
2363         parent layer, the one of the region.
2364
2365         Test: fast/regions/hover-overflow-hidden.html
2366
2367         * rendering/RenderLayer.cpp:
2368         (WebCore::isHitCandidate):
2369
2370 2014-02-02  Maciej Stachowiak  <mjs@apple.com>
2371
2372         Adopt URLUtils interface and template in HTMLAnchorElement and HTMLAreaElement
2373         https://bugs.webkit.org/show_bug.cgi?id=128067
2374
2375         Reviewed by Antti Koivisto.
2376
2377         Tests: fast/dom/HTMLAnchorElement/anchor-password.html
2378                fast/dom/HTMLAnchorElement/anchor-username.html
2379                fast/dom/HTMLAreaElement/area-password.html
2380                fast/dom/HTMLAreaElement/area-username.html
2381
2382         * html/HTMLAnchorElement.cpp:
2383         * html/HTMLAnchorElement.h:
2384         (WebCore::HTMLAnchorElement::setHref): Add version that takes
2385         (and ignores) ExceptionCode. This is needed because the URLUtil
2386         base interface is used for URL, which can throw an exception,
2387         and HTMLAnchorElement, which cannot.
2388         * html/HTMLAnchorElement.idl: implement URLUtils
2389         * html/HTMLAreaElement.idl: implement URLUtils
2390         * html/URLUtils.idl: Treat null as empty string for href
2391
2392 2014-02-03  Krzysztof Czech  <k.czech@samsung.com>
2393
2394         [ATK] Expose aria-controls through ATK_RELATION_CONTROLLER_FOR
2395         https://bugs.webkit.org/show_bug.cgi?id=127908
2396
2397         Reviewed by Chris Fleizach.
2398
2399         Based on w3c, aria-controls could be exposed through ATK_RELATION_CONTROLLER_FOR.
2400
2401         Test: accessibility/aria-controls.html
2402
2403         * accessibility/AccessibilityObject.h:
2404         (WebCore::AccessibilityObject::supportsARIAControls):
2405         (WebCore::AccessibilityObject::ariaControlsElements):
2406         * accessibility/AccessibilityRenderObject.cpp:
2407         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
2408         (WebCore::AccessibilityRenderObject::supportsARIAControls):
2409         (WebCore::AccessibilityRenderObject::ariaControlsElements):
2410         * accessibility/AccessibilityRenderObject.h:
2411         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2412         (setAtkRelationSetFromCoreObject):
2413
2414 2014-02-03  Andreas Kling  <akling@apple.com>
2415
2416         RenderSVGResource::removeClientFromCache() should take RenderElement&.
2417         <https://webkit.org/b/128097>
2418
2419         Text renderers never have resources associated with them.
2420         This is yet another step towards enforcing that at compile-time
2421         by making all the resource cache interfaces deal in RenderElement.
2422
2423         Also marked the RenderSVGResourceSolidColor class final.
2424
2425         Reviewed by Darin Adler.
2426
2427         * rendering/svg/RenderSVGResource.cpp:
2428         (WebCore::removeFromCacheAndInvalidateDependencies):
2429         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
2430         * rendering/svg/RenderSVGResource.h:
2431         * rendering/svg/RenderSVGResourceClipper.cpp:
2432         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
2433         * rendering/svg/RenderSVGResourceClipper.h:
2434         * rendering/svg/RenderSVGResourceFilter.cpp:
2435         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
2436         * rendering/svg/RenderSVGResourceFilter.h:
2437         * rendering/svg/RenderSVGResourceGradient.cpp:
2438         (WebCore::RenderSVGResourceGradient::removeClientFromCache):
2439         * rendering/svg/RenderSVGResourceGradient.h:
2440         * rendering/svg/RenderSVGResourceMarker.cpp:
2441         (WebCore::RenderSVGResourceMarker::removeClientFromCache):
2442         * rendering/svg/RenderSVGResourceMarker.h:
2443         * rendering/svg/RenderSVGResourceMasker.cpp:
2444         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
2445         * rendering/svg/RenderSVGResourceMasker.h:
2446         * rendering/svg/RenderSVGResourcePattern.cpp:
2447         (WebCore::RenderSVGResourcePattern::removeClientFromCache):
2448         * rendering/svg/RenderSVGResourcePattern.h:
2449         * rendering/svg/RenderSVGResourceSolidColor.h:
2450         * rendering/svg/SVGRenderSupport.cpp:
2451         (WebCore::invalidateResourcesOfChildren):
2452         (WebCore::SVGRenderSupport::layoutChildren):
2453         * rendering/svg/SVGResources.cpp:
2454         (WebCore::SVGResources::removeClientFromCache):
2455         * rendering/svg/SVGResources.h:
2456
2457 2014-02-03  Dan Bernstein  <mitz@apple.com>
2458
2459         More iOS build fixing.
2460
2461         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2462         (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
2463         * html/parser/HTMLTreeBuilder.cpp:
2464         (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
2465         * page/ios/FrameIOS.mm:
2466         (WebCore::Frame::interpretationsForCurrentRoot):
2467
2468 2014-02-03  Darin Adler  <darin@apple.com>
2469
2470         Try to fix iOS build.
2471
2472         * html/BaseDateAndTimeInputType.cpp:
2473         (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
2474         Use deprecatedCharacters.
2475
2476 2014-02-02  Darin Adler  <darin@apple.com>
2477
2478         Obey "delete this" comments, including deleting String::characters and friends
2479         https://bugs.webkit.org/show_bug.cgi?id=126865
2480
2481         Reviewed by Andreas Kling.
2482
2483         * CMakeLists.txt: Deleted HTMLParserErrorCodes.cpp.
2484         * GNUmakefile.list.am: Deleted HTMLParserErrorCodes.cpp/h, and HTMLParserQuirks.h.
2485         * WebCore.vcxproj/WebCore.vcxproj: Deleted HTMLParserErrorCodes.cpp/h.
2486         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2487         * WebCore.xcodeproj/project.pbxproj: Ditto.
2488
2489         * html/HTMLParserErrorCodes.cpp: Removed.
2490         * html/HTMLParserErrorCodes.h: Removed.
2491         * html/HTMLParserQuirks.h: Removed.
2492
2493         * rendering/RenderText.h: Deleted the characters function, leaving behind the
2494         deprecatedCharacters function.
2495
2496 2014-02-02  Brady Eidson  <beidson@apple.com>
2497
2498         IDB: Cannot open new databases with the default version
2499         https://bugs.webkit.org/show_bug.cgi?id=128096
2500
2501         Reviewed by Tim Horton.
2502
2503         * Modules/indexeddb/IDBDatabaseBackend.cpp:
2504         (WebCore::IDBDatabaseBackend::openConnectionInternal): Update logic to handle the
2505           current version being NoIntVersion.
2506
2507         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2508         (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Update ASSERT.
2509
2510 2014-02-02  Darin Adler  <darin@apple.com>
2511
2512         Fix context save/restore mistake spotted in SVGInlineTextBox::paintTextWithShadows
2513         https://bugs.webkit.org/show_bug.cgi?id=128095
2514
2515         Reviewed by Andreas Kling.
2516
2517         * rendering/svg/SVGInlineTextBox.cpp:
2518         (WebCore::SVGInlineTextBox::paintTextWithShadows): Move calls to GraphicsContext::restore
2519         and GraphicsContext::clearShadow before restoreGraphicsContextAfterTextPainting, since that
2520         function can swap contexts.
2521
2522 2014-02-02  Andreas Kling  <akling@apple.com>
2523
2524         Modernize RenderSVGText::locateRenderSVGTextAncestor().
2525         <https://webkit.org/b/128093>
2526
2527         Make locateRenderSVGTextAncestor() take a reference, and simplify it
2528         internally with lineageOfType.
2529
2530         Switched callers to use 'auto' for the return type so we get some
2531         devirtualization freebies.
2532
2533         Reviewed by Anders Carlsson.
2534
2535         * rendering/svg/RenderSVGInline.cpp:
2536         (WebCore::RenderSVGInline::objectBoundingBox):
2537         (WebCore::RenderSVGInline::strokeBoundingBox):
2538         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
2539         (WebCore::RenderSVGInline::absoluteQuads):
2540         (WebCore::RenderSVGInline::addChild):
2541         (WebCore::RenderSVGInline::removeChild):
2542         * rendering/svg/RenderSVGInlineText.cpp:
2543         (WebCore::RenderSVGInlineText::setTextInternal):
2544         (WebCore::RenderSVGInlineText::styleDidChange):
2545         * rendering/svg/RenderSVGResourceGradient.cpp:
2546         (WebCore::createMaskAndSwapContextForTextGradient):
2547         (WebCore::clipToTextMask):
2548         * rendering/svg/RenderSVGText.cpp:
2549         (WebCore::RenderSVGText::locateRenderSVGTextAncestor):
2550         * rendering/svg/RenderSVGText.h:
2551         (WebCore::RenderSVGText>):
2552         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2553         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
2554         * rendering/svg/SVGTextMetricsBuilder.cpp:
2555         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
2556         * svg/SVGTextPositioningElement.cpp:
2557         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
2558
2559 2014-02-02  Andreas Kling  <akling@apple.com>
2560
2561         Modernize the toRenderSVGResourceContainer() helper.
2562         <https://webkit.org/b/128091>
2563
2564         Make toRenderSVGResourceContainer() a free function like all the
2565         other casting helpers. Use references instead of pointers where
2566         applicable.
2567
2568         Reviewed by Anders Carlsson.
2569
2570         * rendering/RenderLayerFilterInfo.cpp:
2571         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
2572         (WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):
2573         * rendering/RenderObject.cpp:
2574         * rendering/RenderObject.h:
2575         * rendering/svg/RenderSVGGradientStop.cpp:
2576         (WebCore::RenderSVGGradientStop::styleDidChange):
2577         * rendering/svg/RenderSVGResource.cpp:
2578         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
2579         * rendering/svg/RenderSVGResourceContainer.cpp:
2580         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
2581         * rendering/svg/RenderSVGResourceContainer.h:
2582         * rendering/svg/RenderSVGResourceFilter.cpp:
2583         (WebCore::RenderSVGResourceFilter::buildPrimitives):
2584         * rendering/svg/RenderSVGResourceFilter.h:
2585         * rendering/svg/SVGRenderTreeAsText.cpp:
2586         (WebCore::writeSVGResourceContainer):
2587         * rendering/svg/SVGResourcesCycleSolver.cpp:
2588         (WebCore::SVGResourcesCycleSolver::resolveCycles):
2589         * svg/SVGElement.cpp:
2590         (WebCore::SVGElement::svgAttributeChanged):
2591
2592 2014-02-02  Andreas Kling  <akling@apple.com>
2593
2594         Minor SVGRootInlineBox cleanup.
2595         <https://webkit.org/b/128094>
2596
2597         Remove two virtual functions and sprinkle some missing overrides.
2598
2599         Reviewed by Anders Carlsson.
2600
2601         * rendering/svg/SVGRootInlineBox.h:
2602
2603 2014-01-30  Oliver Hunt  <oliver@apple.com>
2604
2605         Push DOM attributes into the prototype chain
2606         https://bugs.webkit.org/show_bug.cgi?id=127969
2607
2608         Reviewed by Mark Lam.
2609
2610         This patch does the actual work of moving dom attributes up the
2611         prototype chain. There are still a few class and edge cases
2612         where we can't do this without impacting existing behaviour,
2613         but they can be fixed separately in later patches.
2614
2615         * bindings/js/JSDOMBinding.h:
2616         (WebCore::getStaticPropertySlotEntryWithoutCaching):
2617         (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
2618         * bindings/scripts/CodeGeneratorJS.pm:
2619         (GenerateGetOwnPropertySlotBody):
2620         (HasComplexGetOwnProperty):
2621         (ConstructorShouldBeOnInstance):
2622         (AttributeShouldBeOnInstance):
2623         (InstanceAttributeCount):
2624         (PrototypeAttributeCount):
2625         (InstanceOverridesGetOwnPropertySlot):
2626         (PrototypeOverridesGetOwnPropertySlot):
2627         (GenerateAttributesHashTable):
2628         (GenerateImplementation):
2629
2630 2014-02-02  Andreas Kling  <akling@apple.com>
2631
2632         RenderSVGResourceContainer clients are always RenderElement.
2633         <https://webkit.org/b/128088>
2634
2635         All clients of RenderSVGResourceContainer are going to be RenderElement,
2636         so make the interface take RenderElement& instead of RenderObject*.
2637
2638         Also modernized the code a bit with C++11 range for loops.
2639
2640         Reviewed by Sam Weinig.
2641
2642         * rendering/svg/RenderSVGResourceContainer.cpp:
2643         (WebCore::RenderSVGResourceContainer::addClient):
2644         (WebCore::RenderSVGResourceContainer::removeClient):
2645         * rendering/svg/RenderSVGResourceContainer.h:
2646         * rendering/svg/SVGResourcesCache.cpp:
2647         (WebCore::SVGResourcesCache::addResourcesFromRenderer):
2648         (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
2649
2650 2014-02-02  Zalan Bujtas  <zalan@apple.com>
2651
2652         Subpixel rendering: Use floorf/roundf/fabs in device snapping helpers.
2653         https://bugs.webkit.org/show_bug.cgi?id=128075
2654
2655         Reviewed by Darin Adler.
2656
2657         No change in functionality.
2658
2659         * platform/LayoutUnit.h:
2660         (WebCore::roundToDevicePixel):
2661         (WebCore::floorToDevicePixel):
2662         * platform/graphics/cg/GraphicsContextCG.cpp:
2663         (WebCore::GraphicsContext::platformInit):
2664
2665 2014-02-02  Andreas Kling  <akling@apple.com>
2666
2667         SVGDocumentExtensions::resourcesCache() should return a reference.
2668         <https://webkit.org/b/128087>
2669
2670         The SVGResourcesCache is always present when the Document is using
2671         SVG extensions, so make this return a reference and propagate that
2672         knowledge to the call site.
2673
2674         This gets rid of an assertion and some rickety looking ->'s.
2675         Also converted a loop to use C++11 range for syntax.
2676
2677         Reviewed by Sam Weinig.
2678
2679         * rendering/svg/SVGResourcesCache.cpp:
2680         (WebCore::resourcesCacheFromRenderer):
2681         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
2682         (WebCore::SVGResourcesCache::clientStyleChanged):
2683         (WebCore::SVGResourcesCache::clientWasAddedToTree):
2684         (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
2685         (WebCore::SVGResourcesCache::clientDestroyed):
2686         (WebCore::SVGResourcesCache::resourceDestroyed):
2687         * svg/SVGDocumentExtensions.h:
2688         (WebCore::SVGDocumentExtensions::resourcesCache):
2689
2690 2014-02-02  Andreas Kling  <akling@apple.com>
2691
2692         RenderSVGInlineText::computeNewScaledFontForStyle() should take references.
2693         <https://webkit.org/b/128086>
2694
2695         Make computeNewScaledFontForStyle() take renderer and style by reference
2696         instead of taking a pointer and asserting that it's non-null.
2697
2698         Reviewed by Darin Adler.
2699
2700         * rendering/svg/RenderSVGInlineText.cpp:
2701         (WebCore::RenderSVGInlineText::updateScaledFont):
2702         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
2703         * rendering/svg/RenderSVGInlineText.h:
2704         * rendering/svg/RenderSVGResourceClipper.cpp:
2705         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2706         * rendering/svg/RenderSVGResourceContainer.cpp:
2707         (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):
2708         * rendering/svg/RenderSVGResourceFilter.cpp:
2709         (WebCore::RenderSVGResourceFilter::applyResource):
2710         * rendering/svg/RenderSVGResourceGradient.cpp:
2711         (WebCore::createMaskAndSwapContextForTextGradient):
2712         (WebCore::clipToTextMask):
2713         * rendering/svg/RenderSVGResourceMasker.cpp:
2714         (WebCore::RenderSVGResourceMasker::applyResource):
2715         * rendering/svg/RenderSVGResourcePattern.cpp:
2716         (WebCore::RenderSVGResourcePattern::buildPattern):
2717         * rendering/svg/SVGInlineTextBox.cpp:
2718         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
2719         * rendering/svg/SVGRenderingContext.cpp:
2720         (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
2721         (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
2722         * rendering/svg/SVGRenderingContext.h:
2723
2724 2014-02-02  Darin Adler  <darin@apple.com>
2725
2726         Still more characters -> deprecatedCharacters (EWS keeps finding more)
2727         https://bugs.webkit.org/show_bug.cgi?id=128076
2728
2729         Reviewed by Andreas Kling.
2730
2731         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2732         (WebCore::HarfBuzzShaper::setFontFeatures):
2733         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
2734         Use deprecatedCharacters.
2735
2736 2014-02-02  Zalan Bujtas  <zalan@apple.com>
2737
2738         Subpixel rendering: Enable subpixel positioning/sizing/hairline border painting.
2739         https://bugs.webkit.org/show_bug.cgi?id=128009
2740
2741         Reviewed by Simon Fraser.
2742
2743         Snap and clip to device pixels when painting boxes. Enable hairline painting
2744         for solid border.
2745
2746         No existing context to test this functionality yet.
2747
2748         * rendering/RenderBoxModelObject.cpp:
2749         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2750         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2751         * rendering/RenderObject.cpp:
2752         (WebCore::RenderObject::drawLineForBoxSide):
2753         * rendering/style/RenderStyle.cpp:
2754         (WebCore::RenderStyle::getRoundedBorderFor):
2755         (WebCore::RenderStyle::getRoundedInnerBorderFor):
2756
2757 2014-02-02  Sam Weinig  <sam@webkit.org>
2758
2759         Add some missing override keywords
2760         https://bugs.webkit.org/show_bug.cgi?id=128082
2761
2762         Reviewed by Antti Koivisto.
2763
2764         * loader/DocumentThreadableLoader.h:
2765         * loader/LinkLoader.h:
2766         * loader/TextTrackLoader.h:
2767         * xml/parser/XMLDocumentParser.h:
2768
2769 2014-02-02  Brady Eidson  <beidson@apple.com>
2770
2771         IDB: Support IDBFactory.deleteDatabase()
2772         https://bugs.webkit.org/show_bug.cgi?id=128060
2773
2774         Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)
2775
2776         * Modules/indexeddb/IDBDatabaseBackend.cpp:
2777         (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
2778
2779         * Modules/indexeddb/IDBFactory.cpp:
2780         (WebCore::IDBFactory::deleteDatabase):
2781
2782         Change factory-level deleteDatabase to take opening and main frame origins:
2783         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2784         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2785         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
2786         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2787
2788         * Modules/indexeddb/IDBServerConnection.h:
2789         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2790
2791         * WebCore.exp.in:
2792
2793 2014-02-02  Zalan Bujtas  <zalan@apple.com>
2794
2795         Subpixel rendering: Introduce device pixel snapping helper functions.
2796         https://bugs.webkit.org/show_bug.cgi?id=128049
2797
2798         Reviewed by Simon Fraser.
2799
2800         These functions help device pixel snapping during painting. They follow the logic of
2801         the corresponding pixelSnappedInt* functions.
2802
2803         No change in functionality.
2804
2805         * platform/LayoutUnit.h:
2806         (WebCore::roundToDevicePixel):
2807         (WebCore::floorToDevicePixel):
2808         (WebCore::snapSizeToPixel):
2809         (WebCore::snapSizeToDevicePixel):
2810         * platform/graphics/GraphicsContext.cpp:
2811         (WebCore::GraphicsContext::GraphicsContext):
2812         * platform/graphics/GraphicsContext.h:
2813         (WebCore::GraphicsContext::pixelSnappingFactor):
2814         * platform/graphics/LayoutRect.h:
2815         (WebCore::pixelSnappedForPainting):
2816         * platform/graphics/cg/GraphicsContextCG.cpp:
2817         (WebCore::GraphicsContext::platformInit):
2818
2819 2014-02-02  Zalan Bujtas  <zalan@apple.com>
2820
2821         Floor thickness and length after switching from int to float.
2822         https://bugs.webkit.org/show_bug.cgi?id=128071
2823
2824         Reviewed by Antti Koivisto.
2825
2826         This is a temporary solution to fix the assertion on empty line drawing until after
2827         device pixel snapping is added.
2828
2829         Covered by existing tests.
2830
2831         * rendering/RenderObject.cpp:
2832         (WebCore::RenderObject::drawLineForBoxSide):
2833
2834 2014-02-02  Antti Koivisto  <antti@apple.com>
2835
2836         Remove StyleScopeResolver
2837         https://bugs.webkit.org/show_bug.cgi?id=128069
2838
2839         Reviewed by Anders Carlsson.
2840
2841         This is dead code.
2842
2843         * CMakeLists.txt:
2844         * GNUmakefile.list.am:
2845         * WebCore.xcodeproj/project.pbxproj:
2846         * css/DocumentRuleSets.cpp:
2847         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
2848         (WebCore::DocumentRuleSets::collectFeatures):
2849         * css/DocumentRuleSets.h:
2850         * css/ElementRuleCollector.h:
2851         (WebCore::ElementRuleCollector::ElementRuleCollector):
2852         * css/RuleSet.cpp:
2853         (WebCore::RuleSet::addChildRules):
2854         * css/StyleResolver.cpp:
2855         (WebCore::StyleResolver::pushParentElement):
2856         (WebCore::StyleResolver::popParentElement):
2857         (WebCore::StyleResolver::locateSharedStyle):
2858         (WebCore::StyleResolver::styleForElement):
2859         * css/StyleResolver.h:
2860         (WebCore::StyleResolver::document):
2861         * css/StyleScopeResolver.cpp: Removed.
2862         * css/StyleScopeResolver.h: Removed.
2863         * style/StyleResolveTree.cpp:
2864         (WebCore::Style::attachShadowRoot):
2865         (WebCore::Style::resolveShadowTree):
2866
2867 2014-02-02  Zalan Bujtas  <zalan@apple.com>
2868
2869         Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
2870         https://bugs.webkit.org/show_bug.cgi?id=128036
2871
2872         Reviewed by Darin Adler.
2873
2874         Covered by existing tests.
2875
2876         * platform/LayoutUnit.h:
2877         (WebCore::LayoutUnit::operator++):
2878         * rendering/RenderBoxModelObject.cpp:
2879         (WebCore::BorderEdge::BorderEdge):
2880         (WebCore::BorderEdge::usedWidth):
2881         (WebCore::BorderEdge::getDoubleBorderStripeWidths):
2882         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2883         (WebCore::RenderBoxModelObject::paintBorder):
2884         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2885         (WebCore::calculateSideRectIncludingInner):
2886         * rendering/RenderObject.cpp:
2887         (WebCore::RenderObject::drawLineForBoxSide):
2888         * rendering/RenderObject.h:
2889         * rendering/style/BorderData.h:
2890         (WebCore::BorderData::borderLeftWidth):
2891         (WebCore::BorderData::borderRightWidth):
2892         (WebCore::BorderData::borderTopWidth):
2893         (WebCore::BorderData::borderBottomWidth):
2894         * rendering/style/RenderStyle.cpp:
2895         (WebCore::calcRadiiFor):
2896         (WebCore::calcConstraintScaleFor):
2897         (WebCore::RenderStyle::getRoundedInnerBorderFor):
2898         * rendering/style/RenderStyle.h:
2899
2900 2014-02-01  Hunseop Jeong  <hs85.jeong@samsung.com>
2901
2902         REGRESSION(r163234) Debug build is broken
2903         https://bugs.webkit.org/show_bug.cgi?id=128059
2904
2905         Unreviewed. Debug build is broken with INDEXED_DATABASE.
2906
2907         * Modules/indexeddb/IDBKeyData.cpp:
2908         (WebCore::IDBKeyData::loggingString): Added the default: case.
2909
2910 2014-02-01  Zalan Bujtas  <zalan@apple.com>
2911
2912         Subpixel rendering: LayoutUnit operator++ is broken.
2913         https://bugs.webkit.org/show_bug.cgi?id=128056
2914
2915         Reviewed by Darin Adler.
2916
2917         Add pre-increment operator++.
2918
2919         * platform/LayoutUnit.h:
2920         (WebCore::LayoutUnit::operator++):
2921
2922 2014-02-01  Darin Adler  <darin@apple.com>
2923
2924         More characters -> deprecatedCharacters (based on more EWS complaints)
2925         https://bugs.webkit.org/show_bug.cgi?id=128063
2926
2927         Reviewed by Anders Carlsson.
2928
2929         * editing/SmartReplace.cpp:
2930         (WebCore::addAllCodePoints):
2931         (WebCore::getSmartSet):
2932         * platform/win/WebCoreTextRenderer.cpp:
2933         (WebCore::doDrawTextAtPoint):
2934         Use deprecatedCharacters.
2935
2936 2014-02-01  Darin Adler  <darin@apple.com>
2937
2938         Use deprecatedCharacters in a few more places (non-Mac-build sites found by EWS)
2939         https://bugs.webkit.org/show_bug.cgi?id=128042
2940
2941         Reviewed by Sam Weinig.
2942
2943         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
2944         (WebCore::IDBLevelDBCoding::encodeString):
2945         * platform/graphics/win/FontCacheWin.cpp:
2946         (WebCore::FontCache::systemFallbackForCharacters):
2947         (WebCore::createGDIFont):
2948         (WebCore::FontCache::getTraitsInFamily):
2949         * platform/network/DataURL.cpp:
2950         (WebCore::handleDataURL):
2951         * platform/win/BString.cpp:
2952         (WebCore::BString::BString):
2953         * platform/win/ClipboardUtilitiesWin.cpp:
2954         (WebCore::createGlobalData):
2955         * platform/win/FileSystemWin.cpp:
2956         (WebCore::pathByAppendingComponent):
2957         (WebCore::fileSystemRepresentation):
2958         * platform/win/PasteboardWin.cpp:
2959         (WebCore::filesystemPathFromUrlOrTitle):
2960         (WebCore::Pasteboard::writeURLToDataObject):
2961         (WebCore::createGlobalImageFileDescriptor):
2962         * platform/win/PopupMenuWin.cpp:
2963         (WebCore::PopupMenuWin::calculatePositionAndSize):
2964         Call deprecatedCharacters instead of characters.
2965
2966 2014-02-01  Enrica Casucci  <enrica@apple.com>
2967
2968         Add support for ActionSheets in WK2 for iOS.
2969         https://bugs.webkit.org/show_bug.cgi?id=127586
2970         <rdar://problem/15283667>
2971
2972         Reviewed by Benjamin Poulain.
2973
2974         Updates the localizable strings for action sheets.
2975
2976         * English.lproj/Localizable.strings:
2977
2978 2014-02-01  Maciej Stachowiak  <mjs@apple.com>
2979
2980         Factor URL decomposition methods (from URLUtils interface) into a base template
2981         https://bugs.webkit.org/show_bug.cgi?id=128052
2982
2983         Reviewed by Sam Weinig.
2984
2985         Refactoring only; no new tests.
2986
2987         * html/DOMURL.cpp:
2988         * html/DOMURL.h:
2989         (WebCore::DOMURL::href): Moved to header and made inline.
2990         * html/URLUtils.h: Added. 
2991         (WebCore::URLUtils::href): Downcast and call the derived class.
2992         (WebCore::URLUtils::setHref): Downcast and call the derived class.
2993         Functions below factored out from DOMURL.cpp.
2994         (WebCore::URLUtils<T>::toString):
2995         (WebCore::URLUtils<T>::origin):
2996         (WebCore::URLUtils<T>::protocol):
2997         (WebCore::URLUtils<T>::setProtocol):
2998         (WebCore::URLUtils<T>::username):
2999         (WebCore::URLUtils<T>::setUsername):
3000         (WebCore::URLUtils<T>::password):
3001         (WebCore::URLUtils<T>::setPassword):
3002         (WebCore::URLUtils<T>::host):
3003         (WebCore::parsePortFromStringPosition):
3004         (WebCore::URLUtils<T>::setHost):
3005         (WebCore::URLUtils<T>::hostname):
3006         (WebCore::URLUtils<T>::setHostname):
3007         (WebCore::URLUtils<T>::port):
3008         (WebCore::URLUtils<T>::setPort):
3009         (WebCore::URLUtils<T>::pathname):
3010         (WebCore::URLUtils<T>::setPathname):
3011         (WebCore::URLUtils<T>::search):
3012         (WebCore::URLUtils<T>::setSearch):
3013         (WebCore::URLUtils<T>::hash):
3014         (WebCore::URLUtils<T>::setHash):
3015
3016         Add mention of new header.
3017         * GNUmakefile.list.am: 
3018         * WebCore.vcxproj/WebCore.vcxproj:
3019         * WebCore.vcxproj/WebCore.vcxproj.filters:
3020         * WebCore.xcodeproj/project.pbxproj:
3021
3022 2014-02-01  Benjamin Poulain  <bpoulain@apple.com>
3023
3024         Improve the JavaScript bindings of DatasetDOMStringMap
3025         https://bugs.webkit.org/show_bug.cgi?id=127971
3026
3027         Unriewed.
3028
3029         * dom/DatasetDOMStringMap.cpp:
3030         * dom/DatasetDOMStringMap.h:
3031         Follow up for r163239. Darin pointed out the #includes are wrong.
3032
3033 2014-02-01  Brady Eidson  <beidson@apple.com>
3034
3035         IDB: Implement IDBObjectStore.delete()
3036         https://bugs.webkit.org/show_bug.cgi?id=127880
3037
3038         Reviewed by Sam Weinig.
3039
3040         * Modules/indexeddb/IDBKeyData.cpp:
3041         (WebCore::IDBKeyData::compare): Make this const.
3042         * Modules/indexeddb/IDBKeyData.h:
3043
3044         * Modules/indexeddb/IDBKeyRangeData.cpp:
3045         (WebCore::IDBKeyRangeData::isExactlyOneKey): Returns whether or not
3046           the key range is known to represent precisely one key.
3047         * Modules/indexeddb/IDBKeyRangeData.h:
3048
3049         * WebCore.exp.in:
3050
3051 2014-02-01  Anders Carlsson  <andersca@apple.com>
3052
3053         SVGTextLayoutAttributesBuilder shouldn't use RenderText::deprecatedCharacters()
3054         https://bugs.webkit.org/show_bug.cgi?id=128048
3055
3056         Reviewed by Sam Weinig.
3057
3058         Change UChar*& lastCharacter to bool& lastCharacterWasSpace since that's what the parameter was used for.
3059
3060         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
3061         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
3062         Initialize lastCharacterWasSpace to true to match the previous behavior.
3063
3064         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
3065         Ditto.
3066
3067         (WebCore::processRenderSVGInlineText):
3068         Take a reference instead of a pointer, get the character using RenderText::operator[] and compute lastCharacterWasSpace.
3069
3070         (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
3071         This now takes a bool reference instead.
3072
3073         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
3074
3075 2014-02-01  Brady Eidson  <beidson@apple.com>
3076
3077         IDB: Index cursor complete advance() and iterate() support
3078         <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870
3079
3080         Reviewed by Dan Bernstein.
3081
3082         * Modules/indexeddb/IDBRequest.cpp:
3083         (WebCore::IDBRequest::onSuccess): Always use the value buffer for the script object.
3084
3085 2014-02-01  Alexey Proskuryakov  <ap@apple.com>
3086
3087         Update WebCrypto JWK mapping to use key_ops
3088         https://bugs.webkit.org/show_bug.cgi?id=127609
3089
3090         Reviewed by Sam Weinig.
3091
3092         Updated JWK support ot match current editor draft.
3093
3094         * bindings/js/JSCryptoKeySerializationJWK.cpp:
3095         (WebCore::getJSArrayFromJSON): Fixed this previously untested function to actually work.
3096         (WebCore::tryJWKKeyOpsValue):
3097         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
3098         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Removed an old comment,
3099         these things are now specced.
3100         (WebCore::addToJSON): Made static functions file static, there is no reason for
3101         them to be class members.
3102         (WebCore::buildJSONForOctetSequence):
3103         (WebCore::buildJSONForRSAComponents):
3104         (WebCore::addBoolToJSON):
3105         (WebCore::addJWKAlgorithmToJSON):
3106         (WebCore::addUsagesToJSON):
3107         (WebCore::JSCryptoKeySerializationJWK::serialize):
3108         * bindings/js/JSCryptoKeySerializationJWK.h:
3109
3110         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
3111         (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
3112         (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
3113         Check for length, so that we don't fail silently.
3114
3115 2014-02-01  David Kilzer  <ddkilzer@apple.com>
3116
3117         Add security-checked casts for all WebCore::CachedResource subclasses
3118         <http://webkit.org/b/127988>
3119
3120         Reviewed by Darin Adler.
3121
3122         * inspector/InspectorPageAgent.cpp:
3123         (WebCore::InspectorPageAgent::cachedResourceContent):
3124         * inspector/InspectorResourceAgent.cpp:
3125         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3126         - Switch from static_cast<>() to security-checked cast.
3127
3128         * loader/cache/CachedCSSStyleSheet.h:
3129         (WebCore::toCachedCSSStyleSheet): Add.
3130         * loader/cache/CachedFont.h:
3131         (WebCore::toCachedFont): Add.
3132
3133         * loader/cache/CachedImage.h: Make CachedImageManual final.
3134
3135         * loader/cache/CachedRawResource.cpp:
3136         (WebCore::CachedRawResource::CachedRawResource): Add assert that
3137         only MainResource or RawResource types are used to construct a
3138         CachedRawResource.  This may be a security issue depending on
3139         what code exists that uses the type() value to cast to a
3140         CachedResource subclass.
3141         (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
3142         Switch from static_cast<>() to toCachedRawResource().
3143
3144         * loader/cache/CachedRawResource.h:
3145         (WebCore::toCachedRawResource): Add.
3146         * loader/cache/CachedResource.h:
3147         (WebCore::CachedResource::isMainOrRawResource): Add.  A
3148         CachedRawResource could be either a MainResource or a
3149         RawResource.  Currently only used in assertions.
3150
3151         * loader/cache/CachedResourceLoader.cpp:
3152         (WebCore::CachedResourceLoader::requestFont):
3153         (WebCore::CachedResourceLoader::requestTextTrack):
3154         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
3155         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
3156         (WebCore::CachedResourceLoader::requestScript):
3157         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
3158         (WebCore::CachedResourceLoader::requestSVGDocument):
3159         (WebCore::CachedResourceLoader::requestRawResource):
3160         (WebCore::CachedResourceLoader::requestMainResource):
3161         - Switch from static_cast<>() to security-checked cast.
3162
3163         * loader/cache/CachedSVGDocument.h:
3164         (WebCore::toCachedSVGDocument): Add.
3165         * loader/cache/CachedScript.h:
3166         (WebCore::toCachedScript): Add.
3167         * loader/cache/CachedTextTrack.h:
3168         (WebCore::toCachedTextTrack): Add.
3169         * loader/cache/CachedXSLStyleSheet.h:
3170         (WebCore::toCachedXSLStyleSheet): Add.
3171
3172 2014-02-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3173
3174         Unreviewed. Fixed GTK+ CMake build after r162922.
3175
3176         * PlatformGTK.cmake: Removed SoupURIUtils.cpp from the
3177         compilation.
3178
3179 2014-02-01  Benjamin Poulain  <bpoulain@apple.com>
3180
3181         Improve the JavaScript bindings of DatasetDOMStringMap
3182         https://bugs.webkit.org/show_bug.cgi?id=127971
3183
3184         Reviewed by Sam Weinig.
3185
3186         Instead of querying contains() followed by item(), just get the item
3187         at once in the custom binding.
3188
3189         Test: fast/dom/dataset-name-getter-properties.html
3190
3191         * bindings/js/JSDOMStringMapCustom.cpp:
3192         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
3193         * dom/DOMStringMap.idl:
3194         * dom/DatasetDOMStringMap.cpp:
3195         (WebCore::DatasetDOMStringMap::item):
3196         * dom/DatasetDOMStringMap.h:
3197
3198 2014-01-31  Benjamin Poulain  <bpoulain@apple.com>
3199
3200         Remove LEGACY_VIEWPORT_ADAPTION
3201         https://bugs.webkit.org/show_bug.cgi?id=128028
3202
3203         Reviewed by Anders Carlsson.
3204
3205         The code is incorrect and was only supported by Nix.
3206
3207         * dom/Document.cpp:
3208         (WebCore::Document::childrenChanged):
3209         * dom/ViewportArguments.h:
3210         * html/HTMLMetaElement.cpp:
3211         (WebCore::HTMLMetaElement::process):
3212
3213 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
3214
3215         Release build fix after r163234. Don't always export the symbol that doesn't exist under NDEBUG.
3216
3217         * WebCore.exp.in:
3218
3219 2014-01-31  Brady Eidson  <beidson@apple.com>
3220
3221         IDB: Index cursors use wrong deserialization for the retrieved value
3222         https://bugs.webkit.org/show_bug.cgi?id=128035
3223
3224         Reviewed by Dan Bernstein.
3225
3226         For the cursor operations, add an IDBKey value result in the callbacks.
3227         If an already deserialized IDBKey value exists it will be preferred over the serialized buffer.
3228
3229         Change some of the onSuccess() callback formats:
3230         * Modules/indexeddb/IDBCallbacks.h:
3231         * Modules/indexeddb/IDBRequest.cpp:
3232         (WebCore::IDBRequest::onSuccess): Selectively choose between the IDBKey or the SharedBuffer value
3233           when choosed what to convert to the ScriptValue.
3234         * Modules/indexeddb/IDBRequest.h:
3235
3236         Let the IDBCursorBackend hold both a value buffer and a value key:
3237         * Modules/indexeddb/IDBCursorBackend.cpp:
3238         (WebCore::IDBCursorBackend::updateCursorData):
3239         (WebCore::IDBCursorBackend::clear):
3240         * Modules/indexeddb/IDBCursorBackend.h:
3241         (WebCore::IDBCursorBackend::valueBuffer):
3242         (WebCore::IDBCursorBackend::valueKey):
3243
3244         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
3245         (WebCore::CursorAdvanceOperation::perform):
3246         (WebCore::CursorIterationOperation::perform):
3247
3248         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3249         (WebCore::OpenCursorOperation::perform):
3250
3251         * Modules/indexeddb/IDBServerConnection.h:
3252         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
3253         (WebCore::IDBServerConnectionLevelDB::openCursor):
3254         (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
3255         (WebCore::IDBServerConnectionLevelDB::cursorIterate):
3256         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
3257
3258         Add IDBKey/IDBKeyData debug logging utilities:
3259         * Modules/indexeddb/IDBKey.cpp:
3260         (WebCore::IDBKey::loggingString):
3261         * Modules/indexeddb/IDBKey.h:
3262         * Modules/indexeddb/IDBKeyData.cpp:
3263         (WebCore::IDBKeyData::loggingString):
3264         * Modules/indexeddb/IDBKeyData.h:
3265
3266         * WebCore.exp.in:
3267
3268 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
3269
3270         Debug build fix after r163232. Call hasEditableStyle() instead of isContentEditable() which
3271         can trigger a layout synchronously inside paintCaret. This matches the code before r163232.
3272
3273         * rendering/RenderBlock.cpp:
3274         (WebCore::RenderBlock::paintCaret):
3275
3276 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
3277
3278         Remove inline member functions of FrameSelection that access m_selection
3279         https://bugs.webkit.org/show_bug.cgi?id=127986
3280
3281         Reviewed by Enrica Casucci.
3282
3283         Removed numerous inline member functions of FrameSelection that depend on m_selection.
3284
3285         This is needed to ensure all accesses to m_selection happen through FrameSelection::selection(),
3286         which in turn, allows us to update its call sites to use either validated selection that editing
3287         and rendering code uses or invalidated selection that's exposed to JavaScript.
3288
3289         * WebCore.exp.in:
3290         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3291         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
3292         (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
3293         * bindings/objc/DOMUIKitExtensions.mm:
3294         (-[DOMRange move:inDirection:]):
3295         (-[DOMRange extend:inDirection:]):
3296         * dom/Element.cpp:
3297         (WebCore::Element::updateFocusAppearance):
3298         * editing/Editor.cpp:
3299         (WebCore::Editor::canEdit):
3300         (WebCore::Editor::canEditRichly):
3301         (WebCore::Editor::canDHTMLCut):
3302         (WebCore::Editor::canDHTMLCopy):
3303         (WebCore::Editor::canCopy):
3304         (WebCore::Editor::canDelete):
3305         (WebCore::Editor::replaceSelectionWithFragment):
3306         (WebCore::Editor::tryDHTMLCopy):
3307         (WebCore::Editor::tryDHTMLCut):
3308         (WebCore::Editor::applyStyle):
3309         (WebCore::Editor::applyParagraphStyle):
3310         (WebCore::Editor::cut):
3311         (WebCore::Editor::copy):
3312         (WebCore::Editor::paste):
3313         (WebCore::Editor::setComposition):
3314         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
3315         (WebCore::Editor::markMisspellingsAfterTypingToWord):
3316         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
3317         (WebCore::Editor::markAndReplaceFor):
3318         (WebCore::Editor::getCompositionSelection):
3319         (WebCore::Editor::selectionStartHasMarkerFor):
3320         * editing/EditorCommand.cpp:
3321         (WebCore::expandSelectionToGranularity):
3322         (WebCore::enabledInRichlyEditableText):
3323         (WebCore::enabledRangeInEditableText):
3324         (WebCore::enabledRangeInRichlyEditableText):
3325         * editing/FrameSelection.cpp:
3326         (WebCore::CaretBase::updateCaretRect):
3327         (WebCore::FrameSelection::recomputeCaretRect):
3328         (WebCore::FrameSelection::selectAll):
3329         (WebCore::FrameSelection::updateAppearance):
3330         (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl):
3331         (WebCore::FrameSelection::setFocusedElementIfNeeded):
3332         (WebCore::FrameSelection::currentForm):
3333         (WebCore::FrameSelection::revealSelection):
3334         (WebCore::FrameSelection::setSelectionFromNone):
3335         * editing/FrameSelection.h:
3336         (WebCore::FrameSelection::isCaretOrRange):
3337         * editing/RemoveFormatCommand.cpp:
3338         (WebCore::RemoveFormatCommand::doApply):
3339         * editing/VisibleSelection.cpp:
3340         (WebCore::VisibleSelection::isInPasswordField):
3341         * editing/VisibleSelection.h:
3342         * editing/mac/EditorMac.mm:
3343         (WebCore::Editor::canCopyExcludingStandaloneImages):
3344         (WebCore::Editor::readSelectionFromPasteboard):
3345         * html/HTMLAnchorElement.cpp:
3346         (WebCore::HTMLAnchorElement::defaultEventHandler):
3347         (WebCore::HTMLAnchorElement::setActive):
3348         * html/HTMLTextFormControlElement.cpp:
3349         (WebCore::HTMLTextFormControlElement::computeSelectionStart):
3350         (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
3351         * page/ContextMenuController.cpp:
3352         (WebCore::ContextMenuController::contextMenuItemSelected):
3353         (WebCore::ContextMenuController::populate):
3354         * page/DragController.cpp:
3355         (WebCore::DragController::dragIsMove):
3356         (WebCore::setSelectionToDragCaret):
3357         (WebCore::DragController::concludeEditDrag):
3358         (WebCore::DragController::startDrag):
3359         * page/EventHandler.cpp:
3360         (WebCore::nodeIsNotBeingEdited):
3361         (WebCore::EventHandler::sendContextMenuEvent):
3362         (WebCore::EventHandler::sendContextMenuEventForKey):
3363         (WebCore::EventHandler::handleDrag):
3364         * page/FocusController.cpp:
3365         (WebCore::FocusController::advanceFocusInDocumentOrder):
3366         (WebCore::clearSelectionIfNeeded):
3367         * page/ios/FrameIOS.mm:
3368         (WebCore::Frame::caretRect):
3369         (WebCore::Frame::rectForScrollToVisible):
3370         (WebCore::Frame::styleAtSelectionStart):
3371         (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionStart):
3372         (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionEnd):
3373         (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionStart):
3374         (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionEnd):
3375         (WebCore::Frame::interpretationsForCurrentRoot):
3376         * rendering/RenderBlock.cpp:
3377         (WebCore::RenderBlock::paintCaret):
3378
3379 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
3380
3381         Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
3382         https://bugs.webkit.org/show_bug.cgi?id=128032
3383
3384         Reviewed by Tim Horton.
3385
3386         Pass the viewport rect and scroll offset independently into the ScrollingTree
3387         via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
3388         always correspond to the viewport rect.
3389         
3390         Make the viewport rect and the scroll origin be float-based, since on
3391         Retina screens and with zooming these can both be non-integral.
3392
3393         No behavior change.
3394         
3395         * WebCore.exp.in:
3396         * page/scrolling/AsyncScrollingCoordinator.cpp:
3397         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
3398         (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
3399         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
3400         * page/scrolling/AsyncScrollingCoordinator.h:
3401         (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
3402         * page/scrolling/ScrollingStateScrollingNode.cpp:
3403         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
3404         (WebCore::ScrollingStateScrollingNode::setViewportConstrainedObjectRect):
3405         (WebCore::ScrollingStateScrollingNode::setScrollPosition):
3406         (WebCore::ScrollingStateScrollingNode::dumpProperties):
3407         * page/scrolling/ScrollingStateScrollingNode.h:
3408         * page/scrolling/ScrollingTree.cpp:
3409         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
3410         (WebCore::ScrollingTree::commitNewTreeState):
3411         (WebCore::ScrollingTree::mainFrameScrollPosition):
3412         (WebCore::ScrollingTree::setMainFrameScrollPosition):
3413         * page/scrolling/ScrollingTree.h:
3414         * page/scrolling/ScrollingTreeNode.h:
3415         * page/scrolling/ScrollingTreeScrollingNode.cpp:
3416         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
3417         * page/scrolling/ScrollingTreeScrollingNode.h:
3418         (WebCore::ScrollingTreeScrollingNode::scrollPosition):
3419         (WebCore::ScrollingTreeScrollingNode::viewportConstrainedObjectRect):
3420         * page/scrolling/ThreadedScrollingTree.cpp:
3421         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
3422         * page/scrolling/ThreadedScrollingTree.h:
3423         * page/scrolling/ios/ScrollingTreeIOS.cpp:
3424         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
3425         * page/scrolling/ios/ScrollingTreeIOS.h:
3426         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
3427         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
3428         (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
3429         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
3430         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
3431         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
3432         (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
3433         (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
3434         * page/scrolling/mac/ScrollingTreeFixedNode.h:
3435         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
3436         (WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):
3437         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
3438         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3439         (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
3440         (WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
3441         (WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
3442         (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
3443         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
3444         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
3445         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
3446         (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
3447         (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
3448         (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
3449         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
3450         * page/scrolling/mac/ScrollingTreeStickyNode.h:
3451         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
3452         (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
3453         * platform/graphics/FloatPoint.h:
3454         (WebCore::FloatPoint::shrunkTo):
3455
3456 2014-01-30  Andy Estes  <aestes@apple.com>
3457
3458         [Cocoa] Add NEFilterSource support to ContentFilterMac
3459         https://bugs.webkit.org/show_bug.cgi?id=127979
3460
3461         Reviewed by Sam Weinig.
3462
3463         Update ContentFilterMac to work with both WebFilterEvaluator and
3464         NEFilterSource, if enabled.
3465
3466         * platform/ContentFilter.h: Set HAVE_NE_FILTER_SOURCE based on platform
3467         conditionals, and forward-declare NEFilterSource.
3468         * platform/mac/ContentFilterMac.mm: Included NEFilterSource.h if the SDK
3469         has it; declared the class directly if not. Also soft-linked
3470         NetworkExtension.framework.
3471         (WebCore::ContentFilter::ContentFilter): Initialized
3472         m_neFilterSourceStatus to NEFilterSourceStatusNeedsMoreData and created
3473         m_platformContentFilter and m_neFilterSource objects if their
3474         respective filters were enabled.
3475         (WebCore::ContentFilter::isEnabled): Returned true if either filter is
3476         enabled.
3477         (WebCore::ContentFilter::addData): Added incoming data to each filter
3478         that is enabled.
3479         (WebCore::ContentFilter::finishedAddingData): Notified each enabled
3480         filter that we are finished adding data.
3481         (WebCore::ContentFilter::needsMoreData): Returned true if either filter
3482         needs more data.
3483         (WebCore::ContentFilter::didBlockData): Returned true if either filter
3484         blocked data.
3485         (WebCore::ContentFilter::getReplacementData): Returned
3486         m_replacementData. Commented that this will currently return a null
3487         string if NEFilterSource blocked the load.
3488
3489 2014-01-31  Oliver Hunt  <oliver@apple.com>
3490