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> | 7 #include <limits> |
8 | 8 |
9 #include "base/files/file.h" | 9 #include "base/files/file.h" |
10 #include "base/memory/ref_counted_memory.h" | 10 #include "base/memory/ref_counted_memory.h" |
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
644 delete [] tints_; | 644 delete [] tints_; |
645 delete [] colors_; | 645 delete [] colors_; |
646 delete [] display_properties_; | 646 delete [] display_properties_; |
647 delete [] source_images_; | 647 delete [] source_images_; |
648 } | 648 } |
649 } | 649 } |
650 | 650 |
651 // static | 651 // static |
652 scoped_refptr<BrowserThemePack> BrowserThemePack::BuildFromExtension( | 652 scoped_refptr<BrowserThemePack> BrowserThemePack::BuildFromExtension( |
653 const Extension* extension) { | 653 const Extension* extension) { |
654 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 654 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
655 DCHECK(extension); | 655 DCHECK(extension); |
656 DCHECK(extension->is_theme()); | 656 DCHECK(extension->is_theme()); |
657 | 657 |
658 scoped_refptr<BrowserThemePack> pack(new BrowserThemePack); | 658 scoped_refptr<BrowserThemePack> pack(new BrowserThemePack); |
659 pack->BuildHeader(extension); | 659 pack->BuildHeader(extension); |
660 pack->BuildTintsFromJSON(extensions::ThemeInfo::GetTints(extension)); | 660 pack->BuildTintsFromJSON(extensions::ThemeInfo::GetTints(extension)); |
661 pack->BuildColorsFromJSON(extensions::ThemeInfo::GetColors(extension)); | 661 pack->BuildColorsFromJSON(extensions::ThemeInfo::GetColors(extension)); |
662 pack->BuildDisplayPropertiesFromJSON( | 662 pack->BuildDisplayPropertiesFromJSON( |
663 extensions::ThemeInfo::GetDisplayProperties(extension)); | 663 extensions::ThemeInfo::GetDisplayProperties(extension)); |
664 | 664 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
705 pack->GenerateRawImageForAllSupportedScales(kPreloadIDs[i]); | 705 pack->GenerateRawImageForAllSupportedScales(kPreloadIDs[i]); |
706 } | 706 } |
707 | 707 |
708 // The BrowserThemePack is now in a consistent state. | 708 // The BrowserThemePack is now in a consistent state. |
709 return pack; | 709 return pack; |
710 } | 710 } |
711 | 711 |
712 // static | 712 // static |
713 scoped_refptr<BrowserThemePack> BrowserThemePack::BuildFromDataPack( | 713 scoped_refptr<BrowserThemePack> BrowserThemePack::BuildFromDataPack( |
714 const base::FilePath& path, const std::string& expected_id) { | 714 const base::FilePath& path, const std::string& expected_id) { |
715 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 715 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
716 // Allow IO on UI thread due to deep-seated theme design issues. | 716 // Allow IO on UI thread due to deep-seated theme design issues. |
717 // (see http://crbug.com/80206) | 717 // (see http://crbug.com/80206) |
718 base::ThreadRestrictions::ScopedAllowIO allow_io; | 718 base::ThreadRestrictions::ScopedAllowIO allow_io; |
719 scoped_refptr<BrowserThemePack> pack(new BrowserThemePack); | 719 scoped_refptr<BrowserThemePack> pack(new BrowserThemePack); |
720 // Scale factor parameter is moot as data pack has image resources for all | 720 // Scale factor parameter is moot as data pack has image resources for all |
721 // supported scale factors. | 721 // supported scale factors. |
722 pack->data_pack_.reset( | 722 pack->data_pack_.reset( |
723 new ui::DataPack(ui::SCALE_FACTOR_NONE)); | 723 new ui::DataPack(ui::SCALE_FACTOR_NONE)); |
724 | 724 |
725 if (!pack->data_pack_->LoadFromPath(path)) { | 725 if (!pack->data_pack_->LoadFromPath(path)) { |
(...skipping 902 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1628 false, | 1628 false, |
1629 &bitmap_data)) { | 1629 &bitmap_data)) { |
1630 NOTREACHED() << "Unable to encode theme image for prs_id=" | 1630 NOTREACHED() << "Unable to encode theme image for prs_id=" |
1631 << prs_id << " for scale_factor=" << scale_factors_[i]; | 1631 << prs_id << " for scale_factor=" << scale_factors_[i]; |
1632 break; | 1632 break; |
1633 } | 1633 } |
1634 image_memory_[scaled_raw_id] = | 1634 image_memory_[scaled_raw_id] = |
1635 base::RefCountedBytes::TakeVector(&bitmap_data); | 1635 base::RefCountedBytes::TakeVector(&bitmap_data); |
1636 } | 1636 } |
1637 } | 1637 } |
OLD | NEW |