| Index: chrome/common/extensions/extension_action.cc
|
| diff --git a/chrome/common/extensions/extension_action.cc b/chrome/common/extensions/extension_action.cc
|
| index 1e247210e4d4df856467317b18a664c9ebab4f92..83f37a83e80e30e75983df6bc6c6dc078b470f2c 100644
|
| --- a/chrome/common/extensions/extension_action.cc
|
| +++ b/chrome/common/extensions/extension_action.cc
|
| @@ -11,9 +11,6 @@
|
| #include "googleurl/src/gurl.h"
|
| #include "grit/ui_resources.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| -#include "third_party/skia/include/core/SkCanvas.h"
|
| -#include "third_party/skia/include/core/SkDevice.h"
|
| -#include "third_party/skia/include/core/SkPaint.h"
|
| #include "third_party/skia/include/effects/SkGradientShader.h"
|
| #include "ui/base/animation/animation_delegate.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| @@ -100,22 +97,8 @@ ExtensionAction::IconAnimation::~IconAnimation() {}
|
|
|
| const SkBitmap& ExtensionAction::IconAnimation::Apply(
|
| const SkBitmap& icon) const {
|
| - DCHECK_GT(icon.width(), 0);
|
| - DCHECK_GT(icon.height(), 0);
|
| -
|
| - if (!device_.get() ||
|
| - (device_->width() != icon.width()) ||
|
| - (device_->height() != icon.height())) {
|
| - device_.reset(new SkDevice(
|
| - SkBitmap::kARGB_8888_Config, icon.width(), icon.height(), true));
|
| - }
|
| -
|
| - SkCanvas canvas(device_.get());
|
| - canvas.clear(SK_ColorWHITE);
|
| - SkPaint paint;
|
| - paint.setAlpha(CurrentValueBetween(0, 255));
|
| - canvas.drawBitmap(icon, 0, 0, &paint);
|
| - return device_->accessBitmap(false);
|
| + return icon_transform_.set_alpha(CurrentValueBetween(0, 255))
|
| + .RenderIcon(icon);
|
| }
|
|
|
| void ExtensionAction::IconAnimation::AddObserver(
|
| @@ -321,3 +304,11 @@ void ExtensionAction::RunIconAnimation(int tab_id) {
|
| icon_animation_[tab_id] = make_linked_ptr(icon_animation);
|
| icon_animation->animation()->Start();
|
| }
|
| +
|
| +const SkBitmap& ExtensionAction::RenderIconVisibility(const SkBitmap& icon,
|
| + int tab_id) const {
|
| + if (GetIsVisible(tab_id))
|
| + return icon;
|
| + return icon_transform_.set_alpha(63)
|
| + .RenderIcon(icon);
|
| +}
|
|
|