Commit 77a0e16f authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Clean up PrintCompositorImpl.

PrintCompositorImpl ended up with 2 CompleteDocumentToPdf() methods,
which is confusing. The first is a required PrintCompositor interface
impl. The second is a private method that is only called by
CompleteDocumentRequest(). Since CompleteDocumentRequest() is just a
minimal wrapper around the private CompleteDocumentToPdf(), merge the
two and avoid the confusion.

Also remove some methods declared in the header but never defined.

Change-Id: I19832cb994a23a02dd7f18ad1757937576bd498c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2152919Reviewed-by: default avatarDaniel Hosseinian <dhoss@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#760163}
parent dbbacea0
...@@ -385,24 +385,6 @@ mojom::PrintCompositor::Status PrintCompositorImpl::CompositeToPdf( ...@@ -385,24 +385,6 @@ mojom::PrintCompositor::Status PrintCompositorImpl::CompositeToPdf(
return mojom::PrintCompositor::Status::kSuccess; return mojom::PrintCompositor::Status::kSuccess;
} }
mojom::PrintCompositor::Status PrintCompositorImpl::CompleteDocumentToPdf(
base::ReadOnlySharedMemoryRegion* region) {
docinfo_->doc->close();
base::MappedReadOnlyRegion region_mapping =
base::ReadOnlySharedMemoryRegion::Create(
docinfo_->compositor_stream.bytesWritten());
if (!region_mapping.IsValid()) {
DLOG(ERROR)
<< "CompleteDocumentToPdf: Cannot create new shared memory region.";
return mojom::PrintCompositor::Status::kHandleMapError;
}
docinfo_->compositor_stream.copyToAndReset(region_mapping.mapping.memory());
*region = std::move(region_mapping.region);
return mojom::PrintCompositor::Status::kSuccess;
}
void PrintCompositorImpl::CompositeSubframe(FrameInfo* frame_info) { void PrintCompositorImpl::CompositeSubframe(FrameInfo* frame_info) {
frame_info->composited = true; frame_info->composited = true;
...@@ -448,8 +430,24 @@ void PrintCompositorImpl::FulfillRequest( ...@@ -448,8 +430,24 @@ void PrintCompositorImpl::FulfillRequest(
void PrintCompositorImpl::CompleteDocumentRequest( void PrintCompositorImpl::CompleteDocumentRequest(
CompleteDocumentToPdfCallback callback) { CompleteDocumentToPdfCallback callback) {
mojom::PrintCompositor::Status status;
base::ReadOnlySharedMemoryRegion region; base::ReadOnlySharedMemoryRegion region;
auto status = CompleteDocumentToPdf(&region);
docinfo_->doc->close();
base::MappedReadOnlyRegion region_mapping =
base::ReadOnlySharedMemoryRegion::Create(
docinfo_->compositor_stream.bytesWritten());
if (region_mapping.IsValid()) {
docinfo_->compositor_stream.copyToAndReset(region_mapping.mapping.memory());
region = std::move(region_mapping.region);
status = mojom::PrintCompositor::Status::kSuccess;
} else {
DLOG(ERROR) << "CompleteDocumentRequest: "
<< "Cannot create new shared memory region.";
status = mojom::PrintCompositor::Status::kHandleMapError;
}
std::move(callback).Run(status, std::move(region)); std::move(callback).Run(status, std::move(region));
} }
......
...@@ -215,14 +215,6 @@ class PrintCompositorImpl : public mojom::PrintCompositor { ...@@ -215,14 +215,6 @@ class PrintCompositorImpl : public mojom::PrintCompositor {
CompositeToPdfCallback callback); CompositeToPdfCallback callback);
void HandleDocumentCompletionRequest(); void HandleDocumentCompletionRequest();
// Document content composition support functions when document is compiled
// using individual pages' content. These are not used when document is
// composited with a separate metafile object.
mojom::PrintCompositor::Status PrepareForDocumentToPdf();
mojom::PrintCompositor::Status UpdateDocumentMetadata(uint32_t page_count);
mojom::PrintCompositor::Status CompleteDocumentToPdf(
base::ReadOnlySharedMemoryRegion* region);
// Composite the content of a subframe. // Composite the content of a subframe.
void CompositeSubframe(FrameInfo* frame_info); void CompositeSubframe(FrameInfo* frame_info);
......
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