We are planning to modularize WebKit. We are planning to split "self-contained" features out of WebCore/ into WebCore/Modules/. For example, we can move WebAudio, WebSocket, IndexedDB, ...etc from WebCore/ to WebCore/Modules/ as self-contained features.
The idea is that modules roughly correspond to features/specifications that aren't core to the rendering engine (like a CSS feature might be). Usually a module will be introduced with a corresponding ENABLE flag. Modules do not depend on each other. The dependency rule ensures that nothing outside the module will be burdened with knowledge/complexity of the ENABLE flag.
Modules enable us to develop self-contained features without touching WebCore/ code. We hope this will make it easier to develop features in each vendor.
Our WebKit modularization plan is here: https://docs.google.com/a/chromium.org/spreadsheet/ccc?key=0AppchfQ5mBrEdFlodHlLb0prdEd1ZEZyUHdCbEpoc2c#gid=0
The WebKit modularization is realized by the [Supplemental] IDL attribute. You can find more information of [Supplemental] here: https://trac.webkit.org/wiki/WebKitIDL#Supplemental
If you would work on WebKit modularization,
- please block this meta bug to track them
- please add the bug # to the SpreadSheet (https://docs.google.com/a/chromium.org/spreadsheet/ccc?key=0AppchfQ5mBrEdFlodHlLb0prdEd1ZEZyUHdCbEpoc2c#gid=0). Ask me if you need a write permission of the SpreadSheet.
As pointed out in bug 79507, when we make supplemental DOMWindow*.idl, WorkerContext*.idl, Navigator*.idl etc, we should copy & paste the CopyRight of the original DOMWindow.idl, WorkerContext.idl, Navigator.idl etc.
I updated and colored the SpreadSheet based on the webkit-dev@ discussion (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results).