Index: chrome/browser/ui/panels/panel_browser_frame_view.cc |
=================================================================== |
--- chrome/browser/ui/panels/panel_browser_frame_view.cc (revision 85006) |
+++ chrome/browser/ui/panels/panel_browser_frame_view.cc (working copy) |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/ui/panels/panel_browser_frame_view.h" |
#include "chrome/browser/themes/theme_service.h" |
+#include "chrome/browser/ui/panels/about_panel_bubble.h" |
#include "chrome/browser/ui/panels/panel.h" |
#include "chrome/browser/ui/panels/panel_browser_view.h" |
#include "chrome/browser/ui/panels/panel_manager.h" |
@@ -354,7 +355,12 @@ |
} |
bool PanelBrowserFrameView::IsCommandIdEnabled(int command_id) const { |
- // All the menu options are always enabled. |
+ // If the panel originator is not provided, disable "About this panel". |
+ // Currently this is not possible. |
+ if (command_id == COMMAND_ABOUT && !browser_view_->panel()->originator()) { |
+ NOTREACHED(); |
+ return false; |
+ } |
return true; |
} |
@@ -374,9 +380,17 @@ |
case COMMAND_CLOSE_ALL: |
browser_view_->panel()->manager()->RemoveAllActive(); |
break; |
- case COMMAND_ABOUT: |
- NOTIMPLEMENTED(); |
+ case COMMAND_ABOUT: { |
+ gfx::Point origin(options_button_->bounds().origin()); |
+ views::View::ConvertPointToScreen(this, &origin); |
+ AboutPanelBubble::Show( |
+ GetWidget(), |
+ gfx::Rect(origin, options_button_->bounds().size()), |
+ BubbleBorder::BOTTOM_RIGHT, |
+ GetFaviconForTabIconView(), |
+ browser_view_->panel()->originator()); |
break; |
+ } |
default: |
NOTREACHED(); |
break; |