ImageDecoder.cpp (not used by Mac, but used by various other ports) makes a copy of the incoming data and puts it into a Vector. This is unnecessary since the data is originally in a SharedBuffer that is designed not to be copied.
Created attachment 16110 [details]
This patch changes ImageDecoder.setData to take a SharedBuffer*, and I updated the other Cairo image decoders. This also fixes two compiler warnings (unused variable and a for loop type mismatch).
Comment on attachment 16110 [details]
Landed in r25368.