athena: Add an accelerator to abort loading on escape.

BUG=none
R=mukai@chromium.org

Review URL: https://codereview.chromium.org/527473002

Cr-Commit-Position: refs/heads/master@{#292795}
parent 7f3a2822
...@@ -32,6 +32,7 @@ class WebActivityController : public AcceleratorHandler { ...@@ -32,6 +32,7 @@ class WebActivityController : public AcceleratorHandler {
CMD_RELOAD, CMD_RELOAD,
CMD_RELOAD_IGNORE_CACHE, CMD_RELOAD_IGNORE_CACHE,
CMD_CLOSE, CMD_CLOSE,
CMD_STOP,
}; };
explicit WebActivityController(views::WebView* web_view) explicit WebActivityController(views::WebView* web_view)
...@@ -54,6 +55,7 @@ class WebActivityController : public AcceleratorHandler { ...@@ -54,6 +55,7 @@ class WebActivityController : public AcceleratorHandler {
{TRIGGER_ON_PRESS, ui::VKEY_BROWSER_BACK, ui::EF_NONE, CMD_BACK, {TRIGGER_ON_PRESS, ui::VKEY_BROWSER_BACK, ui::EF_NONE, CMD_BACK,
AF_NONE}, AF_NONE},
{TRIGGER_ON_PRESS, ui::VKEY_W, ui::EF_CONTROL_DOWN, CMD_CLOSE, AF_NONE}, {TRIGGER_ON_PRESS, ui::VKEY_W, ui::EF_CONTROL_DOWN, CMD_CLOSE, AF_NONE},
{TRIGGER_ON_PRESS, ui::VKEY_ESCAPE, ui::EF_NONE, CMD_STOP, AF_NONE},
}; };
accelerator_manager_->RegisterAccelerators( accelerator_manager_->RegisterAccelerators(
accelerator_data, arraysize(accelerator_data), this); accelerator_data, arraysize(accelerator_data), this);
...@@ -100,6 +102,8 @@ class WebActivityController : public AcceleratorHandler { ...@@ -100,6 +102,8 @@ class WebActivityController : public AcceleratorHandler {
case CMD_CLOSE: case CMD_CLOSE:
// TODO(oshima): check onbeforeunload handler. // TODO(oshima): check onbeforeunload handler.
return true; return true;
case CMD_STOP:
return web_view_->GetWebContents()->IsLoading();
} }
return false; return false;
} }
...@@ -122,6 +126,9 @@ class WebActivityController : public AcceleratorHandler { ...@@ -122,6 +126,9 @@ class WebActivityController : public AcceleratorHandler {
case CMD_CLOSE: case CMD_CLOSE:
web_view_->GetWidget()->Close(); web_view_->GetWidget()->Close();
return true; return true;
case CMD_STOP:
web_view_->GetWebContents()->Stop();
return true;
} }
return false; return false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment