Commit 5292b7f2 authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Simplify PdfCompositorImpl::CompositeSubframe().

Change-Id: Ie1299b65bfb6a6b05e91cd2f8fed55f73f208734
Reviewed-on: https://chromium-review.googlesource.com/1186269Reviewed-by: default avatarWei Li <weili@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585563}
parent efface13
...@@ -237,12 +237,7 @@ mojom::PdfCompositor::Status PdfCompositorImpl::CompositeToPdf( ...@@ -237,12 +237,7 @@ mojom::PdfCompositor::Status PdfCompositorImpl::CompositeToPdf(
return mojom::PdfCompositor::Status::SUCCESS; return mojom::PdfCompositor::Status::SUCCESS;
} }
sk_sp<SkPicture> PdfCompositorImpl::CompositeSubframe(uint64_t frame_guid) { void PdfCompositorImpl::CompositeSubframe(FrameInfo* frame_info) {
// The content of this frame should be available.
auto iter = frame_info_map_.find(frame_guid);
DCHECK(iter != frame_info_map_.end());
std::unique_ptr<FrameInfo>& frame_info = iter->second;
frame_info->composited = true; frame_info->composited = true;
// Composite subframes first. // Composite subframes first.
...@@ -250,11 +245,10 @@ sk_sp<SkPicture> PdfCompositorImpl::CompositeSubframe(uint64_t frame_guid) { ...@@ -250,11 +245,10 @@ sk_sp<SkPicture> PdfCompositorImpl::CompositeSubframe(uint64_t frame_guid) {
GetDeserializationContext(frame_info->subframe_content_map); GetDeserializationContext(frame_info->subframe_content_map);
// Composite the entire frame. // Composite the entire frame.
SkMemoryStream stream(iter->second->serialized_content->memory(), SkMemoryStream stream(frame_info->serialized_content->memory(),
iter->second->serialized_content->mapped_size()); frame_info->serialized_content->mapped_size());
SkDeserialProcs procs = DeserializationProcs(&subframes); SkDeserialProcs procs = DeserializationProcs(&subframes);
iter->second->content = SkPicture::MakeFromStream(&stream, &procs); frame_info->content = SkPicture::MakeFromStream(&stream, &procs);
return iter->second->content;
} }
PdfCompositorImpl::DeserializationContext PdfCompositorImpl::DeserializationContext
...@@ -268,9 +262,10 @@ PdfCompositorImpl::GetDeserializationContext( ...@@ -268,9 +262,10 @@ PdfCompositorImpl::GetDeserializationContext(
if (iter == frame_info_map_.end()) if (iter == frame_info_map_.end())
continue; continue;
subframes[content_id] = iter->second->composited FrameInfo* frame_info = iter->second.get();
? iter->second->content if (!frame_info->composited)
: CompositeSubframe(iter->first); CompositeSubframe(frame_info);
subframes[content_id] = frame_info->content;
} }
return subframes; return subframes;
} }
......
...@@ -166,7 +166,7 @@ class PdfCompositorImpl : public mojom::PdfCompositor { ...@@ -166,7 +166,7 @@ class PdfCompositorImpl : public mojom::PdfCompositor {
base::ReadOnlySharedMemoryRegion* region); base::ReadOnlySharedMemoryRegion* region);
// Composite the content of a subframe. // Composite the content of a subframe.
sk_sp<SkPicture> CompositeSubframe(uint64_t frame_guid); void CompositeSubframe(FrameInfo* frame_info);
DeserializationContext GetDeserializationContext( DeserializationContext GetDeserializationContext(
const ContentToFrameMap& subframe_content_map); const ContentToFrameMap& subframe_content_map);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment