Ignore:
Timestamp:
Sep 12, 2013, 10:11:18 PM (12 years ago)
Author:
[email protected]
Message:

[CTTE] RenderHTMLCanvas's element is always a HTMLCanvasElement.
<https://webkit.org/b/121272>

Reviewed by Anders Carlsson.

Add RenderHTMLCanvas::canvasElement(), hiding element().
This function also returns a reference since this renderer cannot be anonymous.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/rendering/RenderHTMLCanvas.cpp

    r155374 r155668  
    4242using namespace HTMLNames;
    4343
    44 RenderHTMLCanvas::RenderHTMLCanvas(HTMLCanvasElement* element)
    45     : RenderReplaced(element, element->size())
     44RenderHTMLCanvas::RenderHTMLCanvas(HTMLCanvasElement& element)
     45    : RenderReplaced(&element, element.size())
    4646{
    4747    // Actual size is not known yet, report the default intrinsic size.
    4848    view().frameView().incrementVisuallyNonEmptyPixelCount(roundedIntSize(intrinsicSize()));
     49}
     50
     51HTMLCanvasElement& RenderHTMLCanvas::canvasElement() const
     52{
     53    ASSERT(RenderObject::node());
     54    return toHTMLCanvasElement(*RenderObject::node());
    4955}
    5056
     
    5359    if (RenderReplaced::requiresLayer())
    5460        return true;
    55    
    56     HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(element());
    57     return canvas && canvas->renderingContext() && canvas->renderingContext()->isAccelerated();
     61
     62    if (CanvasRenderingContext* context = canvasElement().renderingContext())
     63        return context->isAccelerated();
     64
     65    return false;
    5866}
    5967
     
    7987
    8088    bool useLowQualityScale = style()->imageRendering() == ImageRenderingCrispEdges || style()->imageRendering() == ImageRenderingOptimizeSpeed;
    81     static_cast<HTMLCanvasElement*>(element())->paint(context, paintRect, useLowQualityScale);
     89    canvasElement().paint(context, paintRect, useLowQualityScale);
    8290}
    8391
    8492void RenderHTMLCanvas::canvasSizeChanged()
    8593{
    86     IntSize canvasSize = static_cast<HTMLCanvasElement*>(element())->size();
     94    IntSize canvasSize = canvasElement().size();
    8795    LayoutSize zoomedSize(canvasSize.width() * style()->effectiveZoom(), canvasSize.height() * style()->effectiveZoom());
    8896
Note: See TracChangeset for help on using the changeset viewer.