• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            string

            string
            posts - 27, comments - 177, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            WebKit

            Posted on 2008-11-17 22:06 djx_zh 閱讀(1658) 評(píng)論(2)  編輯 收藏 引用


            1。main(...): 調(diào)用CoCreateInstance生成WebView對(duì)象gWebView
                    HRESULT hr = CoCreateInstance(CLSID_WebView, 0, CLSCTX_ALL, IID_IWebView, (void**)&gWebView);
            2。main(...):   調(diào)用gWebView::initWithFrame 生成繪圖窗口。
                  hr = gWebView->initWithFrame(clientRect, 0, 0);
            3。WebView對(duì)象:包含指向WebFrame 和Page對(duì)象的指針。WebView的初始化大部分在initWithFrame函數(shù)中,WebView構(gòu)造函數(shù)負(fù)責(zé)靜態(tài)成員的構(gòu)造及少量簡(jiǎn)單成員變量的初值。
            4。WebView::initWithFrame(...):
                  4.1 首先生成繪圖窗口:
                         m_viewWindow = CreateWindowEx(0, kWebViewWindowClassName, 0, WS_CHILD | WS_CLIPCHILDREN,
                    frame.left, frame.top, frame.right - frame.left, frame.bottom - frame.top, m_hostWindow, 0, gInstance, 0);
                  4.2  生成 WebCore::Page對(duì)象
                       m_page = new Page(new WebChromeClient(this), new WebContextMenuClient(this), new WebEditorClient(this), new WebDragClient(this), new WebInspectorClient(this));
                  4.3 生成WebFrame 對(duì)象
                       WebFrame* webFrame = WebFrame::createInstance();
                  4.4 生成WebFrame::Frame (d->frame)對(duì)象
                       RefPtr<Frame> coreFrame = webFrame->init(this, m_page, 0);
                       同時(shí) WebView的WebFrame指針賦值:  m_mainFrame = webFrame;
                 4.5 WebFrame::Frame 對(duì)象初始化
                       coreFrame->init();
            5。(4.2) Page() :
            6。(4.3) WebFrame::createInstance() :
            7。(4.4) WebFrame::init() :
            8。(4.5)Frame::init():


            FrameLoader::begin() :create document;

            frameLoader::write, Document::write  :  call tokenizer->write(...) 調(diào)用tokenizer進(jìn)行分析

            tokenizer::write() : 分析出token后, 調(diào)用 n = parser->parseToken(&currToken); 生成node,并插入到以document為根的樹中。

            Feedback

            # re: WebKit  回復(fù)  更多評(píng)論   

            2008-12-17 16:51 by cc_hltt
            好文章,頂一下。

            # re: WebKit  回復(fù)  更多評(píng)論   

            2009-07-07 14:59 by windyrobin
            不錯(cuò),非常感謝!

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久精品国产亚洲AV无码偷窥 | 久久夜色精品国产噜噜麻豆| 亚洲国产精品综合久久网络| 久久精品国产免费观看| 久久精品国产91久久综合麻豆自制 | 日日狠狠久久偷偷色综合96蜜桃 | 欧美激情精品久久久久久| 国产精品久久久久蜜芽| 丁香狠狠色婷婷久久综合| 欧美久久亚洲精品| 99精品国产在热久久无毒不卡| 国产精品成人无码久久久久久 | 久久99国产综合精品免费| 人人狠狠综合88综合久久| 国产美女久久精品香蕉69| 久久受www免费人成_看片中文| 久久精品草草草| 粉嫩小泬无遮挡久久久久久| 久久精品国产亚洲av麻豆图片| 精品人妻伦九区久久AAA片69| 国产午夜精品久久久久免费视| 一级a性色生活片久久无| 精品国产青草久久久久福利 | 久久国产成人| 久久91这里精品国产2020| 99久久99久久久精品齐齐| 少妇久久久久久被弄高潮| 久久精品成人欧美大片| 色综合久久中文字幕综合网| 久久国产成人亚洲精品影院| 99国内精品久久久久久久| 久久综合综合久久97色| 77777亚洲午夜久久多喷| 久久综合香蕉国产蜜臀AV| 亚洲国产欧洲综合997久久| 久久99精品久久久大学生| 久久久久久久久久久精品尤物| 久久精品青青草原伊人| 色婷婷综合久久久久中文 | 久久久久一本毛久久久| 久久天天日天天操综合伊人av|