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

Unified Diff: cc/ipc/copy_output_result_struct_traits.cc

Issue 2670213006: Mojom structs for copy requests / results should map to unique_ptr (Closed)
Patch Set: c 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 side-by-side diff with in-line comments
Download patch
Index: cc/ipc/copy_output_result_struct_traits.cc
diff --git a/cc/ipc/copy_output_result_struct_traits.cc b/cc/ipc/copy_output_result_struct_traits.cc
index 772e3000625dc08f9f1babc9c32975f051dd57f9..ea7c390bb7434c2b2da4e32ac8b5e9668aaafba9 100644
--- a/cc/ipc/copy_output_result_struct_traits.cc
+++ b/cc/ipc/copy_output_result_struct_traits.cc
@@ -7,21 +7,25 @@
namespace mojo {
// static
-bool StructTraits<cc::mojom::CopyOutputResultDataView, cc::CopyOutputResult>::
- Read(cc::mojom::CopyOutputResultDataView data, cc::CopyOutputResult* out) {
+bool StructTraits<cc::mojom::CopyOutputResultDataView,
+ std::unique_ptr<cc::CopyOutputResult>>::
+ Read(cc::mojom::CopyOutputResultDataView data,
+ std::unique_ptr<cc::CopyOutputResult>* out_p) {
+ std::unique_ptr<cc::CopyOutputResult>& out = *out_p;
+ out = cc::CopyOutputResult::CreateEmptyResult();
out->bitmap_ = base::MakeUnique<SkBitmap>();
return data.ReadSize(&out->size_) && data.ReadBitmap(out->bitmap_.get()) &&
data.ReadTextureMailbox(&out->texture_mailbox_);
}
// static
-const SkBitmap&
-StructTraits<cc::mojom::CopyOutputResultDataView, cc::CopyOutputResult>::bitmap(
- const cc::CopyOutputResult& result) {
+const SkBitmap& StructTraits<cc::mojom::CopyOutputResultDataView,
+ std::unique_ptr<cc::CopyOutputResult>>::
+ bitmap(const std::unique_ptr<cc::CopyOutputResult>& result) {
static SkBitmap* null_bitmap = new SkBitmap();
- if (!result.bitmap_)
+ if (!result->bitmap_)
return *null_bitmap;
- return *result.bitmap_;
+ return *result->bitmap_;
}
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698