w3ctech

WebKit是如何工作的?

how webkit works

how webkit works

how webkit works

Life of Web Page

how webkit works

Pages, Frames, and Documents

how webkit works

Lifecycle of a Frame

how webkit works

Committed is the quiescent state

How the Loader Works (Idealized)

how webkit works

How the HTML Parser Works

how webkit works

Preload Scanning for Fun and Profit

how webkit works

Script execution can change the input stream

Preload scanner tokenizes ahead

  • When parser is blocked on external scripts
  • Starts resource loads earlier

XSSAuditor

how webkit works

XSSAuditor examines token stream

Looks for scripts that were also in the request

  • Assumes those scripts were reflected XSS
  • Blocks them

DOM + CSS → Render Tree

how webkit works

Anonymous RenderObjects

how webkit works

  • Not every RenderObject has a DOM Node
  • Every RenderBlock either:
    • Has all inline children
    • Has no inline children

LayerTree

how webkit works

  • Sparse representation of RenderTree
  • Enables accelerated compositing, scrolling

Yet Another Tree: LineBoxTree

how webkit works

  • One RootInlineBox per line of text
  • List of inline flow and inline text boxes

Conclusion

  • WebCore's main processing pipeline:
    • Loader and Parser
    • CSS, DOM, and Script
    • RenderTree, LayerTree, and InlineBoxes
  • Other major subsystems
    • Accessibility, Editing, Events, CSS, Web Inspector
    • Plugins, SVG, MathML, XSLT...
  • Other components
    • WebKit, Bindings, Platform, JavaScriptCore, WTF
    • ... 1.5 MLOC of C++
  • Learn more:
w3ctech微信

扫码关注w3ctech微信公众号

共收到2条回复

  • 求翻译,英语不是很好。

    回复此楼
  • 现在说Webkit都是AppleWebkit了,chrome的是Blink :)

    回复此楼