Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(559)

Side by Side Diff: cc/resources/video_resource_updater.cc

Issue 2686173003: Remove uses of skia::GetWritablePixels(PaintCanvas) (Closed)
Patch Set: Add more deps Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/resources/video_resource_updater.h" 5 #include "cc/resources/video_resource_updater.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 DCHECK_EQ(software_compositor, plane_resource.mailbox().IsZero()); 510 DCHECK_EQ(software_compositor, plane_resource.mailbox().IsZero());
511 511
512 if (!plane_resource.Matches(video_frame->unique_id(), 0)) { 512 if (!plane_resource.Matches(video_frame->unique_id(), 0)) {
513 // We need to transfer data from |video_frame| to the plane resource. 513 // We need to transfer data from |video_frame| to the plane resource.
514 if (software_compositor) { 514 if (software_compositor) {
515 if (!video_renderer_) 515 if (!video_renderer_)
516 video_renderer_.reset(new media::SkCanvasVideoRenderer); 516 video_renderer_.reset(new media::SkCanvasVideoRenderer);
517 517
518 ResourceProvider::ScopedWriteLockSoftware lock( 518 ResourceProvider::ScopedWriteLockSoftware lock(
519 resource_provider_, plane_resource.resource_id()); 519 resource_provider_, plane_resource.resource_id());
520 SkCanvas canvas(lock.sk_bitmap()); 520 PaintCanvas canvas(lock.sk_bitmap());
521 // This is software path, so canvas and video_frame are always backed 521 // This is software path, so canvas and video_frame are always backed
522 // by software. 522 // by software.
523 video_renderer_->Copy(video_frame, &canvas, media::Context3D()); 523 video_renderer_->Copy(video_frame, &canvas, media::Context3D());
524 } else { 524 } else {
525 size_t bytes_per_row = ResourceUtil::CheckedWidthInBytes<size_t>( 525 size_t bytes_per_row = ResourceUtil::CheckedWidthInBytes<size_t>(
526 video_frame->coded_size().width(), ResourceFormat::RGBA_8888); 526 video_frame->coded_size().width(), ResourceFormat::RGBA_8888);
527 size_t needed_size = bytes_per_row * video_frame->coded_size().height(); 527 size_t needed_size = bytes_per_row * video_frame->coded_size().height();
528 if (upload_pixels_.size() < needed_size) 528 if (upload_pixels_.size() < needed_size)
529 upload_pixels_.resize(needed_size); 529 upload_pixels_.resize(needed_size);
530 530
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 if (lost_resource) { 812 if (lost_resource) {
813 resource_it->clear_refs(); 813 resource_it->clear_refs();
814 updater->DeleteResource(resource_it); 814 updater->DeleteResource(resource_it);
815 return; 815 return;
816 } 816 }
817 817
818 resource_it->remove_ref(); 818 resource_it->remove_ref();
819 } 819 }
820 820
821 } // namespace cc 821 } // namespace cc
OLDNEW
« no previous file with comments | « cc/paint/paint_canvas.cc ('k') | content/browser/renderer_host/render_widget_host_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698