176532版本webkit中RenderObject类结构

好久没看WebCore/rendering目录了,最近要做WebKit的渲染优化,于是下载了最新的源码看了看,发现变化太大了,好些新的类加入了。因此预备重新分析一下,而静态分析一般都是从类结构开始的,分析Render*类如下:

RenderObject : public CachedImageClient  //这是否意味着所有Render元素都可以显示图片呢?

    |RenderElement

    |    |RenderLayerModelObject

    |    |    |RenderBoxModelObject  //这是css box module的基类

    |    |    |    |RenderBox

    |    |    |    |    |RenderBlock

    |    |    |    |    |    |RenderBlockFlow

    |    |    |    |    |    |    |RenderDetailsMarker

    |    |    |    |    |    |    |RenderFieldset

    |    |    |    |    |    |    |RenderFileUploadControl

    |    |    |    |    |    |    |RenderListBox  //also public ScrollableArea

    |    |    |    |    |    |    |RenderListItem

    |    |    |    |    |    |    |RenderMediaVolumeSliderContainer

    |    |    |    |    |    |    |RenderTextTrackContainerElement

    |    |    |    |    |    |    |RenderMeter

    |    |    |    |    |    |    |RenderProgress

    |    |    |    |    |    |    |RenderRegion

    |    |    |    |    |    |    |    |RenderNamedFlowFragment

    |    |    |    |    |    |    |    |RenderRegionSet

    |    |    |    |    |    |    |    |    |RenderMultiColumnSet

    |    |    |    |    |    |    |RenderRubyBase

    |    |    |    |    |    |    |RenderRubyAsBlock

    |    |    |    |    |    |    |RenderRubyRun

    |    |    |    |    |    |    |RenderRubyText

    |    |    |    |    |    |    |RenderTableCaption

    |    |    |    |    |    |    |RenderTableCell

    |    |    |    |    |    |    |RenderTextControl

    |    |    |    |    |    |    |    |RenderTextControlMultiLine

    |    |    |    |    |    |    |    |RenderTextControlSingleLine

    |    |    |    |    |    |    |    |     |RenderSearchField   //also public PopupMenuClient

    |    |    |    |    |    |    |RenderTextControlInnerBlock

    |    |    |    |    |    |    |RenderView   //also public SelectionSubtreeRoot,这是document对应类,RenderTree根节点

    |    |    |    |    |    |    |RenderVTTCue

    |    |    |    |    |    |RenderDeprecatedFlexibleBox

    |    |    |    |    |    |RenderFlexibleBox

    |    |    |    |    |    |    |RenderButton

    |    |    |    |    |    |    |RenderFullScreen

    |    |    |    |    |    |    |RenderMediaControlTimelineContainer

    |    |    |    |    |    |    |RenderMenuList   //also public PopupMenuClient

    |    |    |    |    |    |    |RenderSlider

    |    |    |    |    |    |    |RenderTextControlInnerContainer

    |    |    |    |    |    |RenderGrid

    |    |    |    |    |    |RenderScrollbarPart

    |    |    |    |    |    |RenderTable

    |    |    |    |    |RenderFrameSet

    |    |    |    |    |RenderListMarker

    |    |    |    |    |RenderMultiColumnSpannerPlaceholder

    |    |    |    |    |RenderReplaced

    |    |    |    |    |    |RenderHTMLCanvas

    |    |    |    |    |    |RenderImage

    |    |    |    |    |    |    |RenderMedia

    |    |    |    |    |    |RenderWidget   //also private OverlapTestRequestClient

    |    |    |    |    |    |    |RenderEmbeddedObject

    |    |    |    |    |    |    |    |RenderSnapshottedPlugIn

    |    |    |    |    |    |    |RenderFrameBase

    |    |    |    |    |    |    |    |RenderFrame

    |    |    |    |    |    |    |    |RenderIFrame

    |    |    |    |    |RenderReplica

    |    |    |    |    |RenderTableCol

    |    |    |    |    |RenderTableRow

    |    |    |    |    |RenderTableSection

    |    |    |    |RenderInline

    |    |    |    |    |RenderQuote

    |    |    |    |    |RenderRubyAsInline

    |    |    |    |RenderLineBreak

    |RenderText

    |    |RenderCombineText

    |    |RenderCounter

    |    |RenderTextFragment

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值