Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: ui/base/resource/resource_bundle.cc

Issue 2406763002: In test code, allow any 100% data pack to provide fallbacks. (Closed)
Patch Set: separate loop Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "ui/base/resource/resource_bundle.h" 5 #include "ui/base/resource/resource_bundle.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <limits> 9 #include <limits>
10 #include <utility> 10 #include <utility>
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 815
816 NOTREACHED() << "Unable to decode theme image resource " << resource_id; 816 NOTREACHED() << "Unable to decode theme image resource " << resource_id;
817 return false; 817 return false;
818 } 818 }
819 819
820 bool ResourceBundle::LoadBitmap(int resource_id, 820 bool ResourceBundle::LoadBitmap(int resource_id,
821 ScaleFactor* scale_factor, 821 ScaleFactor* scale_factor,
822 SkBitmap* bitmap, 822 SkBitmap* bitmap,
823 bool* fell_back_to_1x) const { 823 bool* fell_back_to_1x) const {
824 DCHECK(fell_back_to_1x); 824 DCHECK(fell_back_to_1x);
825 ResourceHandle* data_handle_100_percent = nullptr; 825 for (const auto& pack : data_packs_) {
826 for (size_t i = 0; i < data_packs_.size(); ++i) { 826 if (pack->GetScaleFactor() == ui::SCALE_FACTOR_NONE &&
827 if (data_packs_[i]->GetScaleFactor() == ui::SCALE_FACTOR_NONE && 827 LoadBitmap(*pack, resource_id, bitmap, fell_back_to_1x)) {
828 LoadBitmap(*data_packs_[i], resource_id, bitmap, fell_back_to_1x)) {
829 DCHECK(!*fell_back_to_1x); 828 DCHECK(!*fell_back_to_1x);
830 *scale_factor = ui::SCALE_FACTOR_NONE; 829 *scale_factor = ui::SCALE_FACTOR_NONE;
831 return true; 830 return true;
832 } 831 }
833 if (data_packs_[i]->GetScaleFactor() == ui::SCALE_FACTOR_100P)
834 data_handle_100_percent = data_packs_[i];
835 832
836 if (data_packs_[i]->GetScaleFactor() == *scale_factor && 833 if (pack->GetScaleFactor() == *scale_factor &&
837 LoadBitmap(*data_packs_[i], resource_id, bitmap, fell_back_to_1x)) { 834 LoadBitmap(*pack, resource_id, bitmap, fell_back_to_1x)) {
838 return true; 835 return true;
839 } 836 }
840 } 837 }
841 838
842 // Unit tests may only have 1x data pack. Allow them to fallback to 1x 839 // Unit tests may only have 1x data pack. Allow them to fallback to 1x
843 // resources. 840 // resources.
844 if (*scale_factor != ui::SCALE_FACTOR_100P && is_test_resources_ && 841 if (is_test_resources_ && *scale_factor != ui::SCALE_FACTOR_100P) {
845 data_handle_100_percent && 842 for (const auto& pack : data_packs_) {
846 LoadBitmap(*data_handle_100_percent, resource_id, bitmap, 843 if (pack->GetScaleFactor() == ui::SCALE_FACTOR_100P &&
847 fell_back_to_1x)) { 844 LoadBitmap(*pack, resource_id, bitmap, fell_back_to_1x)) {
848 *fell_back_to_1x = true; 845 *fell_back_to_1x = true;
849 return true; 846 return true;
847 }
848 }
850 } 849 }
851 850
852 return false; 851 return false;
853 } 852 }
854 853
855 gfx::Image& ResourceBundle::GetEmptyImage() { 854 gfx::Image& ResourceBundle::GetEmptyImage() {
856 base::AutoLock lock(*images_and_fonts_lock_); 855 base::AutoLock lock(*images_and_fonts_lock_);
857 856
858 if (empty_image_.IsEmpty()) { 857 if (empty_image_.IsEmpty()) {
859 // The placeholder bitmap is bright red so people notice the problem. 858 // The placeholder bitmap is bright red so people notice the problem.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 // static 900 // static
902 bool ResourceBundle::DecodePNG(const unsigned char* buf, 901 bool ResourceBundle::DecodePNG(const unsigned char* buf,
903 size_t size, 902 size_t size,
904 SkBitmap* bitmap, 903 SkBitmap* bitmap,
905 bool* fell_back_to_1x) { 904 bool* fell_back_to_1x) {
906 *fell_back_to_1x = PNGContainsFallbackMarker(buf, size); 905 *fell_back_to_1x = PNGContainsFallbackMarker(buf, size);
907 return gfx::PNGCodec::Decode(buf, size, bitmap); 906 return gfx::PNGCodec::Decode(buf, size, bitmap);
908 } 907 }
909 908
910 } // namespace ui 909 } // namespace ui
OLDNEW
« ui/base/resource/resource_bundle.h ('K') | « ui/base/resource/resource_bundle.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698