| Index: chrome/browser/ui/views/tabs/tab.cc
|
| diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/tab.cc
|
| index ef1826067266b4f24f7c8d4f5f03f78cdd11005c..5f05555a15d3293966b0ada44c6fe2bbdeeaea16 100644
|
| --- a/chrome/browser/ui/views/tabs/tab.cc
|
| +++ b/chrome/browser/ui/views/tabs/tab.cc
|
| @@ -23,8 +23,8 @@
|
| #include "ui/gfx/canvas.h"
|
| #include "ui/gfx/favicon_size.h"
|
| #include "ui/gfx/font.h"
|
| +#include "ui/gfx/image/image_skia_operations.h"
|
| #include "ui/gfx/path.h"
|
| -#include "ui/gfx/skbitmap_operations.h"
|
| #include "ui/views/controls/button/image_button.h"
|
| #include "ui/views/widget/tooltip_manager.h"
|
| #include "ui/views/widget/widget.h"
|
| @@ -563,13 +563,13 @@ void Tab::PaintTabBackground(gfx::Canvas* canvas) {
|
|
|
| void Tab::PaintInactiveTabBackgroundWithTitleChange(gfx::Canvas* canvas) {
|
| // Render the inactive tab background. We'll use this for clipping.
|
| - gfx::Canvas background_canvas(size(), false);
|
| + gfx::Canvas background_canvas(size(), canvas->scale_factor(), false);
|
| PaintInactiveTabBackground(&background_canvas);
|
|
|
| - gfx::ImageSkia background_image = background_canvas.ExtractBitmap();
|
| + gfx::ImageSkia background_image(background_canvas.ExtractImageSkiaRep());
|
|
|
| // Draw a radial gradient to hover_canvas.
|
| - gfx::Canvas hover_canvas(size(), false);
|
| + gfx::Canvas hover_canvas(size(), canvas->scale_factor(), false);
|
| int radius = kMiniTitleChangeGradientRadius;
|
| int x0 = width() + radius - kMiniTitleChangeInitialXOffset;
|
| int x1 = radius;
|
| @@ -595,8 +595,8 @@ void Tab::PaintInactiveTabBackgroundWithTitleChange(gfx::Canvas* canvas) {
|
| paint);
|
|
|
| // Draw the radial gradient clipped to the background into hover_image.
|
| - gfx::ImageSkia hover_image = SkBitmapOperations::CreateMaskedBitmap(
|
| - hover_canvas.ExtractBitmap(), background_image);
|
| + gfx::ImageSkia hover_image = gfx::ImageSkiaOperations::CreateMaskedImage(
|
| + gfx::ImageSkia(hover_canvas.ExtractImageSkiaRep()), background_image);
|
|
|
| // Draw the tab background to the canvas.
|
| canvas->DrawImageInt(background_image, 0, 0);
|
| @@ -642,25 +642,25 @@ void Tab::PaintInactiveTabBackground(gfx::Canvas* canvas) {
|
| // We need a gfx::Canvas object to be able to extract the image from.
|
| // We draw everything to this canvas and then output it to the canvas
|
| // parameter in addition to using it to mask the hover glow if needed.
|
| - gfx::Canvas background_canvas(size(), false);
|
| + gfx::Canvas background_canvas(size(), canvas->scale_factor(), false);
|
|
|
| // Draw left edge. Don't draw over the toolbar, as we're not the foreground
|
| // tab.
|
| - gfx::ImageSkia tab_l = SkBitmapOperations::CreateTiledBitmap(
|
| + gfx::ImageSkia tab_l = gfx::ImageSkiaOperations::CreateTiledImage(
|
| *tab_bg, offset, bg_offset_y, tab_image->l_width, height());
|
| gfx::ImageSkia theme_l =
|
| - SkBitmapOperations::CreateMaskedBitmap(tab_l, *alpha->image_l);
|
| + gfx::ImageSkiaOperations::CreateMaskedImage(tab_l, *alpha->image_l);
|
| background_canvas.DrawImageInt(theme_l,
|
| 0, 0, theme_l.width(), theme_l.height() - kToolbarOverlap,
|
| 0, 0, theme_l.width(), theme_l.height() - kToolbarOverlap,
|
| false);
|
|
|
| // Draw right edge. Again, don't draw over the toolbar.
|
| - gfx::ImageSkia tab_r = SkBitmapOperations::CreateTiledBitmap(*tab_bg,
|
| + gfx::ImageSkia tab_r = gfx::ImageSkiaOperations::CreateTiledImage(*tab_bg,
|
| offset + width() - tab_image->r_width, bg_offset_y,
|
| tab_image->r_width, height());
|
| gfx::ImageSkia theme_r =
|
| - SkBitmapOperations::CreateMaskedBitmap(tab_r, *alpha->image_r);
|
| + gfx::ImageSkiaOperations::CreateMaskedImage(tab_r, *alpha->image_r);
|
| background_canvas.DrawImageInt(theme_r,
|
| 0, 0, theme_r.width(), theme_r.height() - kToolbarOverlap,
|
| width() - theme_r.width(), 0, theme_r.width(),
|
| @@ -677,11 +677,12 @@ void Tab::PaintInactiveTabBackground(gfx::Canvas* canvas) {
|
| width() - tab_image->l_width - tab_image->r_width,
|
| height() - drop_shadow_height() - kToolbarOverlap - tab_image->y_offset);
|
|
|
| - canvas->DrawImageInt(background_canvas.ExtractBitmap(), 0, 0);
|
| + canvas->DrawImageInt(
|
| + gfx::ImageSkia(background_canvas.ExtractImageSkiaRep()), 0, 0);
|
|
|
| if (!GetThemeProvider()->HasCustomImage(tab_id) &&
|
| hover_controller().ShouldDraw()) {
|
| - hover_controller().Draw(canvas, background_canvas.ExtractBitmap());
|
| + hover_controller().Draw(canvas, background_canvas.ExtractImageSkiaRep());
|
| }
|
|
|
| // Now draw the highlights/shadows around the tab edge.
|
| @@ -707,17 +708,18 @@ void Tab::PaintActiveTabBackground(gfx::Canvas* canvas,
|
| TabImage* alpha = &tab_alpha_;
|
|
|
| // Draw left edge.
|
| - gfx::ImageSkia tab_l = SkBitmapOperations::CreateTiledBitmap(
|
| + gfx::ImageSkia tab_l = gfx::ImageSkiaOperations::CreateTiledImage(
|
| *tab_background, offset, 0, tab_image->l_width, height());
|
| gfx::ImageSkia theme_l =
|
| - SkBitmapOperations::CreateMaskedBitmap(tab_l, *alpha->image_l);
|
| + gfx::ImageSkiaOperations::CreateMaskedImage(tab_l, *alpha->image_l);
|
| canvas->DrawImageInt(theme_l, 0, 0);
|
|
|
| // Draw right edge.
|
| - gfx::ImageSkia tab_r = SkBitmapOperations::CreateTiledBitmap(*tab_background,
|
| + gfx::ImageSkia tab_r = gfx::ImageSkiaOperations::CreateTiledImage(
|
| + *tab_background,
|
| offset + width() - tab_image->r_width, 0, tab_image->r_width, height());
|
| gfx::ImageSkia theme_r =
|
| - SkBitmapOperations::CreateMaskedBitmap(tab_r, *alpha->image_r);
|
| + gfx::ImageSkiaOperations::CreateMaskedImage(tab_r, *alpha->image_r);
|
| canvas->DrawImageInt(theme_r, width() - tab_image->r_width, 0);
|
|
|
| // Draw center. Instead of masking out the top portion we simply skip over it
|
|
|