Title: [174676] trunk/Source
Revision
174676
Author
[email protected]
Date
2014-10-14 02:07:21 -0700 (Tue, 14 Oct 2014)

Log Message

Use is<>() / downcast<>() for RenderImage
https://bugs.webkit.org/show_bug.cgi?id=137683

Reviewed by Mihnea Ovidenie.

Use is<>() / downcast<>() for RenderImage.

Source/WebCore:

No new tests, no behavior change.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::alternativeText):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* bindings/objc/DOM.mm:
(-[DOMElement image]):
(-[DOMElement _imageTIFFRepresentation]):
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleReplacedElement):
* editing/cocoa/HTMLConverter.mm:
(fileWrapperForElement):
* editing/gtk/EditorGtk.cpp:
(WebCore::getImageForElement):
* editing/ios/EditorIOS.mm:
(WebCore::getImage):
* editing/mac/EditorMac.mm:
(WebCore::getImage):
* html/HTMLAnchorElement.cpp:
(WebCore::appendServerMapMousePosition):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::setFocus):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::createImageControls):
(WebCore::HTMLImageElement::destroyImageControls):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::didAttachRenderers):
(WebCore::HTMLVideoElement::parseAttribute):
* html/ImageInputType.cpp:
(WebCore::ImageInputType::altAttributeChanged):
(WebCore::ImageInputType::attach):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::size):
* html/shadow/mac/ImageControlsRootElementMac.cpp:
(WebCore::RenderImageControls::updateLogicalWidth):
(WebCore::RenderImageControls::computeLogicalHeight):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::renderImageResource):
* page/ContextMenuController.cpp:
(WebCore::imageFromImageElementNode):
* page/DragController.cpp:
(WebCore::getCachedImage):
(WebCore::getImage):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeImage):
(WebCore::getCachedImage):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::image):
* rendering/RenderImage.h:
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::getImageSize):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
(WebCore::RenderLayerBacking::updateImageContents):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::createShapeForImage):

Source/WebKit/mac:

* Misc/WebNSPasteboardExtras.mm:
(imageFromElement):
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::cachedImage):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::performActionOnElement):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (174675 => 174676)


--- trunk/Source/WebCore/ChangeLog	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/ChangeLog	2014-10-14 09:07:21 UTC (rev 174676)
@@ -1,3 +1,76 @@
+2014-10-14  Chris Dumez  <[email protected]>
+
+        Use is<>() / downcast<>() for RenderImage
+        https://bugs.webkit.org/show_bug.cgi?id=137683
+
+        Reviewed by Mihnea Ovidenie.
+
+        Use is<>() / downcast<>() for RenderImage.
+
+        No new tests, no behavior change.
+
+        * accessibility/AccessibilityNodeObject.cpp:
+        (WebCore::AccessibilityNodeObject::alternativeText):
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::addImageMapChildren):
+        (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
+        * bindings/objc/DOM.mm:
+        (-[DOMElement image]):
+        (-[DOMElement _imageTIFFRepresentation]):
+        * editing/TextIterator.cpp:
+        (WebCore::TextIterator::handleReplacedElement):
+        * editing/cocoa/HTMLConverter.mm:
+        (fileWrapperForElement):
+        * editing/gtk/EditorGtk.cpp:
+        (WebCore::getImageForElement):
+        * editing/ios/EditorIOS.mm:
+        (WebCore::getImage):
+        * editing/mac/EditorMac.mm:
+        (WebCore::getImage):
+        * html/HTMLAnchorElement.cpp:
+        (WebCore::appendServerMapMousePosition):
+        * html/HTMLAreaElement.cpp:
+        (WebCore::HTMLAreaElement::setFocus):
+        * html/HTMLImageElement.cpp:
+        (WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
+        (WebCore::HTMLImageElement::parseAttribute):
+        (WebCore::HTMLImageElement::didAttachRenderers):
+        (WebCore::HTMLImageElement::createImageControls):
+        (WebCore::HTMLImageElement::destroyImageControls):
+        * html/HTMLVideoElement.cpp:
+        (WebCore::HTMLVideoElement::didAttachRenderers):
+        (WebCore::HTMLVideoElement::parseAttribute):
+        * html/ImageInputType.cpp:
+        (WebCore::ImageInputType::altAttributeChanged):
+        (WebCore::ImageInputType::attach):
+        * html/canvas/CanvasRenderingContext2D.cpp:
+        (WebCore::size):
+        * html/shadow/mac/ImageControlsRootElementMac.cpp:
+        (WebCore::RenderImageControls::updateLogicalWidth):
+        (WebCore::RenderImageControls::computeLogicalHeight):
+        * loader/ImageLoader.cpp:
+        (WebCore::ImageLoader::renderImageResource):
+        * page/ContextMenuController.cpp:
+        (WebCore::imageFromImageElementNode):
+        * page/DragController.cpp:
+        (WebCore::getCachedImage):
+        (WebCore::getImage):
+        * platform/win/PasteboardWin.cpp:
+        (WebCore::Pasteboard::writeImage):
+        (WebCore::getCachedImage):
+        * rendering/HitTestResult.cpp:
+        (WebCore::HitTestResult::image):
+        * rendering/RenderImage.h:
+        * rendering/RenderImageResource.cpp:
+        (WebCore::RenderImageResource::getImageSize):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
+        (WebCore::RenderLayerBacking::updateImageContents):
+        * rendering/RenderReplaced.cpp:
+        (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
+        * rendering/shapes/ShapeOutsideInfo.cpp:
+        (WebCore::ShapeOutsideInfo::createShapeForImage):
+
 2014-10-14  Andrzej Badowski  <[email protected]>
 
         [AX] Improve AccessibilityTableCell columnHeaders and rowHeaders functions.

Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (174675 => 174676)


--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -1279,8 +1279,8 @@
         textOrder.append(AccessibilityText(ariaLabel, AlternativeText));
     
     if (usesAltTagForTextComputation()) {
-        if (renderer() && renderer()->isRenderImage()) {
-            String renderAltText = toRenderImage(renderer())->altText();
+        if (is<RenderImage>(renderer())) {
+            String renderAltText = downcast<RenderImage>(*renderer()).altText();
 
             // RenderImage will return title as a fallback from altText, but we don't want title here because we consider that in helpText.
             if (!renderAltText.isEmpty() && renderAltText != getAttribute(titleAttr)) {

Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (174675 => 174676)


--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -2799,10 +2799,10 @@
 void AccessibilityRenderObject::addImageMapChildren()
 {
     RenderBoxModelObject* cssBox = renderBoxModelObject();
-    if (!cssBox || !cssBox->isRenderImage())
+    if (!is<RenderImage>(cssBox))
         return;
     
-    HTMLMapElement* map = toRenderImage(cssBox)->imageMap();
+    HTMLMapElement* map = downcast<RenderImage>(*cssBox).imageMap();
     if (!map)
         return;
 
@@ -2859,10 +2859,10 @@
 
 AccessibilitySVGRoot* AccessibilityRenderObject::remoteSVGRootElement() const
 {
-    if (!m_renderer || !m_renderer->isRenderImage())
+    if (!is<RenderImage>(m_renderer))
         return nullptr;
     
-    CachedImage* cachedImage = toRenderImage(m_renderer)->cachedImage();
+    CachedImage* cachedImage = downcast<RenderImage>(*m_renderer).cachedImage();
     if (!cachedImage)
         return nullptr;
     

Modified: trunk/Source/WebCore/bindings/objc/DOM.mm (174675 => 174676)


--- trunk/Source/WebCore/bindings/objc/DOM.mm	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/bindings/objc/DOM.mm	2014-10-14 09:07:21 UTC (rev 174676)
@@ -651,12 +651,12 @@
 {
     // FIXME: Could we move this function to WebCore::Node and autogenerate?
     WebCore::RenderObject* renderer = core(self)->renderer();
-    if (!renderer || !renderer->isRenderImage())
+    if (!is<RenderImage>(renderer))
         return nil;
-    WebCore::CachedImage* cachedImage = toRenderImage(renderer)->cachedImage();
+    WebCore::CachedImage* cachedImage = downcast<RenderImage>(*renderer).cachedImage();
     if (!cachedImage || cachedImage->errorOccurred())
         return nil;
-    return cachedImage->imageForRenderer(toRenderImage(renderer))->getNSImage();
+    return cachedImage->imageForRenderer(renderer)->getNSImage();
 }
 #endif
 
@@ -687,10 +687,10 @@
 - (NSData *)_imageTIFFRepresentation
 {
     // FIXME: Could we move this function to WebCore::Element and autogenerate?
-    auto renderer = core(self)->renderer();
-    if (!renderer || !renderer->isRenderImage())
+    auto* renderer = core(self)->renderer();
+    if (!is<RenderImage>(renderer))
         return nil;
-    WebCore::CachedImage* cachedImage = toRenderImage(renderer)->cachedImage();
+    WebCore::CachedImage* cachedImage = downcast<RenderImage>(*renderer).cachedImage();
     if (!cachedImage || cachedImage->errorOccurred())
         return nil;
     return (NSData *)cachedImage->imageForRenderer(renderer)->getTIFFRepresentation();

Modified: trunk/Source/WebCore/editing/TextIterator.cpp (174675 => 174676)


--- trunk/Source/WebCore/editing/TextIterator.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/editing/TextIterator.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -760,8 +760,8 @@
     m_positionStartOffset = 0;
     m_positionEndOffset = 1;
 
-    if ((m_behavior & TextIteratorEmitsImageAltText) && renderer.isRenderImage()) {
-        String altText = toRenderImage(renderer).altText();
+    if ((m_behavior & TextIteratorEmitsImageAltText) && is<RenderImage>(renderer)) {
+        String altText = downcast<RenderImage>(renderer).altText();
         if (unsigned length = altText.length()) {
             m_lastCharacter = altText[length - 1];
             m_copyableText.set(WTF::move(altText));

Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (174675 => 174676)


--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm	2014-10-14 09:07:21 UTC (rev 174676)
@@ -2531,9 +2531,9 @@
             wrapper = fileWrapperForURL(loader, URL);
     }
     if (!wrapper) {
-        RenderImage* renderer = toRenderImage(element->renderer());
-        if (renderer->cachedImage() && !renderer->cachedImage()->errorOccurred()) {
-            wrapper = [[NSFileWrapper alloc] initRegularFileWithContents:(NSData *)(renderer->cachedImage()->imageForRenderer(renderer)->getTIFFRepresentation())];
+        auto& renderer = downcast<RenderImage>(*element->renderer());
+        if (renderer.cachedImage() && !renderer.cachedImage()->errorOccurred()) {
+            wrapper = [[NSFileWrapper alloc] initRegularFileWithContents:(NSData *)(renderer.cachedImage()->imageForRenderer(&renderer)->getTIFFRepresentation())];
             [wrapper setPreferredFilename:@"image.tiff"];
             [wrapper autorelease];
         }

Modified: trunk/Source/WebCore/editing/gtk/EditorGtk.cpp (174675 => 174676)


--- trunk/Source/WebCore/editing/gtk/EditorGtk.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/editing/gtk/EditorGtk.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -93,11 +93,11 @@
 
 static bool getImageForElement(Element& element, RefPtr<Image>& image)
 {
-    auto renderer = element.renderer();
-    if (!renderer || !renderer->isRenderImage())
+    auto* renderer = element.renderer();
+    if (!is<RenderImage>(renderer))
         return false;
 
-    CachedImage* cachedImage = toRenderImage(*renderer).cachedImage();
+    CachedImage* cachedImage = downcast<RenderImage>(*renderer).cachedImage();
     if (!cachedImage || cachedImage->errorOccurred())
         return false;
 

Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (174675 => 174676)


--- trunk/Source/WebCore/editing/ios/EditorIOS.mm	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/editing/ios/EditorIOS.mm	2014-10-14 09:07:21 UTC (rev 174676)
@@ -357,15 +357,13 @@
 
 static void getImage(Element& imageElement, RefPtr<Image>& image, CachedImage*& cachedImage)
 {
-    auto renderer = imageElement.renderer();
-    if (!renderer || !renderer->isRenderImage())
+    auto* renderer = imageElement.renderer();
+    if (!is<RenderImage>(renderer))
         return;
 
-    CachedImage* tentativeCachedImage = toRenderImage(renderer)->cachedImage();
-    if (!tentativeCachedImage || tentativeCachedImage->errorOccurred()) {
-        tentativeCachedImage = 0;
+    CachedImage* tentativeCachedImage = downcast<RenderImage>(*renderer).cachedImage();
+    if (!tentativeCachedImage || tentativeCachedImage->errorOccurred())
         return;
-    }
 
     image = tentativeCachedImage->imageForRenderer(renderer);
     if (!image)

Modified: trunk/Source/WebCore/editing/mac/EditorMac.mm (174675 => 174676)


--- trunk/Source/WebCore/editing/mac/EditorMac.mm	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/editing/mac/EditorMac.mm	2014-10-14 09:07:21 UTC (rev 174676)
@@ -401,15 +401,13 @@
 
 static void getImage(Element& imageElement, RefPtr<Image>& image, CachedImage*& cachedImage)
 {
-    auto renderer = imageElement.renderer();
-    if (!renderer || !renderer->isRenderImage())
+    auto* renderer = imageElement.renderer();
+    if (!is<RenderImage>(renderer))
         return;
 
-    CachedImage* tentativeCachedImage = toRenderImage(renderer)->cachedImage();
-    if (!tentativeCachedImage || tentativeCachedImage->errorOccurred()) {
-        tentativeCachedImage = 0;
+    CachedImage* tentativeCachedImage = downcast<RenderImage>(*renderer).cachedImage();
+    if (!tentativeCachedImage || tentativeCachedImage->errorOccurred())
         return;
-    }
 
     image = tentativeCachedImage->imageForRenderer(renderer);
     if (!image)

Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (174675 => 174676)


--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -166,9 +166,9 @@
     if (!imageElement.isServerMap())
         return;
 
-    if (!imageElement.renderer() || !imageElement.renderer()->isRenderImage())
+    if (!is<RenderImage>(imageElement.renderer()))
         return;
-    RenderImage& renderer = toRenderImage(*imageElement.renderer());
+    auto& renderer = downcast<RenderImage>(*imageElement.renderer());
 
     // FIXME: This should probably pass true for useTransforms.
     FloatPoint absolutePosition = renderer.absoluteToLocal(FloatPoint(downcast<MouseEvent>(*event).pageX(), downcast<MouseEvent>(*event).pageY()));

Modified: trunk/Source/WebCore/html/HTMLAreaElement.cpp (174675 => 174676)


--- trunk/Source/WebCore/html/HTMLAreaElement.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/html/HTMLAreaElement.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -218,11 +218,11 @@
     if (!imageElement)
         return;
 
-    auto renderer = imageElement->renderer();
-    if (!renderer || !renderer->isRenderImage())
+    auto* renderer = imageElement->renderer();
+    if (!is<RenderImage>(renderer))
         return;
 
-    toRenderImage(renderer)->areaElementFocusChanged(this);
+    downcast<RenderImage>(*renderer).areaElementFocusChanged(this);
 }
     
 void HTMLAreaElement::updateFocusAppearance(bool restorePreviousSelection)

Modified: trunk/Source/WebCore/html/HTMLImageElement.cpp (174675 => 174676)


--- trunk/Source/WebCore/html/HTMLImageElement.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/html/HTMLImageElement.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -133,15 +133,15 @@
 #endif
     if (candidate.density >= 0)
         m_imageDevicePixelRatio = 1 / candidate.density;
-    if (renderer() && renderer()->isImage())
-        toRenderImage(renderer())->setImageDevicePixelRatio(m_imageDevicePixelRatio);
+    if (is<RenderImage>(renderer()))
+        downcast<RenderImage>(*renderer()).setImageDevicePixelRatio(m_imageDevicePixelRatio);
 }
 
 void HTMLImageElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
 {
     if (name == altAttr) {
-        if (renderer() && renderer()->isRenderImage())
-            toRenderImage(renderer())->updateAltText();
+        if (is<RenderImage>(renderer()))
+            downcast<RenderImage>(*renderer()).updateAltText();
     } else if (name == srcAttr || name == srcsetAttr) {
         unsigned sourceSize = 0;
 #if ENABLE(PICTURE_SIZES)
@@ -227,7 +227,7 @@
 
 void HTMLImageElement::didAttachRenderers()
 {
-    if (!renderer() || !renderer()->isRenderImage())
+    if (!is<RenderImage>(renderer()))
         return;
     if (m_imageLoader.hasPendingBeforeLoadEvent())
         return;
@@ -236,8 +236,8 @@
     updateImageControls();
 #endif
 
-    RenderImage* renderImage = toRenderImage(renderer());
-    RenderImageResource& renderImageResource = renderImage->imageResource();
+    auto& renderImage = downcast<RenderImage>(*renderer());
+    RenderImageResource& renderImageResource = renderImage.imageResource();
     if (renderImageResource.hasImage())
         return;
     renderImageResource.setCachedImage(m_imageLoader.image());
@@ -245,7 +245,7 @@
     // If we have no image at all because we have no src attribute, set
     // image height and width for the alt text instead.
     if (!m_imageLoader.image() && !renderImageResource.cachedImage())
-        renderImage->setImageSizeForAltText();
+        renderImage.setImageSizeForAltText();
 }
 
 Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode& insertionPoint)
@@ -507,11 +507,11 @@
 
     ensureUserAgentShadowRoot().appendChild(imageControls);
 
-    RenderObject* renderObject = renderer();
+    auto* renderObject = renderer();
     if (!renderObject)
         return;
 
-    toRenderImage(renderObject)->setHasShadowControls(true);
+    downcast<RenderImage>(*renderObject).setHasShadowControls(true);
 }
 
 void HTMLImageElement::destroyImageControls()
@@ -525,11 +525,11 @@
         shadowRoot->removeChild(node);
     }
 
-    RenderObject* renderObject = renderer();
+    auto* renderObject = renderer();
     if (!renderObject)
         return;
 
-    toRenderImage(renderObject)->setHasShadowControls(false);
+    downcast<RenderImage>(*renderObject).setHasShadowControls(false);
 }
 
 bool HTMLImageElement::hasImageControls() const

Modified: trunk/Source/WebCore/html/HTMLVideoElement.cpp (174675 => 174676)


--- trunk/Source/WebCore/html/HTMLVideoElement.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/html/HTMLVideoElement.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -82,7 +82,7 @@
             m_imageLoader = std::make_unique<HTMLImageLoader>(*this);
         m_imageLoader->updateFromElement();
         if (renderer())
-            toRenderImage(renderer())->imageResource().setCachedImage(m_imageLoader->image());
+            downcast<RenderImage>(*renderer()).imageResource().setCachedImage(m_imageLoader->image());
     }
 }
 
@@ -116,7 +116,7 @@
             m_imageLoader->updateFromElementIgnoringPreviousError();
         } else {
             if (renderer())
-                toRenderImage(renderer())->imageResource().setCachedImage(0);
+                downcast<RenderImage>(*renderer()).imageResource().setCachedImage(nullptr);
         }
     }
 #if ENABLE(IOS_AIRPLAY)

Modified: trunk/Source/WebCore/html/ImageInputType.cpp (174675 => 174676)


--- trunk/Source/WebCore/html/ImageInputType.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/html/ImageInputType.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -108,10 +108,10 @@
 
 void ImageInputType::altAttributeChanged()
 {
-    RenderImage* image = toRenderImage(element().renderer());
-    if (!image)
+    auto* renderer = downcast<RenderImage>(element().renderer());
+    if (!renderer)
         return;
-    image->updateAltText();
+    renderer->updateAltText();
 }
 
 void ImageInputType::srcAttributeChanged()
@@ -128,7 +128,7 @@
     HTMLImageLoader* imageLoader = element().imageLoader();
     imageLoader->updateFromElement();
 
-    RenderImage* renderer = toRenderImage(element().renderer());
+    auto* renderer = downcast<RenderImage>(element().renderer());
     if (!renderer)
         return;
 

Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (174675 => 174676)


--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -1282,8 +1282,8 @@
     if (CachedImage* cachedImage = image->cachedImage()) {
         size = cachedImage->imageSizeForRenderer(image->renderer(), 1.0f); // FIXME: Not sure about this.
 
-        if (sizeType == ImageSizeAfterDevicePixelRatio && image->renderer() && image->renderer()->isRenderImage() && cachedImage->image() && !cachedImage->image()->hasRelativeWidth())
-            size.scale(toRenderImage(image->renderer())->imageDevicePixelRatio());
+        if (sizeType == ImageSizeAfterDevicePixelRatio && is<RenderImage>(image->renderer()) && cachedImage->image() && !cachedImage->image()->hasRelativeWidth())
+            size.scale(downcast<RenderImage>(*image->renderer()).imageDevicePixelRatio());
     }
     return size;
 }

Modified: trunk/Source/WebCore/html/shadow/mac/ImageControlsRootElementMac.cpp (174675 => 174676)


--- trunk/Source/WebCore/html/shadow/mac/ImageControlsRootElementMac.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/html/shadow/mac/ImageControlsRootElementMac.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -63,10 +63,10 @@
     RenderBox::updateLogicalWidth();
 
     RenderElement* renderer = element()->shadowHost()->renderer();
-    if (!renderer->isRenderImage())
+    if (!is<RenderImage>(*renderer))
         return;
 
-    setLogicalWidth(toRenderImage(renderer)->logicalWidth());
+    setLogicalWidth(downcast<RenderImage>(*renderer).logicalWidth());
 }
 
 void RenderImageControls::computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues& computedValues) const
@@ -74,10 +74,10 @@
     RenderBox::computeLogicalHeight(logicalHeight, logicalTop, computedValues);
 
     RenderElement* renderer = element()->shadowHost()->renderer();
-    if (!renderer->isRenderImage())
+    if (!is<RenderImage>(*renderer))
         return;
 
-    computedValues.m_extent = toRenderImage(renderer)->logicalHeight();
+    computedValues.m_extent = downcast<RenderImage>(*renderer).logicalHeight();
 }
 
 PassRefPtr<ImageControlsRootElement> ImageControlsRootElement::maybeCreate(Document& document)

Modified: trunk/Source/WebCore/loader/ImageLoader.cpp (174675 => 174676)


--- trunk/Source/WebCore/loader/ImageLoader.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/loader/ImageLoader.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -317,21 +317,21 @@
 
 RenderImageResource* ImageLoader::renderImageResource()
 {
-    auto renderer = element().renderer();
+    auto* renderer = element().renderer();
     if (!renderer)
         return nullptr;
 
     // We don't return style generated image because it doesn't belong to the ImageLoader.
     // See <https://bugs.webkit.org/show_bug.cgi?id=42840>
-    if (renderer->isRenderImage() && !toRenderImage(*renderer).isGeneratedContent())
-        return &toRenderImage(*renderer).imageResource();
+    if (is<RenderImage>(*renderer) && !downcast<RenderImage>(*renderer).isGeneratedContent())
+        return &downcast<RenderImage>(*renderer).imageResource();
 
-    if (renderer->isSVGImage())
-        return &toRenderSVGImage(renderer)->imageResource();
+    if (is<RenderSVGImage>(*renderer))
+        return &downcast<RenderSVGImage>(*renderer).imageResource();
 
 #if ENABLE(VIDEO)
-    if (renderer->isVideo())
-        return &toRenderVideo(*renderer).imageResource();
+    if (is<RenderVideo>(*renderer))
+        return &downcast<RenderVideo>(*renderer).imageResource();
 #endif
 
     return nullptr;

Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (174675 => 174676)


--- trunk/Source/WebCore/page/ContextMenuController.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -134,11 +134,9 @@
 static Image* imageFromImageElementNode(Node& node)
 {
     RenderObject* renderer = node.renderer();
-    if (!renderer)
+    if (!is<RenderImage>(renderer))
         return nullptr;
-    if (!renderer->isRenderImage())
-        return nullptr;
-    CachedImage* image = toRenderImage(*renderer).cachedImage();
+    CachedImage* image = downcast<RenderImage>(*renderer).cachedImage();
     if (!image || image->errorOccurred())
         return nullptr;
 

Modified: trunk/Source/WebCore/page/DragController.cpp (174675 => 174676)


--- trunk/Source/WebCore/page/DragController.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/page/DragController.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -660,10 +660,10 @@
 static CachedImage* getCachedImage(Element& element)
 {
     RenderObject* renderer = element.renderer();
-    if (!renderer || !renderer->isRenderImage())
-        return 0;
-    RenderImage* image = toRenderImage(renderer);
-    return image->cachedImage();
+    if (!is<RenderImage>(renderer))
+        return nullptr;
+    auto& image = downcast<RenderImage>(*renderer);
+    return image.cachedImage();
 }
 
 static Image* getImage(Element& element)
@@ -673,7 +673,7 @@
     // Users of getImage() want access to the SVGImage, in order to figure out the filename extensions,
     // which would be empty when asking the cached BitmapImages.
     return (cachedImage && !cachedImage->errorOccurred()) ?
-        cachedImage->image() : 0;
+        cachedImage->image() : nullptr;
 }
 
 static void selectElement(Element& element)

Modified: trunk/Source/WebCore/platform/win/PasteboardWin.cpp (174675 => 174676)


--- trunk/Source/WebCore/platform/win/PasteboardWin.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/platform/win/PasteboardWin.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -723,14 +723,14 @@
 
 void Pasteboard::writeImage(Element& element, const URL&, const String&)
 {
-    if (!(element.renderer() && element.renderer()->isRenderImage()))
+    if (!is<RenderImage>(element.renderer()))
         return;
 
-    RenderImage* renderer = toRenderImage(element.renderer());
-    CachedImage* cachedImage = renderer->cachedImage();
+    auto& renderer = downcast<RenderImage>(*element.renderer());
+    CachedImage* cachedImage = renderer.cachedImage();
     if (!cachedImage || cachedImage->errorOccurred())
         return;
-    Image* image = cachedImage->imageForRenderer(renderer);
+    Image* image = cachedImage->imageForRenderer(&renderer);
     ASSERT(image);
 
     clear();
@@ -859,14 +859,14 @@
 {
     // Attempt to pull CachedImage from element
     RenderObject* renderer = element.renderer();
-    if (!renderer || !renderer->isRenderImage())
-        return 0;
+    if (!is<RenderImage>(renderer))
+        return nullptr;
 
-    RenderImage* image = toRenderImage(renderer);
+    auto* image = downcast<RenderImage>(renderer);
     if (image->cachedImage() && !image->cachedImage()->errorOccurred())
         return image->cachedImage();
 
-    return 0;
+    return nullptr;
 }
 
 static HGLOBAL createGlobalImageFileDescriptor(const String& url, const String& title, CachedImage* image)

Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (174675 => 174676)


--- trunk/Source/WebCore/rendering/HitTestResult.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -290,16 +290,16 @@
 Image* HitTestResult::image() const
 {
     if (!m_innerNonSharedNode)
-        return 0;
+        return nullptr;
     
-    auto renderer = m_innerNonSharedNode->renderer();
-    if (renderer && renderer->isRenderImage()) {
-        RenderImage* image = toRenderImage(renderer);
-        if (image->cachedImage() && !image->cachedImage()->errorOccurred())
-            return image->cachedImage()->imageForRenderer(image);
+    auto* renderer = m_innerNonSharedNode->renderer();
+    if (is<RenderImage>(renderer)) {
+        auto& image = downcast<RenderImage>(*renderer);
+        if (image.cachedImage() && !image.cachedImage()->errorOccurred())
+            return image.cachedImage()->imageForRenderer(&image);
     }
 
-    return 0;
+    return nullptr;
 }
 
 IntRect HitTestResult::imageRect() const

Modified: trunk/Source/WebCore/rendering/RenderImage.h (174675 => 174676)


--- trunk/Source/WebCore/rendering/RenderImage.h	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/rendering/RenderImage.h	2014-10-14 09:07:21 UTC (rev 174676)
@@ -128,8 +128,6 @@
     friend class RenderImageScaleObserver;
 };
 
-RENDER_OBJECT_TYPE_CASTS(RenderImage, isRenderImage())
-
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderImage, isRenderImage())

Modified: trunk/Source/WebCore/rendering/RenderImageResource.cpp (174675 => 174676)


--- trunk/Source/WebCore/rendering/RenderImageResource.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/rendering/RenderImageResource.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -132,8 +132,8 @@
     if (!m_cachedImage)
         return LayoutSize();
     LayoutSize size = m_cachedImage->imageSizeForRenderer(m_renderer, multiplier, type);
-    if (m_renderer && m_renderer->isRenderImage())
-        size.scale(toRenderImage(m_renderer)->imageDevicePixelRatio());
+    if (is<RenderImage>(m_renderer))
+        size.scale(downcast<RenderImage>(*m_renderer).imageDevicePixelRatio());
     return size;
 }
 

Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (174675 => 174676)


--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -1819,10 +1819,10 @@
 // that require painting. Direct compositing saves backing store.
 bool RenderLayerBacking::isDirectlyCompositedImage() const
 {
-    if (!renderer().isRenderImage() || renderer().isMedia() || m_owningLayer.hasBoxDecorationsOrBackground() || renderer().hasClip())
+    if (!is<RenderImage>(renderer()) || is<RenderMedia>(renderer()) || m_owningLayer.hasBoxDecorationsOrBackground() || renderer().hasClip())
         return false;
 
-    RenderImage& imageRenderer = toRenderImage(renderer());
+    auto& imageRenderer = downcast<RenderImage>(renderer());
     if (CachedImage* cachedImage = imageRenderer.cachedImage()) {
         if (!cachedImage->hasImage())
             return false;
@@ -1866,8 +1866,7 @@
 
 void RenderLayerBacking::updateImageContents()
 {
-    ASSERT(renderer().isRenderImage());
-    RenderImage& imageRenderer = toRenderImage(renderer());
+    auto& imageRenderer = downcast<RenderImage>(renderer());
 
     CachedImage* cachedImage = imageRenderer.cachedImage();
     if (!cachedImage)

Modified: trunk/Source/WebCore/rendering/RenderReplaced.cpp (174675 => 174676)


--- trunk/Source/WebCore/rendering/RenderReplaced.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/rendering/RenderReplaced.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -286,8 +286,8 @@
         // Handle zoom & vertical writing modes here, as the embedded document doesn't know about them.
         intrinsicSize.scale(style().effectiveZoom());
 
-        if (isRenderImage())
-            intrinsicSize.scale(toRenderImage(this)->imageDevicePixelRatio());
+        if (is<RenderImage>(*this))
+            intrinsicSize.scale(downcast<RenderImage>(*this).imageDevicePixelRatio());
 
         // Update our intrinsic size to match what the content renderer has computed, so that when we
         // constrain the size below, the correct intrinsic size will be obtained for comparison against

Modified: trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp (174675 => 174676)


--- trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp	2014-10-14 09:07:21 UTC (rev 174676)
@@ -150,8 +150,8 @@
     styleImage->setContainerSizeForRenderer(&m_renderer, imageSize, m_renderer.style().effectiveZoom());
 
     const LayoutRect& marginRect = getShapeImageMarginRect(m_renderer, m_referenceBoxLogicalSize);
-    const LayoutRect& imageRect = m_renderer.isRenderImage()
-        ? toRenderImage(&m_renderer)->replacedContentRect(m_renderer.intrinsicSize())
+    const LayoutRect& imageRect = is<RenderImage>(m_renderer)
+        ? downcast<RenderImage>(m_renderer).replacedContentRect(m_renderer.intrinsicSize())
         : LayoutRect(LayoutPoint(), imageSize);
 
     ASSERT(!styleImage->isPendingImage());

Modified: trunk/Source/WebKit/mac/ChangeLog (174675 => 174676)


--- trunk/Source/WebKit/mac/ChangeLog	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebKit/mac/ChangeLog	2014-10-14 09:07:21 UTC (rev 174676)
@@ -1,3 +1,16 @@
+2014-10-14  Chris Dumez  <[email protected]>
+
+        Use is<>() / downcast<>() for RenderImage
+        https://bugs.webkit.org/show_bug.cgi?id=137683
+
+        Reviewed by Mihnea Ovidenie.
+
+        Use is<>() / downcast<>() for RenderImage.
+
+        * Misc/WebNSPasteboardExtras.mm:
+        (imageFromElement):
+        (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
+
 2014-10-10  Daniel Bates  <[email protected]>
 
         Remove unused classes WebRender{Node, Layer}

Modified: trunk/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm (174675 => 174676)


--- trunk/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm	2014-10-14 09:07:21 UTC (rev 174676)
@@ -220,13 +220,13 @@
 {
     Element* element = core(domElement);
     if (!element)
-        return 0;
+        return nullptr;
     
-    RenderObject* renderer = element->renderer();
-    RenderImage* imageRenderer = toRenderImage(renderer);
-    if (!imageRenderer->cachedImage() || imageRenderer->cachedImage()->errorOccurred()) 
-        return 0;        
-    return imageRenderer->cachedImage();
+    ASSERT(element->renderer());
+    auto& imageRenderer = downcast<RenderImage>(*element->renderer());
+    if (!imageRenderer.cachedImage() || imageRenderer.cachedImage()->errorOccurred())
+        return nullptr;
+    return imageRenderer.cachedImage();
 }
 
 - (void)_web_writeImage:(NSImage *)image
@@ -271,12 +271,12 @@
     ASSERT(self == [NSPasteboard pasteboardWithName:NSDragPboard]);
 
     NSString *extension = @"";
-    if (RenderObject* renderer = core(element)->renderer()) {
-        if (renderer->isRenderImage()) {
-            if (CachedImage* image = toRenderImage(renderer)->cachedImage()) {
+    if (auto* renderer = core(element)->renderer()) {
+        if (is<RenderImage>(*renderer)) {
+            if (CachedImage* image = downcast<RenderImage>(*renderer).cachedImage()) {
                 extension = image->image()->filenameExtension();
                 if (![extension length])
-                    return 0;
+                    return nullptr;
             }
         }
     }

Modified: trunk/Source/WebKit2/ChangeLog (174675 => 174676)


--- trunk/Source/WebKit2/ChangeLog	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebKit2/ChangeLog	2014-10-14 09:07:21 UTC (rev 174676)
@@ -1,3 +1,17 @@
+2014-10-14  Chris Dumez  <[email protected]>
+
+        Use is<>() / downcast<>() for RenderImage
+        https://bugs.webkit.org/show_bug.cgi?id=137683
+
+        Reviewed by Mihnea Ovidenie.
+
+        Use is<>() / downcast<>() for RenderImage.
+
+        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+        (WebKit::cachedImage):
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::performActionOnElement):
+
 2014-10-13  Carlos Garcia Campos  <[email protected]>
 
         [GTK][CMake] Non-ninja build is broken since r174422

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm (174675 => 174676)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm	2014-10-14 09:07:21 UTC (rev 174676)
@@ -86,14 +86,12 @@
 
 static WebCore::CachedImage* cachedImage(Element& element)
 {
-    RenderObject* renderer = element.renderer();
-    if (!renderer)
-        return 0;
-    if (!renderer->isRenderImage())
-        return 0;
-    WebCore::CachedImage* image = toRenderImage(renderer)->cachedImage();
+    auto* renderer = element.renderer();
+    if (!is<WebCore::RenderImage>(renderer))
+        return nullptr;
+    WebCore::CachedImage* image = downcast<WebCore::RenderImage>(*renderer).cachedImage();
     if (!image || image->errorOccurred()) 
-        return 0;
+        return nullptr;
     return image;
 }
 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (174675 => 174676)


--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2014-10-14 08:18:32 UTC (rev 174675)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2014-10-14 09:07:21 UTC (rev 174676)
@@ -1956,21 +1956,20 @@
         return;
 
     if (static_cast<SheetAction>(action) == SheetAction::Copy) {
-        if (element->renderer()->isRenderImage()) {
+        if (is<RenderImage>(*element->renderer())) {
             Element* linkElement = containingLinkElement(element);
         
             if (!linkElement)
-                m_interactionNode->document().frame()->editor().writeImageToPasteboard(*Pasteboard::createForCopyAndPaste(), *element, toRenderImage(element->renderer())->cachedImage()->url(), String());
+                m_interactionNode->document().frame()->editor().writeImageToPasteboard(*Pasteboard::createForCopyAndPaste(), *element, downcast<RenderImage>(*element->renderer()).cachedImage()->url(), String());
             else
                 m_interactionNode->document().frame()->editor().copyURL(linkElement->document().completeURL(stripLeadingAndTrailingHTMLSpaces(linkElement->getAttribute(HTMLNames::hrefAttr))), linkElement->textContent());
         } else if (element->isLink()) {
             m_interactionNode->document().frame()->editor().copyURL(element->document().completeURL(stripLeadingAndTrailingHTMLSpaces(element->getAttribute(HTMLNames::hrefAttr))), element->textContent());
         }
     } else if (static_cast<SheetAction>(action) == SheetAction::SaveImage) {
-        if (!element->renderer()->isRenderImage())
+        if (!is<RenderImage>(*element->renderer()))
             return;
-        CachedImage* cachedImage = toRenderImage(element->renderer())->cachedImage();
-        if (cachedImage) {
+        if (CachedImage* cachedImage = downcast<RenderImage>(*element->renderer()).cachedImage()) {
             SharedMemory::Handle handle;
             RefPtr<SharedBuffer> buffer = cachedImage->resourceBuffer()->sharedBuffer();
             if (buffer) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to