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

Side by Side Diff: chrome/browser/ui/views/action_box_menu.cc

Issue 11786003: Move Icons out of Extension class (Closed) Base URL: http://git.chromium.org/chromium/src.git@dc_unref_browser_action
Patch Set: Created 7 years, 9 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 "chrome/browser/ui/views/action_box_menu.h" 5 #include "chrome/browser/ui/views/action_box_menu.h"
6 6
7 #include "chrome/browser/extensions/extension_icon_image.h" 7 #include "chrome/browser/extensions/extension_icon_image.h"
8 #include "chrome/browser/ui/toolbar/action_box_menu_model.h" 8 #include "chrome/browser/ui/toolbar/action_box_menu_model.h"
9 #include "chrome/common/extensions/api/extension_action/action_info.h" 9 #include "chrome/common/extensions/api/extension_action/action_info.h"
10 #include "chrome/common/extensions/api/icons/icons_handler.h"
10 #include "chrome/common/extensions/extension.h" 11 #include "chrome/common/extensions/extension.h"
11 #include "chrome/common/extensions/extension_constants.h" 12 #include "chrome/common/extensions/extension_constants.h"
12 #include "ui/views/controls/button/menu_button.h" 13 #include "ui/views/controls/button/menu_button.h"
13 #include "ui/views/controls/image_view.h" 14 #include "ui/views/controls/image_view.h"
14 #include "ui/views/controls/menu/menu_runner.h" 15 #include "ui/views/controls/menu/menu_runner.h"
15 #include "ui/views/view.h" 16 #include "ui/views/view.h"
16 17
17 using extensions::ActionInfo; 18 using extensions::ActionInfo;
18 using extensions::Extension; 19 using extensions::Extension;
19 using extensions::IconImage; 20 using extensions::IconImage;
20 21
21 namespace { 22 namespace {
22 class ExtensionImageView : public views::ImageView, public IconImage::Observer { 23 class ExtensionImageView : public views::ImageView, public IconImage::Observer {
23 public: 24 public:
24 ExtensionImageView(Profile* profile, const Extension* extension) { 25 ExtensionImageView(Profile* profile, const Extension* extension) {
25 const ActionInfo* page_launcher_info = 26 const ActionInfo* page_launcher_info =
26 ActionInfo::GetPageLauncherInfo(extension); 27 ActionInfo::GetPageLauncherInfo(extension);
27 icon_.reset(new IconImage(profile, 28 icon_.reset(new IconImage(profile,
28 extension, 29 extension,
29 page_launcher_info->default_icon, 30 page_launcher_info->default_icon,
30 extension_misc::EXTENSION_ICON_ACTION, 31 extension_misc::EXTENSION_ICON_ACTION,
31 Extension::GetDefaultIcon(true), 32 extensions::IconsInfo::GetDefaultAppIcon(),
32 this)); 33 this));
33 SetImage(icon_->image_skia()); 34 SetImage(icon_->image_skia());
34 } 35 }
35 36
36 private: 37 private:
37 virtual void OnExtensionIconImageChanged( 38 virtual void OnExtensionIconImageChanged(
38 extensions::IconImage* image) OVERRIDE { 39 extensions::IconImage* image) OVERRIDE {
39 SetImage(icon_->image_skia()); 40 SetImage(icon_->image_skia());
40 } 41 }
41 42
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 if (model_->GetTypeAt(model_index) == ui::MenuModel::TYPE_COMMAND) { 94 if (model_->GetTypeAt(model_index) == ui::MenuModel::TYPE_COMMAND) {
94 if (model_->IsItemExtension(model_index)) { 95 if (model_->IsItemExtension(model_index)) {
95 const Extension* extension = model_->GetExtensionAt(model_index); 96 const Extension* extension = model_->GetExtensionAt(model_index);
96 ExtensionImageView* view = new ExtensionImageView(profile_, extension); 97 ExtensionImageView* view = new ExtensionImageView(profile_, extension);
97 // |menu_item| will own the |view| from now on. 98 // |menu_item| will own the |view| from now on.
98 menu_item->SetIconView(view); 99 menu_item->SetIconView(view);
99 } 100 }
100 } 101 }
101 } 102 }
102 } 103 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698