| 
				     | 
				
| Line 17: | 
Line 17: | 
 | = Conversion opportunities =  |  | = Conversion opportunities =  | 
 | {|  |  | {|  | 
 | ! Project
  |  | 
 | ! Bug(s)
  |  | 
 | ! File(s) touched
  |  | 
 | ! Description
  |  | 
 | |-
  |  | 
 | | Retain gradients
  |  | 
 | | {{bug|761393}}
  |  | 
 | | nsCSSRendering.cpp, among others (which?)
  |  | 
 | | Realizing gradients can be extremely expensive, due to the way they're implemented in Direct2D (and possibly also Skia). 
  |  | 
 | 
  |  | 
 | 
  |  | 
 | We should cache the gfxPattern that represents these gradients, which will implicitly keep the realized gradient around.
  |  | 
 | 
  |  | 
 | |-
  |  | 
 | | gfxDrawable conversion
  |  | 
 | | {{bug|767132}}
  |  | 
 | | gfx/thebes/gfxDrawable.cpp
  |  | 
 | | We currently draw images (and similar things) using gfxDrawable, which only knows how to use Thebes. We should be smart enough to detect when a gfxContext is a wrapper around a DrawTarget, and call the DrawTarget functions directly to avoid wrapper overhead.
  |  | 
 | 
  |  | 
 | |-  |  | |-  | 
 | | Borders  |  | | Borders  |