|  | 1 | = Five Year Plan = | 
          
            |  | 2 | A collection of thoughts about where we want to take WebKit over the next five years. | 
          
            |  | 3 |  | 
          
            |  | 4 | == DOM Event Loop == | 
          
            |  | 5 | '''High Level:'''This task would create a DOM event loop construct to be used in WebKit C++ code to provide HTML specification. | 
          
            |  | 6 | '''Lower level:''' we would use platform run loop representations (ranging from CFRunLoop, to bare threads, to other platform primitives). | 
          
            |  | 7 | * Benefit: | 
          
            |  | 8 | 1. Fix lots of bugs because we enqueue events in one order, but they get fired in some other order. | 
          
            |  | 9 | 1. Would potentially help address our lack of micro-task abstraction. | 
          
            |  | 10 | * Potential problems: | 
          
            |  | 11 | 1. May be difficult to get right. | 
          
            |  | 12 | 1. Need to understand how this will interact with platform run loop | 
          
            |  | 13 |  | 
          
            |  | 14 | == Render Tree Refcounting == | 
          
            |  | 15 | Goal is to manage repaint complexity by moving to a refcount model. | 
          
            |  | 16 | * Downside: | 
          
            |  | 17 | 1. Potential for recycles. | 
          
            |  | 18 | 1. Slightly larger memory use (additional count) | 
          
            |  | 19 |  | 
          
            |  | 20 | == Painting: Display Lists == | 
          
            |  | 21 | Goal is to move drawing off of the main thread. | 
          
            |  | 22 |  | 
          
            |  | 23 | == Image Decoding == | 
          
            |  | 24 |  | 
          
            |  | 25 | == Layout State Machine == | 
          
            |  | 26 |  | 
          
            |  | 27 | == Hackability == | 
          
            |  | 28 | * Renaming. | 
          
            |  | 29 |  | 
          
            |  | 30 | == Text Measurement == | 
          
            |  | 31 |  | 
          
            |  | 32 | == Compositing == | 
          
            |  | 33 | * Downstream | 
          
            |  | 34 | * Incremental |