Fix an issue where themes would sporadically fail to install.

Trying to send decoded images over IPC didn't work too well.  Instead, we'll
write them to a file and have the browser slurp them in from there.  My first
instinct was to use SharedMemory, but that would require us to impose a limit
on the size of the decoded image data.

Also made sure that the undecoded images are deleted when we install.

BUG=13455
TEST=Try the repro steps in bug 13455 several times and make sure it works
every time.
Review URL: http://codereview.chromium.org/119255

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17797 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/common/extensions/extension.h b/chrome/common/extensions/extension.h
index 9b79f30f..245d7b6 100644
--- a/chrome/common/extensions/extension.h
+++ b/chrome/common/extensions/extension.h
@@ -5,6 +5,7 @@
 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_H_
 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_
 
+#include <set>
 #include <string>
 #include <vector>
 
@@ -202,6 +203,10 @@
   }
   bool IsTheme() { return is_theme_; }
 
+  // Returns a list of paths (relative to the extension dir) for images that
+  // the browser might load (like themes and page action icons).
+  std::set<FilePath> GetBrowserImages();
+
  private:
   // Helper method that loads a UserScript object from a
   // dictionary in the content_script list of the manifest.