Changes between Version 26 and Version 27 of Modules

Feb 28, 2012 12:14:55 PM (12 years ago)



  • Modules

    v26 v27  
    77As we add more features to WebCore, the project becomes more complex.  Some self-contained features, like IndexedDB and MediaStream, expose JavaScript APIs but aren't otherwise involved in the core functionality of the engine, such as layout and rendering.  The module system let us reduce the complexity of the project by loosening the coupling of between these features and the rest of WebCore.  Often individual modules can be enabled with an `ENABLE` macro, but some modules are always enabled.
     9== Should my feature be a module? ==
     11Not all features should be implemented as modules.  For example, CSS features, such as flexbox or regions, are better implemented as part of the rest of the CSS machinery in WebCore because they often are tightly integrated with layout and rendering.  Other features, such as IndexedDB, do not need to be tightly integrated with the rest of WebCore and are good candidates to be modules.  Typically features defined in "satellite" specifications, such as those from the [ WebApps] working group, are good module candidates, whereas features defined in the "core" specifications, such as those from the [ HTML], [ CSS], or [ SVG] working groups, are more likely better implemented in WebCore proper.
     13If you're unsure whether you should implement your feature as a module, feel free to ask when you [ announce your feature on webkit-dev].
    915== Dependency diagram ==