Commit c510e0c3 authored by Benjamin Beaudry's avatar Benjamin Beaudry Committed by Commit Bot

Improve performance of plugin/mimehandler messaging

When converting PP_PrivateAccessibilityLink/ImageInfo to
PdfAccessibilityLink/ImageInfo, we used to first store it in a variable
and then emplace_back it. This caused the struct to be created twice.
Instead, we directly pass the C struct to emplace_back and it will
automatically call the appropriate constructor to create the C++ object
in place.

This way, the C++ object is only created once.

Bug: 981448
Change-Id: I1da00c47ac7dbab7057389d6850bcfcffa433cd5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1778596
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: default avatarBill Budge <bbudge@chromium.org>
Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Reviewed-by: default avatarIan Prest <iapres@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#696867}
parent d7c5eebc
...@@ -226,14 +226,12 @@ void PDFResource::SetAccessibilityPageInfo( ...@@ -226,14 +226,12 @@ void PDFResource::SetAccessibilityPageInfo(
std::vector<ppapi::PdfAccessibilityLinkInfo> link_vector; std::vector<ppapi::PdfAccessibilityLinkInfo> link_vector;
link_vector.reserve(page_info->link_count); link_vector.reserve(page_info->link_count);
for (size_t i = 0; i < page_info->link_count; i++) { for (size_t i = 0; i < page_info->link_count; i++) {
ppapi::PdfAccessibilityLinkInfo link(links[i]); link_vector.emplace_back(links[i]);
link_vector.emplace_back(link);
} }
std::vector<ppapi::PdfAccessibilityImageInfo> image_vector; std::vector<ppapi::PdfAccessibilityImageInfo> image_vector;
image_vector.reserve(page_info->image_count); image_vector.reserve(page_info->image_count);
for (size_t i = 0; i < page_info->image_count; i++) { for (size_t i = 0; i < page_info->image_count; i++) {
ppapi::PdfAccessibilityImageInfo image(images[i]); image_vector.emplace_back(images[i]);
image_vector.emplace_back(image);
} }
Post(RENDERER, PpapiHostMsg_PDF_SetAccessibilityPageInfo( Post(RENDERER, PpapiHostMsg_PDF_SetAccessibilityPageInfo(
*page_info, text_run_vector, char_vector, link_vector, *page_info, text_run_vector, char_vector, link_vector,
......
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