summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host
diff options
context:
space:
mode:
authormiletus@chromium.org <miletus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-23 20:42:50 +0000
committermiletus@chromium.org <miletus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-23 20:42:50 +0000
commit98a04479ee51a879e6ab8e7e07e3544d33f62969 (patch)
treec0aa429a22c0067dc4ccc3ed9af1ed0f04e12d70 /content/browser/renderer_host
parent2c95d104fe9af1364ddd7361d3919cd2568a0134 (diff)
downloadchromium_src-98a04479ee51a879e6ab8e7e07e3544d33f62969.zip
chromium_src-98a04479ee51a879e6ab8e7e07e3544d33f62969.tar.gz
chromium_src-98a04479ee51a879e6ab8e7e07e3544d33f62969.tar.bz2
Remove LatencyInfo merge from software rendering path
BUG=246034 TEST=unittests pass. Review URL: https://codereview.chromium.org/111483003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242404 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host')
-rw-r--r--content/browser/renderer_host/render_widget_host_view_android.cc2
-rw-r--r--content/browser/renderer_host/render_widget_host_view_android.h2
-rw-r--r--content/browser/renderer_host/render_widget_host_view_aura.cc10
-rw-r--r--content/browser/renderer_host/render_widget_host_view_aura.h4
-rw-r--r--content/browser/renderer_host/render_widget_host_view_gtk.cc16
-rw-r--r--content/browser/renderer_host/render_widget_host_view_gtk.h4
-rw-r--r--content/browser/renderer_host/render_widget_host_view_guest.cc2
-rw-r--r--content/browser/renderer_host/render_widget_host_view_guest.h2
-rw-r--r--content/browser/renderer_host/render_widget_host_view_mac.h4
-rw-r--r--content/browser/renderer_host/render_widget_host_view_mac.mm17
-rw-r--r--content/browser/renderer_host/render_widget_host_view_win.cc15
-rw-r--r--content/browser/renderer_host/render_widget_host_view_win.h4
12 files changed, 47 insertions, 35 deletions
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index c8afbd6..21a5a5d 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -515,7 +515,7 @@ void RenderWidgetHostViewAndroid::DidUpdateBackingStore(
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) {
+ const std::vector<ui::LatencyInfo>& latency_info) {
NOTIMPLEMENTED();
}
diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
index 42b455a6..9a05567 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.h
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
@@ -109,7 +109,7 @@ class RenderWidgetHostViewAndroid
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) OVERRIDE;
+ const std::vector<ui::LatencyInfo>& latency_info) OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status,
int error_code) OVERRIDE;
virtual void Destroy() OVERRIDE;
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 7350c24..0c14ea8 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -940,11 +940,12 @@ void RenderWidgetHostViewAura::DidUpdateBackingStore(
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) {
+ const std::vector<ui::LatencyInfo>& latency_info) {
if (accelerated_compositing_state_changed_)
UpdateExternalTexture();
- software_latency_info_.MergeWith(latency_info);
+ for (size_t i = 0; i < latency_info.size(); i++)
+ software_latency_info_.push_back(latency_info[i]);
// Use the state of the RenderWidgetHost and not the window as the two may
// differ. In particular if the window is hidden but the renderer isn't and we
@@ -2538,9 +2539,10 @@ void RenderWidgetHostViewAura::OnPaint(gfx::Canvas* canvas) {
paint_observer_->OnPaintComplete();
ui::Compositor* compositor = GetCompositor();
if (compositor) {
- compositor->SetLatencyInfo(software_latency_info_);
- software_latency_info_.Clear();
+ for (size_t i = 0; i < software_latency_info_.size(); i++)
+ compositor->SetLatencyInfo(software_latency_info_[i]);
}
+ software_latency_info_.clear();
} else {
// For non-opaque windows, we don't draw anything, since we depend on the
// canvas coming from the compositor to already be initialized as
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
index 5328237..ab8fcf1 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -189,7 +189,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) OVERRIDE;
+ const std::vector<ui::LatencyInfo>& latency_info) OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status,
int error_code) OVERRIDE;
virtual void Destroy() OVERRIDE;
@@ -773,7 +773,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
TouchEditingClient* touch_editing_client_;
- ui::LatencyInfo software_latency_info_;
+ std::vector<ui::LatencyInfo> software_latency_info_;
struct ReleasedFrameInfo {
ReleasedFrameInfo(uint32 output_id, unsigned software_frame_id)
diff --git a/content/browser/renderer_host/render_widget_host_view_gtk.cc b/content/browser/renderer_host/render_widget_host_view_gtk.cc
index e50bd04..7d74ac2 100644
--- a/content/browser/renderer_host/render_widget_host_view_gtk.cc
+++ b/content/browser/renderer_host/render_widget_host_view_gtk.cc
@@ -851,9 +851,10 @@ void RenderWidgetHostViewGtk::DidUpdateBackingStore(
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) {
+ const std::vector<ui::LatencyInfo>& latency_info) {
TRACE_EVENT0("ui::gtk", "RenderWidgetHostViewGtk::DidUpdateBackingStore");
- software_latency_info_.MergeWith(latency_info);
+ for (size_t i = 0; i < latency_info.size(); i++)
+ software_latency_info_.push_back(latency_info[i]);
if (host_->is_hidden())
return;
@@ -1215,10 +1216,13 @@ void RenderWidgetHostViewGtk::Paint(const gfx::Rect& damage_rect) {
// recorded.
web_contents_switch_paint_time_ = base::TimeTicks();
}
- software_latency_info_.AddLatencyNumber(
- ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0);
- render_widget_host->FrameSwapped(software_latency_info_);
- software_latency_info_.Clear();
+
+ for (size_t i = 0; i < software_latency_info_.size(); i++) {
+ software_latency_info_[i].AddLatencyNumber(
+ ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0);
+ render_widget_host->FrameSwapped(software_latency_info_[i]);
+ }
+ software_latency_info_.clear();
} else {
if (window)
gdk_window_clear(window);
diff --git a/content/browser/renderer_host/render_widget_host_view_gtk.h b/content/browser/renderer_host/render_widget_host_view_gtk.h
index e01181a..e799034 100644
--- a/content/browser/renderer_host/render_widget_host_view_gtk.h
+++ b/content/browser/renderer_host/render_widget_host_view_gtk.h
@@ -88,7 +88,7 @@ class CONTENT_EXPORT RenderWidgetHostViewGtk
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) OVERRIDE;
+ const std::vector<ui::LatencyInfo>& latency_info) OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status,
int error_code) OVERRIDE;
virtual void Destroy() OVERRIDE;
@@ -332,7 +332,7 @@ class CONTENT_EXPORT RenderWidgetHostViewGtk
ui::GtkSignalRegistrar signals_;
- ui::LatencyInfo software_latency_info_;
+ std::vector<ui::LatencyInfo> software_latency_info_;
};
} // namespace content
diff --git a/content/browser/renderer_host/render_widget_host_view_guest.cc b/content/browser/renderer_host/render_widget_host_view_guest.cc
index e061c76..df15796 100644
--- a/content/browser/renderer_host/render_widget_host_view_guest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_guest.cc
@@ -340,7 +340,7 @@ void RenderWidgetHostViewGuest::DidUpdateBackingStore(
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) {
+ const std::vector<ui::LatencyInfo>& latency_info) {
NOTREACHED();
}
diff --git a/content/browser/renderer_host/render_widget_host_view_guest.h b/content/browser/renderer_host/render_widget_host_view_guest.h
index 1e9bf47..785bd5a 100644
--- a/content/browser/renderer_host/render_widget_host_view_guest.h
+++ b/content/browser/renderer_host/render_widget_host_view_guest.h
@@ -93,7 +93,7 @@ class CONTENT_EXPORT RenderWidgetHostViewGuest
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) OVERRIDE;
+ const std::vector<ui::LatencyInfo>& latency_info) OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status,
int error_code) OVERRIDE;
virtual void Destroy() OVERRIDE;
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
index 11d2f2d..40fb5ed 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
@@ -260,7 +260,7 @@ class RenderWidgetHostViewMac : public RenderWidgetHostViewBase,
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) OVERRIDE;
+ const std::vector<ui::LatencyInfo>& latency_info) OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status,
int error_code) OVERRIDE;
virtual void Destroy() OVERRIDE;
@@ -440,7 +440,7 @@ class RenderWidgetHostViewMac : public RenderWidgetHostViewBase,
// Whether to use the CoreAnimation path to draw content.
bool use_core_animation_;
- ui::LatencyInfo software_latency_info_;
+ std::vector<ui::LatencyInfo> software_latency_info_;
NSWindow* pepper_fullscreen_window() const {
return pepper_fullscreen_window_;
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index 4793965..1ad50b3 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -927,10 +927,11 @@ void RenderWidgetHostViewMac::DidUpdateBackingStore(
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) {
+ const std::vector<ui::LatencyInfo>& latency_info) {
GotSoftwareFrame();
- software_latency_info_.MergeWith(latency_info);
+ for (size_t i = 0; i < latency_info.size(); i++)
+ software_latency_info_.push_back(latency_info[i]);
if (render_widget_host_->is_hidden())
return;
@@ -1692,7 +1693,7 @@ void RenderWidgetHostViewMac::OnSwapCompositorFrame(
software_frame_manager_->GetCurrentFrameOutputSurfaceId(),
render_widget_host_->GetProcess()->GetID(),
ack);
- software_latency_info_.MergeWith(frame->metadata.latency_info);
+ software_latency_info_.push_back(frame->metadata.latency_info);
software_frame_manager_->SwapToNewFrameComplete(
!render_widget_host_->is_hidden());
@@ -1951,10 +1952,12 @@ gfx::Rect RenderWidgetHostViewMac::GetScaledOpenGLPixelRect(
}
void RenderWidgetHostViewMac::SendSoftwareLatencyInfoToHost() {
- software_latency_info_.AddLatencyNumber(
- ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0);
- render_widget_host_->FrameSwapped(software_latency_info_);
- software_latency_info_.Clear();
+ for (size_t i = 0; i < software_latency_info_.size(); i++) {
+ software_latency_info_[i].AddLatencyNumber(
+ ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0);
+ render_widget_host_->FrameSwapped(software_latency_info_[i]);
+ }
+ software_latency_info_.clear();
}
} // namespace content
diff --git a/content/browser/renderer_host/render_widget_host_view_win.cc b/content/browser/renderer_host/render_widget_host_view_win.cc
index 8238a82..7639af2 100644
--- a/content/browser/renderer_host/render_widget_host_view_win.cc
+++ b/content/browser/renderer_host/render_widget_host_view_win.cc
@@ -760,9 +760,10 @@ void RenderWidgetHostViewWin::DidUpdateBackingStore(
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) {
+ const std::vector<ui::LatencyInfo>& latency_info) {
TRACE_EVENT0("content", "RenderWidgetHostViewWin::DidUpdateBackingStore");
- software_latency_info_.MergeWith(latency_info);
+ for (size_t i = 0; i < latency_info.size(); i++)
+ software_latency_info_.push_back(latency_info[i]);
if (render_widget_host_->is_hidden())
return;
@@ -1412,10 +1413,12 @@ void RenderWidgetHostViewWin::OnPaint(HDC unused_dc) {
web_contents_switch_paint_time_ = TimeTicks();
}
- software_latency_info_.AddLatencyNumber(
- ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0);
- render_widget_host_->FrameSwapped(software_latency_info_);
- software_latency_info_.Clear();
+ for (size_t i = 0; i < software_latency_info_.size(); i++) {
+ software_latency_info_[i].AddLatencyNumber(
+ ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0);
+ render_widget_host_->FrameSwapped(software_latency_info_[i]);
+ }
+ software_latency_info_.clear();
} else {
DrawBackground(paint_dc.m_ps.rcPaint, &paint_dc);
if (whiteout_start_time_.is_null())
diff --git a/content/browser/renderer_host/render_widget_host_view_win.h b/content/browser/renderer_host/render_widget_host_view_win.h
index b9a87bf..4e8717a 100644
--- a/content/browser/renderer_host/render_widget_host_view_win.h
+++ b/content/browser/renderer_host/render_widget_host_view_win.h
@@ -194,7 +194,7 @@ class RenderWidgetHostViewWin
const gfx::Rect& scroll_rect,
const gfx::Vector2d& scroll_delta,
const std::vector<gfx::Rect>& copy_rects,
- const ui::LatencyInfo& latency_info) OVERRIDE;
+ const std::vector<ui::LatencyInfo>& latency_info) OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status,
int error_code) OVERRIDE;
virtual bool CanSubscribeFrame() const OVERRIDE;
@@ -606,7 +606,7 @@ class RenderWidgetHostViewWin
// The OS-provided default IAccessible instance for our hwnd.
base::win::ScopedComPtr<IAccessible> window_iaccessible_;
- ui::LatencyInfo software_latency_info_;
+ std::vector<ui::LatencyInfo> software_latency_info_;
DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewWin);
};