| Index: chrome/browser/render_widget_host.h
|
| ===================================================================
|
| --- chrome/browser/render_widget_host.h (revision 2551)
|
| +++ chrome/browser/render_widget_host.h (working copy)
|
| @@ -2,13 +2,13 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_RENDER_WIDGET_HOST_H__
|
| -#define CHROME_BROWSER_RENDER_WIDGET_HOST_H__
|
| +#ifndef CHROME_BROWSER_RENDER_WIDGET_HOST_H_
|
| +#define CHROME_BROWSER_RENDER_WIDGET_HOST_H_
|
|
|
| #include <windows.h>
|
|
|
| -#include "base/task.h"
|
| #include "base/gfx/size.h"
|
| +#include "base/timer.h"
|
| #include "chrome/common/ipc_channel.h"
|
|
|
| namespace gfx {
|
| @@ -180,11 +180,11 @@
|
| // javascript call.
|
| virtual bool CanBlur() const { return true; }
|
|
|
| - // Restart the active hang monitor timeout. Clears all existing timeouts
|
| - // and starts with a new one.
|
| - // This can be because the renderer has become active, the tab is being
|
| - // hidden, or the user has chosen to wait some more to give the tab a chance
|
| - // to become active and we don't want to display a warning too soon.
|
| + // Restart the active hang monitor timeout. Clears all existing timeouts and
|
| + // starts with a new one. This can be because the renderer has become
|
| + // active, the tab is being hidden, or the user has chosen to wait some more
|
| + // to give the tab a chance to become active and we don't want to display a
|
| + // warning too soon.
|
| void RestartHangMonitorTimeout();
|
|
|
| // Stops all existing hang monitor timeouts and assumes the renderer is
|
| @@ -194,7 +194,7 @@
|
| // Starts a hang monitor timeout. If there's already a hang monitor timeout
|
| // the new one will only fire if it has a shorter delay than the time
|
| // left on the existing timeouts.
|
| - void StartHangMonitorTimeout(int delay);
|
| + void StartHangMonitorTimeout(TimeDelta delay);
|
|
|
| // Called when we receive a notification indicating that the renderer
|
| // process has gone.
|
| @@ -250,7 +250,7 @@
|
| // Callbacks for notification when the renderer becomes unresponsive to user
|
| // input events, and subsequently responsive again. The delegate can use
|
| // these notifications to show a warning.
|
| - void RendererIsUnresponsive();
|
| + void CheckRendererIsUnresponsive();
|
| virtual void NotifyRendererUnresponsive() {}
|
| void RendererIsResponsive();
|
| virtual void NotifyRendererResponsive() {}
|
| @@ -298,9 +298,13 @@
|
| // itself, a paint message could already be in flight at that point.
|
| bool needs_repainting_on_restore_;
|
|
|
| - // The following factory is used to detect a hung renderer
|
| - ScopedRunnableMethodFactory<RenderWidgetHost> hung_renderer_factory_;
|
| + // The following value indicates a time in the future when we would consider
|
| + // the renderer hung if it does not generate an appropriate response message.
|
| + Time time_when_considered_hung_;
|
|
|
| + // This timer runs to check if time_when_considered_hung_ has past.
|
| + base::OneShotTimer<RenderWidgetHost> hung_renderer_timer_;
|
| +
|
| // This is true if the renderer is currently unresponsive.
|
| bool is_unresponsive_;
|
|
|
| @@ -359,5 +363,4 @@
|
| virtual void RenderWidgetHostDidPaint(RenderWidgetHost* rwh) = 0;
|
| };
|
|
|
| -#endif // #ifndef CHROME_BROWSER_RENDER_WIDGET_HOST_H__
|
| -
|
| +#endif // #ifndef CHROME_BROWSER_RENDER_WIDGET_HOST_H_
|
|
|