Index: chrome/browser/themes/browser_theme_pack.h |
diff --git a/chrome/browser/themes/browser_theme_pack.h b/chrome/browser/themes/browser_theme_pack.h |
index d527e97342d83390848ffa9430e6763c5736596c..cc975cc1ce193ac82335a12617ad942aebb6f1dd 100644 |
--- a/chrome/browser/themes/browser_theme_pack.h |
+++ b/chrome/browser/themes/browser_theme_pack.h |
@@ -53,11 +53,11 @@ |
// will trip our IO on the UI thread detector. |
class BrowserThemePack : public CustomThemeSupplier { |
public: |
- // Builds the theme from |extension| into |pack|. This may be done on a |
- // separate thread as it takes so long. This can fail in the case where the |
- // theme has invalid data, in which case |pack->is_valid()| will be false. |
- static void BuildFromExtension(const extensions::Extension* extension, |
- scoped_refptr<BrowserThemePack> pack); |
+ // Builds the theme pack from all data from |extension|. This is often done |
+ // on a separate thread as it takes so long. This can fail and return NULL in |
+ // the case where the theme has invalid data. |
+ static scoped_refptr<BrowserThemePack> BuildFromExtension( |
+ const extensions::Extension* extension); |
// Builds the theme pack from a previously performed WriteToDisk(). This |
// operation should be relatively fast, as it should be an mmap() and some |
@@ -68,11 +68,6 @@ |
// Returns whether the specified identifier is one of the images we persist |
// in the data pack. |
static bool IsPersistentImageID(int id); |
- |
- // Default. Everything is empty. |
- BrowserThemePack(); |
- |
- bool is_valid() const { return is_valid_; } |
// Builds a data pack on disk at |path| for future quick loading by |
// BuildFromDataPack(). Often (but not always) called from the file thread; |
@@ -108,6 +103,9 @@ |
// Maps image ids to maps of scale factors to file paths. |
typedef std::map<int, ScaleFactorToFileMap> FilePathMap; |
+ // Default. Everything is empty. |
+ BrowserThemePack(); |
+ |
~BrowserThemePack() override; |
// Builds a header ready to write to disk. |
@@ -219,7 +217,7 @@ |
// theme_id without NULL terminator. |
uint8_t theme_id[16]; |
- }* header_ = nullptr; |
+ } *header_; |
// The remaining structs represent individual entries in an array. For the |
// following three structs, BrowserThemePack will either allocate an array or |
@@ -229,21 +227,21 @@ |
double h; |
double s; |
double l; |
- }* tints_ = nullptr; |
+ } *tints_; |
struct ColorPair { |
int32_t id; |
SkColor color; |
- }* colors_ = nullptr; |
+ } *colors_; |
struct DisplayPropertyPair { |
int32_t id; |
int32_t property; |
- }* display_properties_ = nullptr; |
+ } *display_properties_; |
// A list of included source images. A pointer to a -1 terminated array of |
// our persistent IDs. |
- int* source_images_ = nullptr; |
+ int* source_images_; |
#pragma pack(pop) |
// The scale factors represented by the images in the theme pack. |
@@ -256,8 +254,9 @@ |
RawImages image_memory_; |
// Loaded images. These are loaded from |image_memory_|, from |data_pack_|, |
- // and by BuildFromExtension(). |
- ImageCache images_; |
+ // and by BuildFromExtension(). These images should only be accessed on the UI |
+ // thread. |
+ ImageCache images_on_ui_thread_; |
// Cache of images created in BuildFromExtension(). Once the theme pack is |
// created, this cache should only be accessed on the file thread. There |
@@ -265,10 +264,6 @@ |
// or vice versa. |
ImageCache images_on_file_thread_; |
- // Whether the theme pack has been succesfully initialized and is ready to |
- // use. |
- bool is_valid_ = false; |
- |
DISALLOW_COPY_AND_ASSIGN(BrowserThemePack); |
}; |