diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-18 19:48:46 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-18 19:48:46 +0000 |
commit | eff38d757cff8db7fbb609e6be8a60eae252d325 (patch) | |
tree | f8f359c3d2be704b051c0056e8e0aa2916aaa8be | |
parent | 0c50fdc52e9532a35abab7c42cbbcf9ba2cc10b8 (diff) | |
download | chromium_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.cc | 2 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host.cc | 3 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host.h | 4 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host_painting_observer.h | 1 | ||||
-rw-r--r-- | chrome/chrome_browser.gypi | 1 |
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', |