OOPIF-ize hung renderers
https://chromium-review.googlesource.com/c/chromium/src/+/896343
This commit is contained in:
parent
2047929cb5
commit
100291ec42
4 changed files with 10 additions and 6 deletions
|
@ -155,7 +155,7 @@ void BrowserWindow::BeforeUnloadDialogCancelled() {
|
||||||
window_unresponsive_closure_.Cancel();
|
window_unresponsive_closure_.Cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrowserWindow::OnRendererUnresponsive(content::RenderWidgetHost*) {
|
void BrowserWindow::OnRendererUnresponsive(content::RenderProcessHost*) {
|
||||||
// Schedule the unresponsive shortly later, since we may receive the
|
// Schedule the unresponsive shortly later, since we may receive the
|
||||||
// responsive event soon. This could happen after the whole application had
|
// responsive event soon. This could happen after the whole application had
|
||||||
// blocked for a while.
|
// blocked for a while.
|
||||||
|
|
|
@ -49,7 +49,7 @@ class BrowserWindow : public TopLevelWindow,
|
||||||
void RenderViewCreated(content::RenderViewHost* render_view_host) override;
|
void RenderViewCreated(content::RenderViewHost* render_view_host) override;
|
||||||
void DidFirstVisuallyNonEmptyPaint() override;
|
void DidFirstVisuallyNonEmptyPaint() override;
|
||||||
void BeforeUnloadDialogCancelled() override;
|
void BeforeUnloadDialogCancelled() override;
|
||||||
void OnRendererUnresponsive(content::RenderWidgetHost*) override;
|
void OnRendererUnresponsive(content::RenderProcessHost*) override;
|
||||||
bool OnMessageReceived(const IPC::Message& message,
|
bool OnMessageReceived(const IPC::Message& message,
|
||||||
content::RenderFrameHost* rfh) override;
|
content::RenderFrameHost* rfh) override;
|
||||||
|
|
||||||
|
|
|
@ -699,11 +699,13 @@ void WebContents::ExitFullscreenModeForTab(content::WebContents* source) {
|
||||||
|
|
||||||
void WebContents::RendererUnresponsive(
|
void WebContents::RendererUnresponsive(
|
||||||
content::WebContents* source,
|
content::WebContents* source,
|
||||||
const content::WebContentsUnresponsiveState& unresponsive_state) {
|
content::RenderWidgetHost* render_widget_host) {
|
||||||
Emit("unresponsive");
|
Emit("unresponsive");
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebContents::RendererResponsive(content::WebContents* source) {
|
void WebContents::RendererResponsive(
|
||||||
|
content::WebContents* source,
|
||||||
|
content::RenderWidgetHost* render_widget_host) {
|
||||||
Emit("responsive");
|
Emit("responsive");
|
||||||
for (ExtendedWebContentsObserver& observer : observers_)
|
for (ExtendedWebContentsObserver& observer : observers_)
|
||||||
observer.OnRendererResponsive();
|
observer.OnRendererResponsive();
|
||||||
|
|
|
@ -310,8 +310,10 @@ class WebContents : public mate::TrackableObject<WebContents>,
|
||||||
void ExitFullscreenModeForTab(content::WebContents* source) override;
|
void ExitFullscreenModeForTab(content::WebContents* source) override;
|
||||||
void RendererUnresponsive(
|
void RendererUnresponsive(
|
||||||
content::WebContents* source,
|
content::WebContents* source,
|
||||||
const content::WebContentsUnresponsiveState& unresponsive_state) override;
|
content::RenderWidgetHost* render_widget_host) override;
|
||||||
void RendererResponsive(content::WebContents* source) override;
|
void RendererResponsive(
|
||||||
|
content::WebContents* source,
|
||||||
|
content::RenderWidgetHost* render_widget_host) override;
|
||||||
bool HandleContextMenu(const content::ContextMenuParams& params) override;
|
bool HandleContextMenu(const content::ContextMenuParams& params) override;
|
||||||
bool OnGoToEntryOffset(int offset) override;
|
bool OnGoToEntryOffset(int offset) override;
|
||||||
void FindReply(content::WebContents* web_contents,
|
void FindReply(content::WebContents* web_contents,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue