diff options
author | zelidrag@google.com <zelidrag@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-15 21:49:44 +0000 |
---|---|---|
committer | zelidrag@google.com <zelidrag@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-15 21:49:44 +0000 |
commit | fa1cf0b87092ed3f3069a8549270f999e05cca20 (patch) | |
tree | 71c08950f340004c1107776d0d4962d8b38bfb8e /chrome/browser/renderer_host/render_view_host.cc | |
parent | 18db63ea67ad2f5e428022e32ff55de83c0db0ca (diff) | |
download | chromium_src-fa1cf0b87092ed3f3069a8549270f999e05cca20.zip chromium_src-fa1cf0b87092ed3f3069a8549270f999e05cca20.tar.gz chromium_src-fa1cf0b87092ed3f3069a8549270f999e05cca20.tar.bz2 |
Tab-modal dialog improvements:
- treat constrained dialogs as tab-modal - only one shows at the time
- added visual indication (tab pulsing) to the tab strip when a tab is blocked by a tab-modal dialog
- blocked all UI activity from rendrer host and forced refocusing on constrained (tab-modal) dialogs
This CL reverts http://codereview.chromium.org/384113 and instead incorporates the changes from http://codereview.chromium.org/392018.
BUG=456,27585,27620
TEST=Go to http://www/~thakis/cgi-bin/test.html, hit esc.
Review URL: http://codereview.chromium.org/541056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36415 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/render_view_host.cc')
-rw-r--r-- | chrome/browser/renderer_host/render_view_host.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc index 842e7b4..9a6c128 100644 --- a/chrome/browser/renderer_host/render_view_host.cc +++ b/chrome/browser/renderer_host/render_view_host.cc @@ -1664,6 +1664,11 @@ void RenderViewHost::ForwardMouseEvent( case WebInputEvent::MouseLeave: view->HandleMouseLeave(); break; + case WebInputEvent::MouseDown: + case WebInputEvent::MouseWheel: + if (ignore_input_events() && delegate_) + delegate_->OnIgnoredUIEvent(); + break; default: // For now, we don't care about the rest. break; @@ -1671,6 +1676,16 @@ void RenderViewHost::ForwardMouseEvent( } } +void RenderViewHost::ForwardKeyboardEvent( + const NativeWebKeyboardEvent& key_event) { + if (ignore_input_events()) { + if (key_event.type == WebInputEvent::RawKeyDown && delegate_) + delegate_->OnIgnoredUIEvent(); + return; + } + RenderWidgetHost::ForwardKeyboardEvent(key_event); +} + void RenderViewHost::ForwardEditCommand(const std::string& name, const std::string& value) { IPC::Message* message = new ViewMsg_ExecuteEditCommand(routing_id(), |