webkit 常用操作代码调用流程
来源:互联网 发布:电器设计软件 编辑:程序博客网 时间:2024/05/16 11:37
构造 HTML/XML tokenizer
[HTML]Document::createTokenizer() [HTML]Document::implicitOpen() FrameLoader::begin(const KURL&, bool dispatch, SecurityOrigin*) FrameLoader::receivedFirstData()
Tokenizing HTML/XML document
From the moment, piece by piece of an HTML document is obtained from the network, this is what happens:
[HTML,XML]Tokenizer::write(const SegmentedString& str, bool appendData) FrameLoader::write(const char* data, int len, bool flush) FrameLoader::addData(const char* bytes, int length) FrameLoaderClientQt::committedLoad(DocumentLoader* loader, const char* data, int length) FrameLoader::committedLoad(DocumentLoader* loader, const char* data, int length) DocumentLoader::commitLoad(const char* data, int length) DocumentLoader::receivedData(const char* data, int length) FrameLoader::receivedData(const char* data, int length) MainResourceLoader::addData(const char* data, int length, bool allAtOnce) ResourceLoader::didReceivedData(const char* data, int length, long long received, bool allAtOnce) ResourceLoader::didReceiveData(ResourceHandle*, const char* data, int len, long long received)
绘制一个push按钮
RenderTheme[Gtk,Wx,Qt]::paintButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) RenderTheme::paint(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) RenderBox::paintBoxDecorations(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) InlineBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) InlineFlowBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RootInlineBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderLineBoxList::paint(RenderBoxModelObject* renderer, RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintChildren(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintChildren(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderLayer::paintLayer(RenderLayer*, GraphicsContext*, const IntRect& paintDirtyRect, PaintRestriction paintRestriction, RenderObject* paintingRoot, RenderObject::OverlapTestRequestMap* overlapTestRequests, PaintLayerFlags paintFlags) RenderLayer::paint(GraphicsContext* p, const IntRect& damageRect, PaintRestriction paintRestriction, RenderObject *paintingRoot) FrameView::paintContents(GraphicsContext* p, const IntRect& rect) ScrollView::paint(GraphicsContext* p, const IntRect& rect)
解码图片
Shown here for the Qt port, might vary a bit for other ports.
ImageDecoderQt::setData(const IncomingData &data, bool allDataReceived) ImageSource::setData(SharedBuffer* data, bool allDataReceived) BitmapImage::dataChanged(bool allDataReceived) Image::setData(PassRefPtr<SharedBuffer> data, bool allDataReceived) CachedImage::data(PassRefPtr<SharedBuffer> data, bool allDataReceived) Loader::Host::didReceiveData(SubresourceLoader* loader, const char* data, int size) SubresourceLoader::didReceiveData(const char* data, int length, long long lengthReceived, bool allAtOnce) ResourceLoader::didReceiveData(ResourceHandle*, const char* data, int length, int lengthReceived)
G获取网络数据
Shown here for the Qt port, might vary a bit for other ports.
QNetworkReplyHandler::start() QNetworkReplyHandler(ResourceHandle* handle, LoadMode loadMode) ResourceHandle::start(Frame* frame) ResourceHandle::create(const ResourceRequest& request, ResourceHandleClient* client, Frame* frame, bool defersLoading, bool shouldContentSniff, bool mightDownloadFromHandle) MainResourceLoader::loadNow(ResourceRequest& r) MainResourceLoader::load(const ResourceRequest& r, const SubstituteData& substituteData) DocumentLoader::startLoadingMainResource(unsigned long identifier) FrameLoader::continueLoadAfterWillSubmitForm(PolicyAction) FrameLoader::continueLoadAfterNavigationPolicy(const ResourceRequest&, PassRefPtr<FormState> formState, bool shouldContinue) FrameLoader::callContinueLoadAfterNavigationPolicy(void* argument, const ResourceRequest& request, PassRefPtr<FormState> formState, bool shouldContinue) PolicyCheck::call(bool shouldContinue) FrameLoader::continueAfterNavigationPolicy(PolicyAction policy) FrameLoaderClientQt::callPolicyFunction(FramePolicyFunction function, PolicyAction action) FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const WebCore::NavigationAction& action, const WebCore::ResourceRequest& request, PassRefPtr<WebCore::FormState>) FrameLoader::checkNavigationPolicy(const ResourceRequest& request, DocumentLoader* loader, PassRefPtr<FormState> formState, NavigationPolicyDecisionFunction function, void* argument) FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType type, PassRefPtr<FormState> prpFormState) FrameLoader::load(DocumentLoader* newDocumentLoader) FrameLoader::load(const ResourceRequest& request, const String& frameName, bool lockHistory) FrameLoader::load(const ResourceRequest& request, bool lockHistory) QWebFrame::load(const QNetworkRequest &req, QNetworkAccessManager::Operation operation, const QByteArray &body) QWebFrame::load(const QUrl &url)
- webkit 常用操作代码调用流程
- WebKit之常用操作代码调用流程
- WebKit一些常用操作的调用过程(Code Paths for Common Operations)
- android4.0 webkit 请求网络数据的调用流程
- 常用Intent调用代码
- wordpress常用调用代码
- GitFlow工作流常用操作流程
- 日期操作常用代码
- 文本操作常用代码~
- 日期操作常用代码
- 常用字符串操作代码
- 常用文件操作代码
- 字符串操作常用代码
- datagridview 常用操作代码
- ios常用操作代码
- Intent常用操作代码
- WebKit加载网页流程
- webkit html 解析流程
- 如何更好的读别人写的代码
- 过滤敏感字的算法
- Windows程序调试系列文章——Windbg轻松上路
- CE6 CPU 使用率
- JVM垃圾回收机制总结(2) :基本算法概述
- webkit 常用操作代码调用流程
- Linux修改IP和DNS
- 如何找内存泄露
- JVM垃圾回收机制总结(3) :按代垃圾收集器
- CE 6 下键盘钩子(HOOK)
- MySQL数据库表的主键到底是用GUID好,还是INT好?
- VM 的管理命令vmrun
- CE 6 鼠标钩子(HOOK)
- C#之DataGridView控件的灵活运用