Commit d56a6098 authored by weinig@apple.com's avatar weinig@apple.com

2011-03-26 Sam Weinig <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Web process considered unresponsive (SPOD shown) when displaying a JavaScript alert() as a result of a click
        <rdar://problem/9067557>
        https://bugs.webkit.org/show_bug.cgi?id=57166

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::runJavaScriptAlert):
        (WebKit::WebPageProxy::runJavaScriptConfirm):
        (WebKit::WebPageProxy::runJavaScriptPrompt):
        Invalidate the responsiveness timer before calling out to the client.


git-svn-id: svn://svn.chromium.org/blink/trunk@82047 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 657c6f79
2011-03-26 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Web process considered unresponsive (SPOD shown) when displaying a JavaScript alert() as a result of a click
<rdar://problem/9067557>
https://bugs.webkit.org/show_bug.cgi?id=57166
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
Invalidate the responsiveness timer before calling out to the client.
2011-03-26 Anders Carlsson <andersca@apple.com> 2011-03-26 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig. Reviewed by Sam Weinig.
......
...@@ -1766,6 +1766,9 @@ void WebPageProxy::runJavaScriptAlert(uint64_t frameID, const String& message) ...@@ -1766,6 +1766,9 @@ void WebPageProxy::runJavaScriptAlert(uint64_t frameID, const String& message)
WebFrameProxy* frame = process()->webFrame(frameID); WebFrameProxy* frame = process()->webFrame(frameID);
MESSAGE_CHECK(frame); MESSAGE_CHECK(frame);
// Since runJavaScriptAlert() can spin a nested run loop we need to turn off the responsiveness timer.
process()->responsivenessTimer()->stop();
m_uiClient.runJavaScriptAlert(this, message, frame); m_uiClient.runJavaScriptAlert(this, message, frame);
} }
...@@ -1774,6 +1777,9 @@ void WebPageProxy::runJavaScriptConfirm(uint64_t frameID, const String& message, ...@@ -1774,6 +1777,9 @@ void WebPageProxy::runJavaScriptConfirm(uint64_t frameID, const String& message,
WebFrameProxy* frame = process()->webFrame(frameID); WebFrameProxy* frame = process()->webFrame(frameID);
MESSAGE_CHECK(frame); MESSAGE_CHECK(frame);
// Since runJavaScriptConfirm() can spin a nested run loop we need to turn off the responsiveness timer.
process()->responsivenessTimer()->stop();
result = m_uiClient.runJavaScriptConfirm(this, message, frame); result = m_uiClient.runJavaScriptConfirm(this, message, frame);
} }
...@@ -1782,6 +1788,9 @@ void WebPageProxy::runJavaScriptPrompt(uint64_t frameID, const String& message, ...@@ -1782,6 +1788,9 @@ void WebPageProxy::runJavaScriptPrompt(uint64_t frameID, const String& message,
WebFrameProxy* frame = process()->webFrame(frameID); WebFrameProxy* frame = process()->webFrame(frameID);
MESSAGE_CHECK(frame); MESSAGE_CHECK(frame);
// Since runJavaScriptPrompt() can spin a nested run loop we need to turn off the responsiveness timer.
process()->responsivenessTimer()->stop();
result = m_uiClient.runJavaScriptPrompt(this, message, defaultValue, frame); result = m_uiClient.runJavaScriptPrompt(this, message, defaultValue, frame);
} }
......
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