summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-18 19:48:46 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-18 19:48:46 +0000
commiteff38d757cff8db7fbb609e6be8a60eae252d325 (patch)
treef8f359c3d2be704b051c0056e8e0aa2916aaa8be
parent0c50fdc52e9532a35abab7c42cbbcf9ba2cc10b8 (diff)
downloadchromium_src-eff38d757cff8db7fbb609e6be8a60eae252d325.zip
chromium_src-eff38d757cff8db7fbb609e6be8a60eae252d325.tar.gz
chromium_src-eff38d757cff8db7fbb609e6be8a60eae252d325.tar.bz2
Adds RenderWidgetHostWillPaint. I need this for something else I'm
working on. BUG=none TEST=none Review URL: http://codereview.chromium.org/3152026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56578 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/dom_ui/new_tab_ui.cc2
-rw-r--r--chrome/browser/renderer_host/render_widget_host.cc3
-rw-r--r--chrome/browser/renderer_host/render_widget_host.h4
-rw-r--r--chrome/browser/renderer_host/render_widget_host_painting_observer.h1
-rw-r--r--chrome/chrome_browser.gypi1
5 files changed, 8 insertions, 3 deletions
diff --git a/chrome/browser/dom_ui/new_tab_ui.cc b/chrome/browser/dom_ui/new_tab_ui.cc
index 6b97778..7fe8ee8 100644
--- a/chrome/browser/dom_ui/new_tab_ui.cc
+++ b/chrome/browser/dom_ui/new_tab_ui.cc
@@ -74,6 +74,8 @@ class PaintTimer : public RenderWidgetHost::PaintObserver {
}
// A callback that is invoked whenever our RenderWidgetHost paints.
+ virtual void RenderWidgetHostWillPaint(RenderWidgetHost* rhw) {}
+
virtual void RenderWidgetHostDidPaint(RenderWidgetHost* rwh) {
last_paint_ = base::TimeTicks::Now();
}
diff --git a/chrome/browser/renderer_host/render_widget_host.cc b/chrome/browser/renderer_host/render_widget_host.cc
index 774b682..b9e1b8c 100644
--- a/chrome/browser/renderer_host/render_widget_host.cc
+++ b/chrome/browser/renderer_host/render_widget_host.cc
@@ -721,6 +721,9 @@ void RenderWidgetHost::OnMsgUpdateRect(
const ViewHostMsg_UpdateRect_Params& params) {
TimeTicks paint_start = TimeTicks::Now();
+ if (paint_observer_.get())
+ paint_observer_->RenderWidgetHostWillPaint(this);
+
// Update our knowledge of the RenderWidget's size.
current_size_ = params.view_size;
diff --git a/chrome/browser/renderer_host/render_widget_host.h b/chrome/browser/renderer_host/render_widget_host.h
index 355aefa..eac130e 100644
--- a/chrome/browser/renderer_host/render_widget_host.h
+++ b/chrome/browser/renderer_host/render_widget_host.h
@@ -124,11 +124,11 @@ struct ViewHostMsg_UpdateRect_Params;
class RenderWidgetHost : public IPC::Channel::Listener,
public IPC::Channel::Sender {
public:
- // An interface that gets called whenever a paint occurs.
- // Used in performance tests.
+ // An interface that gets called before and after a paint.
class PaintObserver {
public:
virtual ~PaintObserver() {}
+ virtual void RenderWidgetHostWillPaint(RenderWidgetHost* rhw) = 0;
virtual void RenderWidgetHostDidPaint(RenderWidgetHost* rwh) = 0;
};
diff --git a/chrome/browser/renderer_host/render_widget_host_painting_observer.h b/chrome/browser/renderer_host/render_widget_host_painting_observer.h
index 8b3da5e..3c6c867 100644
--- a/chrome/browser/renderer_host/render_widget_host_painting_observer.h
+++ b/chrome/browser/renderer_host/render_widget_host_painting_observer.h
@@ -8,7 +8,6 @@
class BackingStore;
class RenderWidgetHost;
-class SkBitmap;
namespace gfx {
class Size;
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index f2c2ec7..2adbedb 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -2258,6 +2258,7 @@
'browser/renderer_host/render_widget_helper.h',
'browser/renderer_host/render_widget_host.cc',
'browser/renderer_host/render_widget_host.h',
+ 'browser/renderer_host/render_widget_host_painting_observer.h',
'browser/renderer_host/render_widget_host_view.h',
'browser/renderer_host/render_widget_host_view_gtk.cc',
'browser/renderer_host/render_widget_host_view_gtk.h',