| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/views/infobars/extension_infobar.h" | 5 #include "chrome/browser/views/infobars/extension_infobar.h" |
| 6 | 6 |
| 7 #include "app/resource_bundle.h" | 7 #include "app/resource_bundle.h" |
| 8 #include "app/slide_animation.h" | 8 #include "app/slide_animation.h" |
| 9 #include "chrome/browser/extensions/extension_context_menu_model.h" | 9 #include "chrome/browser/extensions/extension_context_menu_model.h" |
| 10 #include "chrome/browser/extensions/extension_infobar_delegate.h" | 10 #include "chrome/browser/extensions/extension_infobar_delegate.h" |
| 11 #include "chrome/browser/extensions/extension_host.h" | 11 #include "chrome/browser/extensions/extension_host.h" |
| 12 #include "chrome/browser/platform_util.h" | 12 #include "chrome/browser/platform_util.h" |
| 13 #include "chrome/browser/views/frame/browser_view.h" | 13 #include "chrome/browser/views/frame/browser_view.h" |
| 14 #include "chrome/common/extensions/extension.h" | 14 #include "chrome/common/extensions/extension.h" |
| 15 #include "chrome/common/extensions/extension_resource.h" | 15 #include "chrome/common/extensions/extension_resource.h" |
| 16 #include "gfx/canvas.h" | 16 #include "gfx/canvas_skia.h" |
| 17 #include "grit/theme_resources.h" | 17 #include "grit/theme_resources.h" |
| 18 #include "views/controls/button/menu_button.h" | 18 #include "views/controls/button/menu_button.h" |
| 19 #include "views/controls/menu/menu_2.h" | 19 #include "views/controls/menu/menu_2.h" |
| 20 #include "views/widget/widget.h" | 20 #include "views/widget/widget.h" |
| 21 | 21 |
| 22 // The horizontal margin between the menu and the Extension (HTML) view. | 22 // The horizontal margin between the menu and the Extension (HTML) view. |
| 23 static const int kMenuHorizontalMargin = 1; | 23 static const int kMenuHorizontalMargin = 1; |
| 24 | 24 |
| 25 // The amount of space to the right of the Extension (HTML) view (to avoid | 25 // The amount of space to the right of the Extension (HTML) view (to avoid |
| 26 // overlapping the close button for the InfoBar). | 26 // overlapping the close button for the InfoBar). |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 // We fall back on the default extension icon on failure. | 108 // We fall back on the default extension icon on failure. |
| 109 SkBitmap* icon; | 109 SkBitmap* icon; |
| 110 if (!image || image->empty()) | 110 if (!image || image->empty()) |
| 111 icon = rb.GetBitmapNamed(IDR_EXTENSIONS_SECTION); | 111 icon = rb.GetBitmapNamed(IDR_EXTENSIONS_SECTION); |
| 112 else | 112 else |
| 113 icon = image; | 113 icon = image; |
| 114 | 114 |
| 115 SkBitmap* drop_image = rb.GetBitmapNamed(IDR_APP_DROPARROW); | 115 SkBitmap* drop_image = rb.GetBitmapNamed(IDR_APP_DROPARROW); |
| 116 | 116 |
| 117 int image_size = Extension::EXTENSION_ICON_BITTY; | 117 int image_size = Extension::EXTENSION_ICON_BITTY; |
| 118 scoped_ptr<gfx::Canvas> canvas( | 118 scoped_ptr<gfx::CanvasSkia> canvas( |
| 119 new gfx::Canvas(image_size + kDropArrowLeftMargin + drop_image->width(), | 119 new gfx::CanvasSkia( |
| 120 image_size, false)); | 120 image_size + kDropArrowLeftMargin + drop_image->width(), |
| 121 image_size, false)); |
| 121 canvas->DrawBitmapInt(*icon, | 122 canvas->DrawBitmapInt(*icon, |
| 122 0, 0, icon->width(), icon->height(), | 123 0, 0, icon->width(), icon->height(), |
| 123 0, 0, image_size, image_size, | 124 0, 0, image_size, image_size, |
| 124 false); | 125 false); |
| 125 canvas->DrawBitmapInt(*drop_image, | 126 canvas->DrawBitmapInt(*drop_image, |
| 126 image_size + kDropArrowLeftMargin, | 127 image_size + kDropArrowLeftMargin, |
| 127 image_size / 2); | 128 image_size / 2); |
| 128 menu_->SetIcon(canvas->ExtractBitmap()); | 129 menu_->SetIcon(canvas->ExtractBitmap()); |
| 129 menu_->SetVisible(true); | 130 menu_->SetVisible(true); |
| 130 | 131 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 tracker_.LoadImage(extension, icon_resource, gfx::Size(size, size), | 165 tracker_.LoadImage(extension, icon_resource, gfx::Size(size, size), |
| 165 ImageLoadingTracker::DONT_CACHE); | 166 ImageLoadingTracker::DONT_CACHE); |
| 166 } else { | 167 } else { |
| 167 OnImageLoaded(NULL, icon_resource, 0); // |image|, |index|. | 168 OnImageLoaded(NULL, icon_resource, 0); // |image|, |index|. |
| 168 } | 169 } |
| 169 } | 170 } |
| 170 | 171 |
| 171 InfoBar* ExtensionInfoBarDelegate::CreateInfoBar() { | 172 InfoBar* ExtensionInfoBarDelegate::CreateInfoBar() { |
| 172 return new ExtensionInfoBar(this); | 173 return new ExtensionInfoBar(this); |
| 173 } | 174 } |
| OLD | NEW |