summaryrefslogtreecommitdiffstats
path: root/cc/picture_pile.cc
diff options
context:
space:
mode:
authorreveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-27 16:39:24 +0000
committerreveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-27 16:39:24 +0000
commit5cc6e87c074e57fb3dfa6053e563872b9c5a08f9 (patch)
tree3eb85476da2eeee4ef17053caae16a2d7be84dea /cc/picture_pile.cc
parentdb9d45a5f52c126f7f414d7531ccd40cd6e2d313 (diff)
downloadchromium_src-5cc6e87c074e57fb3dfa6053e563872b9c5a08f9.zip
chromium_src-5cc6e87c074e57fb3dfa6053e563872b9c5a08f9.tar.gz
chromium_src-5cc6e87c074e57fb3dfa6053e563872b9c5a08f9.tar.bz2
cc: Implement impl-side rasterization.
Posts raster jobs on a worker thread and use pixel buffer API to avoid unnecessary copying. BUG=161338 Review URL: https://codereview.chromium.org/11417046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169665 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/picture_pile.cc')
-rw-r--r--cc/picture_pile.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/cc/picture_pile.cc b/cc/picture_pile.cc
index 2b947e1..efc471e 100644
--- a/cc/picture_pile.cc
+++ b/cc/picture_pile.cc
@@ -4,6 +4,7 @@
#include <algorithm>
+#include "base/debug/trace_event.h"
#include "cc/picture_pile.h"
#include "third_party/skia/include/core/SkCanvas.h"
@@ -66,7 +67,8 @@ void PicturePile::Update(ContentLayerClient* painter, RenderingStats& stats) {
pile_[0]->Record(painter, gfx::Rect(gfx::Point(), size_), stats);
}
-void PicturePile::CopyAllButPile(PicturePile& from, PicturePile& to) {
+void PicturePile::CopyAllButPile(
+ const PicturePile& from, PicturePile& to) const {
to.size_ = from.size_;
to.invalidation_ = from.invalidation_;
to.prev_invalidation_ = from.prev_invalidation_;
@@ -80,7 +82,8 @@ void PicturePile::PushPropertiesTo(PicturePile& other) {
other.pile_[i] = pile_[i];
}
-scoped_ptr<PicturePile> PicturePile::CloneForDrawing() {
+scoped_ptr<PicturePile> PicturePile::CloneForDrawing() const {
+ TRACE_EVENT0("cc", "PicturePile::CloneForDrawing");
scoped_ptr<PicturePile> clone = make_scoped_ptr(new PicturePile);
CopyAllButPile(*this, *clone);