summaryrefslogtreecommitdiffstats
path: root/chrome/browser/external_tab_container.h
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-14 03:42:55 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-14 03:42:55 +0000
commit334a105b240c34841c864e8dd50974d90e0105b1 (patch)
treeed3d36542e3bb7bf1719e0b7268e72ae14698cdb /chrome/browser/external_tab_container.h
parentde23fff1310d85866e800103b50fb04851b6d1bc (diff)
downloadchromium_src-334a105b240c34841c864e8dd50974d90e0105b1.zip
chromium_src-334a105b240c34841c864e8dd50974d90e0105b1.tar.gz
chromium_src-334a105b240c34841c864e8dd50974d90e0105b1.tar.bz2
Allow TabContentsDelegates to process unhandled keyboard messages coming back from the renderer. This is required
for ExternalTabContainer to be able to pass unhandled keyboard accelerator messages back to the external host. This worked before as the focus manager would hand off these messages to keystroke listeners like the ExternalTabContainer. However with the ExternalTabContainer no longer using the focus manager this does not work anymore. Removed the keystroke listener code from the focus manager as the ExternalTabContainer was the only consumer and it does not use it anymore. This fixes bug http://b/issue?id=1975749 Bug=1975749 Review URL: http://codereview.chromium.org/149520 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20600 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/external_tab_container.h')
-rw-r--r--chrome/browser/external_tab_container.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/chrome/browser/external_tab_container.h b/chrome/browser/external_tab_container.h
index e69283c..d40a0f4 100644
--- a/chrome/browser/external_tab_container.h
+++ b/chrome/browser/external_tab_container.h
@@ -25,8 +25,7 @@ class RenderViewContextMenuExternalWin;
// TODO(beng): Should override WidgetWin instead of Widget.
class ExternalTabContainer : public TabContentsDelegate,
public NotificationObserver,
- public views::WidgetWin,
- public views::KeystrokeListener {
+ public views::WidgetWin {
public:
ExternalTabContainer(AutomationProvider* automation,
AutomationResourceMessageFilter* filter);
@@ -89,6 +88,8 @@ class ExternalTabContainer : public TabContentsDelegate,
return true;
};
+ virtual bool HandleKeyboardEvent(const NativeWebKeyboardEvent& event);
+
virtual bool TakeFocus(bool reverse);
// Overridden from NotificationObserver:
@@ -96,10 +97,6 @@ class ExternalTabContainer : public TabContentsDelegate,
const NotificationSource& source,
const NotificationDetails& details);
- // Overridden from views::KeystrokeListener:
- virtual bool ProcessKeyStroke(HWND window, UINT message, WPARAM wparam,
- LPARAM lparam);
-
// Handles the context menu display operation. This allows external
// hosts to customize the menu.
virtual bool HandleContextMenu(const ContextMenuParams& params);
@@ -119,6 +116,11 @@ class ExternalTabContainer : public TabContentsDelegate,
// 2. In the destructor.
void Uninitialize(HWND window);
+ // Helper function for processing keystokes coming back from the renderer
+ // process.
+ bool ProcessUnhandledKeyStroke(HWND window, UINT message, WPARAM wparam,
+ LPARAM lparam);
+
TabContents* tab_contents_;
scoped_refptr<AutomationProvider> automation_;