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 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 // Computes a bitmap at one scale from a bitmap at a different scale. | 470 // Computes a bitmap at one scale from a bitmap at a different scale. |
471 SkBitmap CreateLowQualityResizedBitmap(const SkBitmap& source_bitmap, | 471 SkBitmap CreateLowQualityResizedBitmap(const SkBitmap& source_bitmap, |
472 ui::ScaleFactor source_scale_factor, | 472 ui::ScaleFactor source_scale_factor, |
473 ui::ScaleFactor desired_scale_factor) { | 473 ui::ScaleFactor desired_scale_factor) { |
474 gfx::Size scaled_size = gfx::ToCeiledSize( | 474 gfx::Size scaled_size = gfx::ToCeiledSize( |
475 gfx::ScaleSize(gfx::Size(source_bitmap.width(), | 475 gfx::ScaleSize(gfx::Size(source_bitmap.width(), |
476 source_bitmap.height()), | 476 source_bitmap.height()), |
477 ui::GetScaleForScaleFactor(desired_scale_factor) / | 477 ui::GetScaleForScaleFactor(desired_scale_factor) / |
478 ui::GetScaleForScaleFactor(source_scale_factor))); | 478 ui::GetScaleForScaleFactor(source_scale_factor))); |
479 SkBitmap scaled_bitmap; | 479 SkBitmap scaled_bitmap; |
480 scaled_bitmap.allocN32Pixels(scaled_size.width(), scaled_size.height()); | 480 if (!scaled_bitmap.allocN32Pixels(scaled_size.width(), scaled_size.height())) |
| 481 SK_CRASH(); |
481 scaled_bitmap.eraseARGB(0, 0, 0, 0); | 482 scaled_bitmap.eraseARGB(0, 0, 0, 0); |
482 SkCanvas canvas(scaled_bitmap); | 483 SkCanvas canvas(scaled_bitmap); |
483 SkRect scaled_bounds = RectToSkRect(gfx::Rect(scaled_size)); | 484 SkRect scaled_bounds = RectToSkRect(gfx::Rect(scaled_size)); |
484 // Note(oshima): The following scaling code doesn't work with | 485 // Note(oshima): The following scaling code doesn't work with |
485 // a mask image. | 486 // a mask image. |
486 canvas.drawBitmapRect(source_bitmap, NULL, scaled_bounds); | 487 canvas.drawBitmapRect(source_bitmap, NULL, scaled_bounds); |
487 return scaled_bitmap; | 488 return scaled_bitmap; |
488 } | 489 } |
489 | 490 |
490 // A ImageSkiaSource that scales 100P image to the target scale factor | 491 // A ImageSkiaSource that scales 100P image to the target scale factor |
(...skipping 1138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1629 false, | 1630 false, |
1630 &bitmap_data)) { | 1631 &bitmap_data)) { |
1631 NOTREACHED() << "Unable to encode theme image for prs_id=" | 1632 NOTREACHED() << "Unable to encode theme image for prs_id=" |
1632 << prs_id << " for scale_factor=" << scale_factors_[i]; | 1633 << prs_id << " for scale_factor=" << scale_factors_[i]; |
1633 break; | 1634 break; |
1634 } | 1635 } |
1635 image_memory_[scaled_raw_id] = | 1636 image_memory_[scaled_raw_id] = |
1636 base::RefCountedBytes::TakeVector(&bitmap_data); | 1637 base::RefCountedBytes::TakeVector(&bitmap_data); |
1637 } | 1638 } |
1638 } | 1639 } |
OLD | NEW |