Changes between Version 3 and Version 4 of SourceDirectory

Jul 12, 2011 11:27:51 AM (8 years ago)

Added more content to the WebCore section


  • SourceDirectory

    v3 v4  
    2323== [ WebCore] ==
    25 This is where most of the magic lives. All of the rendering 
    26 logic, SVG support, transforms, network support, etc. is here.
     25This is the core of WebKit (WebKit Core). It contains the cross-port code of WebKit as well as some code that sits on top of the underlying libraries.
    28 Each platform has specific logic here. Look in WebCore platform for 
    29 the OS-specific and rendering (Skia, CG, Cairo) backends.
     27=== [ DOM] ===
     29DOM is where the object related to the Document Object Model lives. Most of the DOM tree objects are here, the rest being in the specialized directory (like HTML for HTML elements).
     31=== [ HTML] ===
     33This directory holds everything related to HTML. There are the different elements (HTMLIFrameElement for <iframe>) as well as the HTML [ parser] and the rendering logic for [ canvas].
     35=== [ CSS] ===
     37This hosts the code that handles CSS. There is the CSSParser and the supporting objects for the representing the parsed output ([ StyleSelector] for example). It also includes CSSStyleSelector which is responsible to apply the CSS information on the DOM tree to create the computed style.
     39=== [ rendering] ===
     41This contains all the code related to rendering an HTML page. The RenderTree objects live in this directory. The root class of any render tree object is RenderObject and each objects that needs a specialized behavior has a custom class. For more information about rendering, check out [wiki:WebCoreRendering].
     43A notable directory there is [ style] which contains the computed style as present in the RenderTree.
     45=== [ bindings] ===
     47This is where the JavaScript bindings live. Most of the JavaScript bindings are auto-generated from the IDL files using the script contained in [ scripts].
     49What is present in this directory is what is '''not''' auto-generated because it needs special attention (same origin checks for example) or because our scripts do not support autogenerating the code.
     51Each JS engine has its own directory for its own bindings: [ JSC] and [ V8]. There is also a [ common] directory for bindings that can be shared between the engine.
     53=== [ platform] ===
     55Each platform has specific logic here. It is meant to be an abstraction layer on top of the underlying port's library. The OS-specific and rendering (Skia, CG, Cairo) backends are implemented in the different subdirectories.
     57Covered in this directory are:
     58 * graphics
     59 * networking
     60 * text
     61 * image decoding / encoding
     62 * sql
     63 * ...
    3165== [ WebKit] ==