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) {