Index: chrome/browser/ui/panels/panel.cc |
diff --git a/chrome/browser/ui/panels/panel.cc b/chrome/browser/ui/panels/panel.cc |
index 6505b0b1a639862b47144a29eb337131121775d1..90f4ded2cef105fd4aa850791d8110303d52c14d 100644 |
--- a/chrome/browser/ui/panels/panel.cc |
+++ b/chrome/browser/ui/panels/panel.cc |
@@ -23,11 +23,13 @@ |
#include "content/public/browser/notification_source.h" |
#include "content/public/browser/notification_types.h" |
#include "content/public/browser/render_view_host.h" |
+#include "content/public/browser/user_metrics.h" |
#include "content/public/browser/web_contents.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/gfx/rect.h" |
using content::RenderViewHost; |
+using content::UserMetricsAction; |
namespace panel_internal { |
@@ -317,6 +319,10 @@ gfx::Size Panel::ClampSize(const gfx::Size& size) const { |
return gfx::Size(new_width, new_height); |
} |
+void Panel::HandleKeyboardEvent(const content::NativeWebKeyboardEvent& event) { |
+ native_panel_->HandlePanelKeyboardEvent(event); |
+} |
+ |
void Panel::SetAlwaysOnTop(bool on_top) { |
if (always_on_top_ == on_top) |
return; |
@@ -520,8 +526,42 @@ void Panel::ExecuteCommandWithDisposition(int id, |
DCHECK(command_updater_.IsCommandEnabled(id)) << "Invalid/disabled command " |
<< id; |
switch (id) { |
- case IDC_RELOAD: // etc |
- // TODO(jennb): implement. |
+ // Navigation |
+ case IDC_RELOAD: |
+ panel_host_->Reload(); |
+ break; |
+ case IDC_RELOAD_IGNORING_CACHE: |
+ panel_host_->ReloadIgnoringCache(); |
+ break; |
+ case IDC_STOP: |
+ panel_host_->StopLoading(); |
+ break; |
+ |
+ // Clipboard |
+ case IDC_COPY: |
+ content::RecordAction(UserMetricsAction("Copy")); |
+ native_panel_->PanelCopy(); |
+ break; |
+ case IDC_CUT: |
+ content::RecordAction(UserMetricsAction("Cut")); |
+ native_panel_->PanelCut(); |
+ break; |
+ case IDC_PASTE: |
+ content::RecordAction(UserMetricsAction("Paste")); |
+ native_panel_->PanelPaste(); |
+ break; |
+ |
+ // Zoom |
+ case IDC_ZOOM_PLUS: |
+ panel_host_->Zoom(content::PAGE_ZOOM_IN); |
+ break; |
+ case IDC_ZOOM_NORMAL: |
+ panel_host_->Zoom(content::PAGE_ZOOM_RESET); |
+ break; |
+ case IDC_ZOOM_MINUS: |
+ panel_host_->Zoom(content::PAGE_ZOOM_OUT); |
+ break; |
+ |
default: |
LOG(WARNING) << "Received unimplemented command: " << id; |
break; |
@@ -681,7 +721,7 @@ void Panel::UpdateTitleBar() { |
} |
void Panel::LoadingStateChanged(bool is_loading) { |
+ command_updater_.UpdateCommandEnabled(IDC_STOP, is_loading); |
native_panel_->UpdatePanelLoadingAnimations(is_loading); |
UpdateTitleBar(); |
- command_updater_.UpdateCommandEnabled(IDC_STOP, is_loading); |
} |