| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/themes/browser_theme_pack.h" | 5 #include "chrome/browser/themes/browser_theme_pack.h" |
| 6 | 6 |
| 7 #include <limits.h> | 7 #include <limits.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 | 42 |
| 43 using content::BrowserThread; | 43 using content::BrowserThread; |
| 44 using extensions::Extension; | 44 using extensions::Extension; |
| 45 | 45 |
| 46 namespace { | 46 namespace { |
| 47 | 47 |
| 48 // Version number of the current theme pack. We just throw out and rebuild | 48 // Version number of the current theme pack. We just throw out and rebuild |
| 49 // theme packs that aren't int-equal to this. Increment this number if you | 49 // theme packs that aren't int-equal to this. Increment this number if you |
| 50 // change default theme assets or if you need themes to recreate their generated | 50 // change default theme assets or if you need themes to recreate their generated |
| 51 // images (which are cached). | 51 // images (which are cached). |
| 52 const int kThemePackVersion = 42; | 52 const int kThemePackVersion = 43; |
| 53 | 53 |
| 54 // IDs that are in the DataPack won't clash with the positive integer | 54 // IDs that are in the DataPack won't clash with the positive integer |
| 55 // uint16_t. kHeaderID should always have the maximum value because we want the | 55 // uint16_t. kHeaderID should always have the maximum value because we want the |
| 56 // "header" to be written last. That way we can detect whether the pack was | 56 // "header" to be written last. That way we can detect whether the pack was |
| 57 // successfully written and ignore and regenerate if it was only partially | 57 // successfully written and ignore and regenerate if it was only partially |
| 58 // written (i.e. chrome crashed on a different thread while writing the pack). | 58 // written (i.e. chrome crashed on a different thread while writing the pack). |
| 59 const int kMaxID = 0x0000FFFF; // Max unsigned 16-bit int. | 59 const int kMaxID = 0x0000FFFF; // Max unsigned 16-bit int. |
| 60 const int kHeaderID = kMaxID - 1; | 60 const int kHeaderID = kMaxID - 1; |
| 61 const int kTintsID = kMaxID - 2; | 61 const int kTintsID = kMaxID - 2; |
| 62 const int kColorsID = kMaxID - 3; | 62 const int kColorsID = kMaxID - 3; |
| (...skipping 721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 784 | 784 |
| 785 return false; | 785 return false; |
| 786 } | 786 } |
| 787 | 787 |
| 788 bool BrowserThemePack::GetColor(int id, SkColor* color) const { | 788 bool BrowserThemePack::GetColor(int id, SkColor* color) const { |
| 789 if (colors_) { | 789 if (colors_) { |
| 790 for (size_t i = 0; i < kColorTableLength; ++i) { | 790 for (size_t i = 0; i < kColorTableLength; ++i) { |
| 791 if (colors_[i].id == id) { | 791 if (colors_[i].id == id) { |
| 792 *color = colors_[i].color; | 792 *color = colors_[i].color; |
| 793 // The theme provider is intentionally made to ignore alpha for toolbar | 793 // The theme provider is intentionally made to ignore alpha for toolbar |
| 794 // color, as we don't want to allow transparent toolbars. | 794 // color, as we don't want to allow transparent toolbars. Same for the |
| 795 if (id == ThemeProperties::COLOR_TOOLBAR) | 795 // ntp background color. |
| 796 if (id == ThemeProperties::COLOR_TOOLBAR || |
| 797 id == ThemeProperties::COLOR_NTP_BACKGROUND) { |
| 796 *color = SkColorSetA(*color, SK_AlphaOPAQUE); | 798 *color = SkColorSetA(*color, SK_AlphaOPAQUE); |
| 799 } |
| 797 return true; | 800 return true; |
| 798 } | 801 } |
| 799 } | 802 } |
| 800 } | 803 } |
| 801 | 804 |
| 802 return false; | 805 return false; |
| 803 } | 806 } |
| 804 | 807 |
| 805 bool BrowserThemePack::GetDisplayProperty(int id, int* result) const { | 808 bool BrowserThemePack::GetDisplayProperty(int id, int* result) const { |
| 806 if (display_properties_) { | 809 if (display_properties_) { |
| (...skipping 734 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1541 false, | 1544 false, |
| 1542 &bitmap_data)) { | 1545 &bitmap_data)) { |
| 1543 NOTREACHED() << "Unable to encode theme image for prs_id=" | 1546 NOTREACHED() << "Unable to encode theme image for prs_id=" |
| 1544 << prs_id << " for scale_factor=" << scale_factors_[i]; | 1547 << prs_id << " for scale_factor=" << scale_factors_[i]; |
| 1545 break; | 1548 break; |
| 1546 } | 1549 } |
| 1547 image_memory_[scaled_raw_id] = | 1550 image_memory_[scaled_raw_id] = |
| 1548 base::RefCountedBytes::TakeVector(&bitmap_data); | 1551 base::RefCountedBytes::TakeVector(&bitmap_data); |
| 1549 } | 1552 } |
| 1550 } | 1553 } |
| OLD | NEW |