diff --git a/browser/api/atom_api_window.cc b/browser/api/atom_api_window.cc index b35dea99cbb2..f1633f1ee337 100644 --- a/browser/api/atom_api_window.cc +++ b/browser/api/atom_api_window.cc @@ -431,6 +431,16 @@ v8::Handle Window::BlurWebView(const v8::Arguments &args) { return v8::Undefined(); } +// static +v8::Handle Window::RestartHangMonitorTimeout( + const v8::Arguments &args) { + UNWRAP_WINDOW_AND_CHECK; + + self->window_->RestartHangMonitorTimeout(); + + return v8::Undefined(); +} + // static v8::Handle Window::GetPageTitle(const v8::Arguments &args) { UNWRAP_WINDOW_AND_CHECK; @@ -658,6 +668,9 @@ void Window::Initialize(v8::Handle target) { NODE_SET_PROTOTYPE_METHOD(t, "closeDevTools", CloseDevTools); NODE_SET_PROTOTYPE_METHOD(t, "focusOnWebView", FocusOnWebView); NODE_SET_PROTOTYPE_METHOD(t, "blurWebView", BlurWebView); + NODE_SET_PROTOTYPE_METHOD(t, + "restartHangMonitorTimeout", + RestartHangMonitorTimeout); NODE_SET_PROTOTYPE_METHOD(t, "getPageTitle", GetPageTitle); NODE_SET_PROTOTYPE_METHOD(t, "isLoading", IsLoading); diff --git a/browser/api/atom_api_window.h b/browser/api/atom_api_window.h index 6b49b2212c7b..67d347a9d3a7 100644 --- a/browser/api/atom_api_window.h +++ b/browser/api/atom_api_window.h @@ -79,6 +79,8 @@ class Window : public EventEmitter, static v8::Handle CloseDevTools(const v8::Arguments &args); static v8::Handle FocusOnWebView(const v8::Arguments &args); static v8::Handle BlurWebView(const v8::Arguments &args); + static v8::Handle RestartHangMonitorTimeout( + const v8::Arguments &args); // APIs for WebContents. static v8::Handle GetPageTitle(const v8::Arguments &args); diff --git a/browser/native_window.cc b/browser/native_window.cc index ac0f48bb8c02..62553eab89f7 100644 --- a/browser/native_window.cc +++ b/browser/native_window.cc @@ -140,6 +140,10 @@ void NativeWindow::BlurWebView() { GetWebContents()->GetRenderViewHost()->Blur(); } +void NativeWindow::RestartHangMonitorTimeout() { + GetWebContents()->GetRenderViewHost()->RestartHangMonitorTimeout(); +} + void NativeWindow::CloseWebContents() { bool prevent_default = false; FOR_EACH_OBSERVER(NativeWindowObserver, diff --git a/browser/native_window.h b/browser/native_window.h index 8292da858bda..56e138ea99fc 100644 --- a/browser/native_window.h +++ b/browser/native_window.h @@ -97,6 +97,7 @@ class NativeWindow : public content::WebContentsDelegate, virtual void CloseDevTools(); virtual void FocusOnWebView(); virtual void BlurWebView(); + virtual void RestartHangMonitorTimeout(); // The same with closing a tab in a real browser. //