Index: remoting/client/plugin/pepper_view.cc |
diff --git a/remoting/client/plugin/pepper_view.cc b/remoting/client/plugin/pepper_view.cc |
index d8a776c8b31f26d08462bb48d3375f5507527c94..4a41f98af9426d237e99d490f6178c1d0b81f59d 100644 |
--- a/remoting/client/plugin/pepper_view.cc |
+++ b/remoting/client/plugin/pepper_view.cc |
@@ -110,7 +110,7 @@ void PepperView::SetHostSize(const SkISize& host_size) { |
host_size.width(), host_size.height()); |
} |
-void PepperView::PaintFrame(media::VideoFrame* frame, RectVector* rects) { |
+void PepperView::PaintFrame(media::VideoFrame* frame, const SkRegion& region) { |
DCHECK(context_->main_message_loop()->BelongsToCurrentThread()); |
SetHostSize(SkISize::Make(frame->width(), frame->height())); |
@@ -124,8 +124,8 @@ void PepperView::PaintFrame(media::VideoFrame* frame, RectVector* rects) { |
// Copy updated regions to the backing store and then paint the regions. |
bool changes_made = false; |
- for (size_t i = 0; i < rects->size(); ++i) |
- changes_made |= PaintRect(frame, (*rects)[i]); |
+ for (SkRegion::Iterator i(region); !i.done(); i.next()) |
+ changes_made |= PaintRect(frame, i.rect()); |
if (changes_made) |
FlushGraphics(start_time); |
@@ -313,13 +313,13 @@ void PepperView::ReleaseFrame(media::VideoFrame* frame) { |
} |
void PepperView::OnPartialFrameOutput(media::VideoFrame* frame, |
- RectVector* rects, |
+ SkRegion* region, |
const base::Closure& done) { |
DCHECK(context_->main_message_loop()->BelongsToCurrentThread()); |
// TODO(ajwong): Clean up this API to be async so we don't need to use a |
// member variable as a hack. |
- PaintFrame(frame, rects); |
+ PaintFrame(frame, *region); |
done.Run(); |
} |