Webkit之常用对象API梳理

原创 2015年11月17日 21:53:35

1)Node

#NodeType nodeType()//获取节点类型

#ContainerNode parentNode()//容器节点

#Element parentElement()//父亲元素

#Node

>>previousSibling()、nextSibling()//前后节点

>>childNodes()、firstChild()、lastChild()//孩子兄弟

>>lastDescendant()、firstDescendant//继承节点

#NamedNodeMap attributes()//获取属性列表

#ScriptExecutionContext scriptExecutionContext()//script执行上下文。

#RenderObject renderer()、nextRenderer()、previousRenderer()//渲染对象

#RenderBox renderBox()//渲染Box

#RenderBoxModelObject renderBoxModelObject()//渲染Box模型

#RenderStyle renderStyle()、computedStyle()//渲染Style信息体

#NodeList

>>getElementsByTagName()

>>getElementsByTagNameNS()

>>getElementsByName()

>>getElementsByClassName()


2)RenderObject

#Document document()//获取文档对象

#Frame frame()//数据Frame

#Node node()//数据节点

#RenderView view()//渲染物理View

#RenderStyle style()//渲染信息


3)RenderStyle

#inheritFrom():继承父元素

#RenderStyle//获取渲染样式

>>addCachedPseudoStyle()、removeCachedPseudoStyle()、getCachedPseudoStyle()

#create()、createDefaultStyle()、createAnonymousStyle()

#clone()//克隆


4)RenderTheme

#创建:defaultTheme()

#操作:

void adjustStyle()//Style发生改变时需要调度此函数。

bool paint(RenderObject*, const PaintInfo&, const IntRect&);

//绘制RenderObject的的背景,前景一般由engine提供(button`s text)


5)RenderThemeQt

#static void initStyleOption(QWidget *widget, QStyleOption& option)

 //根据QWidget的特性提取QStyleOption信息。

#QStyleFactory::create(QLatin1String("windows"));

 //创建默认的QStyle式样。

#绘制操作:

 paintButton(RenderObject* o, const PaintInfo& i, const IntRect& r)

 paintTextField():绘制文本域

 paintTextArea():绘制文本域

 paintMenuList():菜单列表

 paintMenuListButton():菜单列表按钮

 paintProgressBar():绘制进度条

 paintSliderTrack():绘制滑动条(slider)

 paintSliderThumb():绘制Slider的首部

 paintSearchField():绘制搜查域

 paintSearchFieldCancelButton

 paintSearchFieldDecoration

 paintSearchFieldResultsDecoration

 paintMediaBackground

 paintMediaFullscreenButton

 paintMediaMuteButton

 paintMediaSeekBackButton

 paintCheckbox

 paintRadiobox


6)StylePainter介绍(QWidget、QPainter、QStyle的枢纽带)

#构造:

>>explicit StylePainter(RenderThemeQt*, const PaintInfo&);

#绘制操作:

 void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption& opt);

 void drawControl(QStyle::ControlElement ce, const QStyleOption& opt);

 void drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex& opt);


7)Event

#路径:WebCore/dom/Event.h


8)WebCore/generated/HTMLNames.h

#属性、标签


9)HTMLAnchorElement

#基本属性:

>>name、target、path、host、port、href、protecol、search、text


10)parseMappedAttribute

#负责解析标签中的属性,层层调用的关系逻辑,全面解析属性。

#解析之后,然后对外提供判断的接口( isURLAttribute() )


11)网络加载端的API

ResourceHandle::prepareForURL(document()->completeURL(parsedURL))

[WebKit]WebKit2 API解析

这里是对上一篇>的进一步展开。先从API层开始。 API概览 主要类图 WebKit提供了灵活的回调机制用来支持客户端与内核的交互,在API中有一些Set Client类的函...
  • HorkyChen
  • HorkyChen
  • 2013年02月18日 23:44
  • 9080

webkit API接口文档

http://webkitgtk.org/reference/webkitgtk/stable/webkitgtk-webkitwebview.html#WebKitWebView
  • mydsyc
  • mydsyc
  • 2014年11月01日 10:53
  • 1825

WebKit.net API.chm版,

  • 2017年10月07日 02:08
  • 483KB
  • 下载

WebKit .NET API 手册

  • 2017年07月13日 09:05
  • 483KB
  • 下载

Webkit之常用对象API梳理

1)Node #NodeType nodeType()//获取节点类型 #ContainerNode parentNode()//容器节点 #Element parentElemen...
  • sauphy
  • sauphy
  • 2015年11月17日 21:53
  • 854

WebKit帮助文档

  • 2016年06月06日 11:10
  • 460KB
  • 下载

java_常用对象API

1Object对象 面向对象的核心思想:“找合适的对象,做适合的事情”。 合适的对象: 1.自己描述类,自己创建对象。 2.sun已经描述了好多常用的类,可以使用这些类创建对象。 API(A...
  • qq_20261343
  • qq_20261343
  • 2015年09月05日 13:38
  • 1160

库函数的认识及 C/C++常用 api 及基本库

C++基础::函数、类、类型所在的头文件 && 便捷函数 && 接口的介绍C语言系列 函数 所在库 补充 touppertolower C++系列 函数 所在库 ...
  • lanchunhui
  • lanchunhui
  • 2016年01月23日 19:48
  • 510

webkit架构和模块

本章从webkit内部的主要结构和模块开始,随后介绍基于webkit的chromium游览器的内部结构和模块,并介绍多线程和多进程模型,并将chromium的多进程模型同webkit2的多进程模型进行...
  • Steward2011
  • Steward2011
  • 2016年05月05日 00:10
  • 610

WebKit库的使用

apple和google为webkit该浏览器引擎的发扬光大做出了重要贡献,在WWDC 2014发布会上发布iOS 8中,apple公布了WebKit框架,这意味着OSX和IOS开发者将共用同样的开发...
  • zhaoyya
  • zhaoyya
  • 2014年10月23日 08:42
  • 670
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Webkit之常用对象API梳理
举报原因:
原因补充:

(最多只允许输入30个字)