Ignore:
Timestamp:
Sep 15, 2013, 5:52:58 AM (12 years ago)
Author:
[email protected]
Message:

CTTE: RenderWidgets are never anonymous.
<https://webkit.org/b/121385>

Reviewed by Anders Carlsson.

Codify the following:

  • RenderWidget always has an HTMLFrameOwnerElement.
  • RenderEmbeddedObject always has an HTMLFrameOwnerElement.
  • RenderSnapshottedPlugIn always has an HTMLPlugInImageElement.
  • RenderFrame always has an HTMLFrameElement.
  • RenderIFrame always has an HTMLIFrameElement.

None of these renderers are ever anonymous, so delete element() and provide
strongly typed reference getters instead.

File:
1 edited

Legend:

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

    r155796 r155806  
    8989}
    9090
    91 RenderWidget::RenderWidget(HTMLFrameOwnerElement* element)
    92     : RenderReplaced(element)
     91RenderWidget::RenderWidget(HTMLFrameOwnerElement& element)
     92    : RenderReplaced(&element)
    9393    , m_weakPtrFactory(this)
    9494    , m_widget(0)
    95     , m_frameView(element->document().view())
     95    , m_frameView(element.document().view())
    9696{
    9797    setInline(false);
     
    124124bool RenderWidget::setWidgetGeometry(const LayoutRect& frame)
    125125{
    126     if (!frameOwnerElement())
    127         return false;
    128 
    129126    IntRect clipRect = roundedIntRect(enclosingLayer()->childrenClipRect());
    130127    IntRect newFrame = roundedIntRect(frame);
     
    340337void RenderWidget::updateWidgetPosition()
    341338{
    342     if (!m_widget || !frameOwnerElement()) // Check the node in case destroy() has been called.
     339    if (!m_widget)
    343340        return;
    344341
     
    409406
    410407    // Check to see if we are really over the widget itself (and not just in the border/padding area).
    411     if ((inside || result.isRectBasedTest()) && !hadResult && result.innerNode() == frameOwnerElement())
     408    if ((inside || result.isRectBasedTest()) && !hadResult && result.innerNode() == &frameOwnerElement())
    412409        result.setIsOverWidget(contentBoxRect().contains(result.localPoint()));
    413410    return inside;
     
    439436        return true;
    440437
    441     if (!frameOwnerElement())
    442         return false;
    443 
    444     if (Document* contentDocument = frameOwnerElement()->contentDocument()) {
     438    if (Document* contentDocument = frameOwnerElement().contentDocument()) {
    445439        if (RenderView* view = contentDocument->renderView())
    446440            return view->usesCompositing();
     
    460454RenderBox* RenderWidget::embeddedContentBox() const
    461455{
    462     if (!frameOwnerElement() || !widget() || !widget()->isFrameView())
     456    if (!widget() || !widget()->isFrameView())
    463457        return 0;
    464458    return toFrameView(widget())->embeddedContentBox();
Note: See TracChangeset for help on using the changeset viewer.