webkitまとめ1

2588 ワード

転載は出典を明記してください.http://blog.csdn.net/awebkit
        最近いくつか資料を調べてみましたが、いいと思います.webkitに対する認識が深まっています.ここでまとめてみます.
        住所欄にurlを入力したら、webkitはどうやって仕事を始めますか?
        ブラウザで見たページはウィンドウで、Chromeに対応して、後ろのコントロールはPageに渡します.(もっと一般的な概念はWebViewです.WebViewの核心メンバーはPageです.現象と考えられます.一つは本質です.)Frame Viewに表示します.PageにはmanFrameが含まれています.frame対応html標準中のframe.frame estラベルがあれば、他のframeもあります.これらのframeを管理するためにFrame Treeがあります.
        frameのロードはここです.http://blog.csdn.net/dlmu2001/article/details/6363380 ,とても詳しく話しました.ここでまとめたからには、簡単に考えて、上の文章を見てからここを見ます.frameはFrame Loaderを通してurlを搭載する.Frame Loaderは三つのDcumentLoaderを維持し、異なる段階に対応する.まずFrame LoaderCientを通じてDcumentLoaderを創立して、m_に設定します.policyDcument Loader.m_policyDocmentLoaderは一連のpolicy checkを行って、もし通るならば、この対象はm_に与えます.provisionalDcument Loaderは、startLoadingMainResourceを担当し、データが来たらm_に移行します.docment Loader.m_provisionaldocument Loaderは空白のページで、ホワイトスクリーンとして表示されます.DcumentLoaderとは違って、ちょっとコンディションの感じがしますか?実はDcumentLoaderです.場合によって身分が違います.
        もう一度振り返ってみましょう.startLoadingMainsource.メインリソースの読み込み
        解析の過程は以下にも詳しく説明します.http://blog.csdn.net/dlmu2001/article/details/6583280   解析の過程はDOMツリーとRenderツリーの建立過程です.ネットワークからの入力ストリームに基づいて、HTMLtokenizerで単語を区切ってHTMLtokenを生成する.一般的には、一つの要素は三つのHTMLtoken、開始ラベル、終了ラベル、要素内容に対応します.DOMツリーに対応すると、開始ラベルと終了ラベルはノードに対応し、要素コンテンツはノードに対応する.
       HTMLtokenからElement派生クラスを作成し、DOMツリーに追加して、atechを呼び出します.atechはまずNodeの中で定義されます.NodeはDOMモデルの基礎類で、よくある派生類はDockment、Element、Text類です.なお、Dcumentは文書ツリーのルートノードである.元のテキストをTextクラスに変換します.ラベルはElementクラスに対応しています.
        HTMLELE mentの派生要素の作成はHTMLEMEntFactoryによって実現されました.名前の通り、ここでは工場モードを使用しています.ここはあなたが思っているよりずっと精巧で、この種類は自動的に生成されます.一つのperlスクリプト bindings/scripts/generate-bindings.plは自動的にこの種類を生成します.
HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
    perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory --extraDefines "$(HTML_FLAGS)"
       この文の大まかな意味は、HTMLEMEntFactory.cppを生成するHTM LNames.cppであり、これらのファイルはdom/make_に依存しているということです.names.pl)/HTMLtag Names.in)/HTMLAttributes Names.in.以下は実行されるperlコマンドです.自動化コードの生成は、強力ですよね?
       振り返ってみますと、HTMlement Factoryを見て、この種類はcreateHTMLELELELELELENEの方法を提供しています.HTMLImageElementなど、様々なHTMLELE ment派生類を生成しています.HTMLEMEntFactoryは、ラベル名から対応する構造関数のmapまでを維持し、前に生成されたTokenが転送された後、ラベル名に基づいて対応する派生クラスを生成する.スクリプトといくつかの配置ファイルを通して、このように多くの派生クラスの生成を簡単に行いました.クリアで、強力で、webkitオープンソースソフトウェアのコードの優れた品質に感心せざるを得ません.
      javascriptバインディングの過程.