Commit b4500f84 authored by Kalpak Tapas's avatar Kalpak Tapas Committed by Commit Bot

Group PDF page accessibility objects into new struct

This is a preparatory change for adding accessibility support for PDF
annotations. Currently, text, links and images within a PDF page are
supported in an accessibility context. These are passed as separate
parameters in Set/GetAccessibilityPageInfo methods exposed through the
Pepper API. When annotation support comes in, the number of parameters
would increase to 6 making those function calls unwieldy and requiring
additional extensions to the templated DispatchResourceCall function.
This change groups links and images into a new *PageObjects struct which
will also be the home for the upcoming representation of PDF
annotations.

Bug: 1008775
Change-Id: Icee1b9b17290614265be8c65c5b594d3a99fe767
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1831957Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarRaymes Khoury <raymes@chromium.org>
Reviewed-by: default avatarIan Prest <iapres@microsoft.com>
Commit-Queue: Kalpak Tapas <katapas@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#705481}
parent cd23b8c3
......@@ -276,13 +276,12 @@ int32_t PepperPDFHost::OnHostMsgSetAccessibilityPageInfo(
const PP_PrivateAccessibilityPageInfo& page_info,
const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_run_info,
const std::vector<PP_PrivateAccessibilityCharInfo>& chars,
const std::vector<ppapi::PdfAccessibilityLinkInfo>& links,
const std::vector<ppapi::PdfAccessibilityImageInfo>& images) {
const ppapi::PdfAccessibilityPageObjects& page_objects) {
if (!host_->GetPluginInstance(pp_instance()))
return PP_ERROR_FAILED;
CreatePdfAccessibilityTreeIfNeeded();
pdf_accessibility_tree_->SetAccessibilityPageInfo(page_info, text_run_info,
chars, links, images);
pdf_accessibility_tree_->SetAccessibilityPageInfo(
page_info, text_run_info, chars, page_objects.links, page_objects.images);
return PP_OK;
}
......
......@@ -120,8 +120,7 @@ class PepperPDFHost : public ppapi::host::ResourceHost,
const PP_PrivateAccessibilityPageInfo& page_info,
const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_runs,
const std::vector<PP_PrivateAccessibilityCharInfo>& chars,
const std::vector<ppapi::PdfAccessibilityLinkInfo>& links,
const std::vector<ppapi::PdfAccessibilityImageInfo>& images);
const ppapi::PdfAccessibilityPageObjects& page_objects);
int32_t OnHostMsgSelectionChanged(ppapi::host::HostMessageContext* context,
const PP_FloatPoint& left,
int32_t left_height,
......
......@@ -112,8 +112,7 @@ bool GetAccessibilityInfo(
PP_PrivateAccessibilityPageInfo* page_info,
std::vector<PP_PrivateAccessibilityTextRunInfo>* text_runs,
std::vector<PP_PrivateAccessibilityCharInfo>* chars,
std::vector<pp::PDF::PrivateAccessibilityLinkInfo>* links,
std::vector<pp::PDF::PrivateAccessibilityImageInfo>* images) {
pp::PDF::PrivateAccessibilityPageObjects* page_objects) {
int page_count = engine->GetNumberOfPages();
if (page_index < 0 || page_index >= page_count)
return false;
......@@ -187,11 +186,10 @@ bool GetAccessibilityInfo(
}
page_info->text_run_count = text_runs->size();
GetAccessibilityLinkInfo(engine, page_index, *text_runs, links);
page_info->link_count = links->size();
GetAccessibilityLinkInfo(engine, page_index, *text_runs,
&page_objects->links);
GetAccessibilityImageInfo(engine, page_index, page_info->text_run_count,
images);
page_info->image_count = images->size();
&page_objects->images);
return true;
}
......
......@@ -15,7 +15,7 @@ namespace chrome_pdf {
class PDFEngine;
// Retrieve |page_info|, |text_runs|, |chars|, |links| and |images| from
// Retrieve |page_info|, |text_runs|, |chars|, and |page_objects| from
// |engine| for the page at 0-indexed |page_index|. Returns true on success with
// all out parameters filled, or false on failure with all out parameters
// untouched.
......@@ -25,8 +25,7 @@ bool GetAccessibilityInfo(
PP_PrivateAccessibilityPageInfo* page_info,
std::vector<PP_PrivateAccessibilityTextRunInfo>* text_runs,
std::vector<PP_PrivateAccessibilityCharInfo>* chars,
std::vector<pp::PDF::PrivateAccessibilityLinkInfo>* links,
std::vector<pp::PDF::PrivateAccessibilityImageInfo>* images);
pp::PDF::PrivateAccessibilityPageObjects* page_objects);
} // namespace chrome_pdf
......
......@@ -972,15 +972,15 @@ void OutOfProcessInstance::SendNextAccessibilityPage(int32_t page_index) {
PP_PrivateAccessibilityPageInfo page_info;
std::vector<PP_PrivateAccessibilityTextRunInfo> text_runs;
std::vector<PP_PrivateAccessibilityCharInfo> chars;
std::vector<pp::PDF::PrivateAccessibilityLinkInfo> links;
std::vector<pp::PDF::PrivateAccessibilityImageInfo> images;
pp::PDF::PrivateAccessibilityPageObjects page_objects;
if (!GetAccessibilityInfo(engine_.get(), page_index, &page_info, &text_runs,
&chars, &links, &images)) {
&chars, &page_objects)) {
return;
}
pp::PDF::SetAccessibilityPageInfo(GetPluginInstance(), &page_info, text_runs,
chars, links, images);
chars, page_objects);
// Schedule loading the next page.
pp::CompletionCallback callback = callback_factory_.NewCallback(
......
......@@ -72,10 +72,9 @@ TEST_F(AccessibilityTest, GetAccessibilityPage) {
PP_PrivateAccessibilityPageInfo page_info;
std::vector<PP_PrivateAccessibilityTextRunInfo> text_runs;
std::vector<PP_PrivateAccessibilityCharInfo> chars;
std::vector<pp::PDF::PrivateAccessibilityLinkInfo> links;
std::vector<pp::PDF::PrivateAccessibilityImageInfo> images;
pp::PDF::PrivateAccessibilityPageObjects page_objects;
ASSERT_TRUE(GetAccessibilityInfo(engine.get(), 0, &page_info, &text_runs,
&chars, &links, &images));
&chars, &page_objects));
EXPECT_EQ(0u, page_info.page_index);
EXPECT_EQ(5, page_info.bounds.point.x);
EXPECT_EQ(3, page_info.bounds.point.y);
......@@ -83,10 +82,6 @@ TEST_F(AccessibilityTest, GetAccessibilityPage) {
EXPECT_EQ(266, page_info.bounds.size.height);
EXPECT_EQ(text_runs.size(), page_info.text_run_count);
EXPECT_EQ(chars.size(), page_info.char_count);
// TODO(crbug.com/981448): Test the contents of |links| and |images| when
// populated.
EXPECT_EQ(links.size(), page_info.link_count);
EXPECT_EQ(images.size(), page_info.image_count);
bool is_chromeos = IsRunningOnChromeOS();
......@@ -131,22 +126,20 @@ TEST_F(AccessibilityTest, GetAccessibilityImageInfo) {
PP_PrivateAccessibilityPageInfo page_info;
std::vector<PP_PrivateAccessibilityTextRunInfo> text_runs;
std::vector<PP_PrivateAccessibilityCharInfo> chars;
std::vector<pp::PDF::PrivateAccessibilityLinkInfo> links;
std::vector<pp::PDF::PrivateAccessibilityImageInfo> images;
pp::PDF::PrivateAccessibilityPageObjects page_objects;
ASSERT_TRUE(GetAccessibilityInfo(engine.get(), 0, &page_info, &text_runs,
&chars, &links, &images));
&chars, &page_objects));
EXPECT_EQ(0u, page_info.page_index);
CompareRect(kExpectedPageRect, page_info.bounds);
EXPECT_EQ(text_runs.size(), page_info.text_run_count);
EXPECT_EQ(chars.size(), page_info.char_count);
EXPECT_EQ(links.size(), page_info.link_count);
EXPECT_EQ(images.size(), page_info.image_count);
ASSERT_EQ(images.size(), base::size(kExpectedImageInfo));
for (size_t i = 0; i < page_info.image_count; ++i) {
EXPECT_EQ(images[i].alt_text, kExpectedImageInfo[i].alt_text);
CompareRect(kExpectedImageInfo[i].bounds, images[i].bounds);
EXPECT_EQ(images[i].text_run_index, kExpectedImageInfo[i].text_run_index);
ASSERT_EQ(page_objects.images.size(), base::size(kExpectedImageInfo));
for (size_t i = 0; i < page_objects.images.size(); ++i) {
EXPECT_EQ(page_objects.images[i].alt_text, kExpectedImageInfo[i].alt_text);
CompareRect(kExpectedImageInfo[i].bounds, page_objects.images[i].bounds);
EXPECT_EQ(page_objects.images[i].text_run_index,
kExpectedImageInfo[i].text_run_index);
}
}
......@@ -442,20 +435,18 @@ TEST_F(AccessibilityTest, GetAccessibilityLinkInfo) {
PP_PrivateAccessibilityPageInfo page_info;
std::vector<PP_PrivateAccessibilityTextRunInfo> text_runs;
std::vector<PP_PrivateAccessibilityCharInfo> chars;
std::vector<pp::PDF::PrivateAccessibilityLinkInfo> links;
std::vector<pp::PDF::PrivateAccessibilityImageInfo> images;
pp::PDF::PrivateAccessibilityPageObjects page_objects;
ASSERT_TRUE(GetAccessibilityInfo(engine.get(), 0, &page_info, &text_runs,
&chars, &links, &images));
&chars, &page_objects));
EXPECT_EQ(0u, page_info.page_index);
CompareRect(kExpectedPageRect, page_info.bounds);
EXPECT_EQ(text_runs.size(), page_info.text_run_count);
EXPECT_EQ(chars.size(), page_info.char_count);
EXPECT_EQ(links.size(), page_info.link_count);
EXPECT_EQ(images.size(), page_info.image_count);
ASSERT_EQ(links.size(), base::size(expected_link_info));
ASSERT_EQ(page_objects.links.size(), base::size(expected_link_info));
for (size_t i = 0; i < page_info.link_count; ++i) {
const pp::PDF::PrivateAccessibilityLinkInfo& link_info = links[i];
for (size_t i = 0; i < page_objects.links.size(); ++i) {
const pp::PDF::PrivateAccessibilityLinkInfo& link_info =
page_objects.links[i];
EXPECT_EQ(link_info.url, expected_link_info[i].url);
EXPECT_EQ(link_info.index_in_page, expected_link_info[i].index_in_page);
CompareRect(expected_link_info[i].bounds, link_info.bounds);
......
......@@ -80,8 +80,8 @@ struct PP_PrivateAccessibilityCharInfo {
};
// This holds the link information provided by the PDF and will be used in
// accessibility to provide the link information.
// Needs to stay in sync with C++ version.
// accessibility to provide the link information. Needs to stay in sync with
// C++ versions (PdfAccessibilityLinkInfo and PrivateAccessibilityLinkInfo).
struct PP_PrivateAccessibilityLinkInfo {
// URL of the link.
const char* url;
......@@ -102,8 +102,8 @@ struct PP_PrivateAccessibilityLinkInfo {
};
// This holds the image information provided by the PDF and will be used in
// accessibility to provide the image information.
// Needs to stay in sync with C++ version.
// accessibility to provide the image information. Needs to stay in sync with
// C++ versions (PdfAccessibilityImageInfo and PrivateAccessibilityImageInfo).
struct PP_PrivateAccessibilityImageInfo {
// Alternate text for the image provided by PDF.
const char* alt_text;
......@@ -116,6 +116,17 @@ struct PP_PrivateAccessibilityImageInfo {
struct PP_FloatRect bounds;
};
// Holds links and images within a PDF page so that IPC messages
// passing accessibility objects do not have too many parameters.
// Needs to stay in sync with C++ versions (PdfAccessibilityPageObjects and
// PrivateAccessibilityPageObjects).
struct PP_PrivateAccessibilityPageObjects {
struct PP_PrivateAccessibilityLinkInfo* links;
uint32_t link_count;
struct PP_PrivateAccessibilityImageInfo* images;
uint32_t image_count;
};
struct PPB_PDF {
// Returns a resource identifying a font file corresponding to the given font
// request after applying the browser-specific fallback.
......@@ -199,8 +210,7 @@ struct PPB_PDF {
const struct PP_PrivateAccessibilityPageInfo* page_info,
const struct PP_PrivateAccessibilityTextRunInfo text_runs[],
const struct PP_PrivateAccessibilityCharInfo chars[],
const struct PP_PrivateAccessibilityLinkInfo links[],
const struct PP_PrivateAccessibilityImageInfo images[]);
const struct PP_PrivateAccessibilityPageObjects* page_objects);
// Sends information about the PDF's URL and the embedder's URL.
void (*SetCrashData)(PP_Instance instance,
......
......@@ -226,20 +226,28 @@ void PDF::SetAccessibilityPageInfo(
const PP_PrivateAccessibilityPageInfo* page_info,
const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_runs,
const std::vector<PP_PrivateAccessibilityCharInfo>& chars,
const std::vector<PrivateAccessibilityLinkInfo>& links,
const std::vector<PrivateAccessibilityImageInfo>& images) {
const PrivateAccessibilityPageObjects& page_objects) {
if (has_interface<PPB_PDF>()) {
const std::vector<PrivateAccessibilityLinkInfo>& links = page_objects.links;
std::vector<PP_PrivateAccessibilityLinkInfo> link_info(links.size());
for (size_t i = 0; i < links.size(); ++i)
ConvertPrivateAccessibilityLinkInfo(links[i], &link_info[i]);
const std::vector<PrivateAccessibilityImageInfo>& images =
page_objects.images;
std::vector<PP_PrivateAccessibilityImageInfo> image_info(images.size());
for (size_t i = 0; i < images.size(); ++i)
ConvertPrivateAccessibilityImageInfo(images[i], &image_info[i]);
PP_PrivateAccessibilityPageObjects pp_page_objects;
pp_page_objects.links = link_info.data();
pp_page_objects.link_count = link_info.size();
pp_page_objects.images = image_info.data();
pp_page_objects.image_count = image_info.size();
get_interface<PPB_PDF>()->SetAccessibilityPageInfo(
instance.pp_instance(), page_info, text_runs.data(), chars.data(),
link_info.data(), image_info.data());
&pp_page_objects);
}
}
......
......@@ -40,6 +40,13 @@ class PDF {
FloatRect bounds;
};
// C++ version of PP_PrivateAccessibilityPageObjects.
// Needs to stay in sync with the C version.
struct PrivateAccessibilityPageObjects {
std::vector<PrivateAccessibilityLinkInfo> links;
std::vector<PrivateAccessibilityImageInfo> images;
};
// Returns true if the required interface is available.
static bool IsAvailable();
......@@ -95,8 +102,7 @@ class PDF {
const PP_PrivateAccessibilityPageInfo* page_info,
const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_runs,
const std::vector<PP_PrivateAccessibilityCharInfo>& chars,
const std::vector<PrivateAccessibilityLinkInfo>& links,
const std::vector<PrivateAccessibilityImageInfo>& images);
const PrivateAccessibilityPageObjects& page_objects);
static void SetCrashData(const InstanceHandle& instance,
const char* pdf_url,
const char* top_level_url);
......
......@@ -218,8 +218,7 @@ void PDFResource::SetAccessibilityPageInfo(
const PP_PrivateAccessibilityPageInfo* page_info,
const PP_PrivateAccessibilityTextRunInfo text_runs[],
const PP_PrivateAccessibilityCharInfo chars[],
const PP_PrivateAccessibilityLinkInfo links[],
const PP_PrivateAccessibilityImageInfo images[]) {
const PP_PrivateAccessibilityPageObjects* page_objects) {
std::vector<PP_PrivateAccessibilityTextRunInfo> text_run_vector(
text_runs, text_runs + page_info->text_run_count);
std::vector<PP_PrivateAccessibilityCharInfo> char_vector(
......@@ -228,18 +227,23 @@ void PDFResource::SetAccessibilityPageInfo(
// std::string. Convert information for links and images to meet these
// requirements.
std::vector<ppapi::PdfAccessibilityLinkInfo> link_vector;
link_vector.reserve(page_info->link_count);
for (size_t i = 0; i < page_info->link_count; i++) {
link_vector.emplace_back(links[i]);
link_vector.reserve(page_objects->link_count);
for (size_t i = 0; i < page_objects->link_count; i++) {
link_vector.emplace_back(page_objects->links[i]);
}
std::vector<ppapi::PdfAccessibilityImageInfo> image_vector;
image_vector.reserve(page_info->image_count);
for (size_t i = 0; i < page_info->image_count; i++) {
image_vector.emplace_back(images[i]);
image_vector.reserve(page_objects->image_count);
for (size_t i = 0; i < page_objects->image_count; i++) {
image_vector.emplace_back(page_objects->images[i]);
}
Post(RENDERER, PpapiHostMsg_PDF_SetAccessibilityPageInfo(
*page_info, text_run_vector, char_vector, link_vector,
image_vector));
ppapi::PdfAccessibilityPageObjects ppapi_page_objects;
ppapi_page_objects.links = std::move(link_vector);
ppapi_page_objects.images = std::move(image_vector);
Post(RENDERER,
PpapiHostMsg_PDF_SetAccessibilityPageInfo(
*page_info, text_run_vector, char_vector, ppapi_page_objects));
}
void PDFResource::SetCrashData(const char* pdf_url, const char* top_level_url) {
......
......@@ -66,8 +66,7 @@ class PPAPI_PROXY_EXPORT PDFResource
const PP_PrivateAccessibilityPageInfo* page_info,
const PP_PrivateAccessibilityTextRunInfo text_runs[],
const PP_PrivateAccessibilityCharInfo chars[],
const PP_PrivateAccessibilityLinkInfo links[],
const PP_PrivateAccessibilityImageInfo images[]) override;
const PP_PrivateAccessibilityPageObjects* page_objects) override;
void SetCrashData(const char* pdf_url, const char* top_level_url) override;
void SelectionChanged(const PP_FloatPoint& left,
int32_t left_height,
......
......@@ -287,8 +287,6 @@ IPC_STRUCT_TRAITS_BEGIN(PP_PrivateAccessibilityPageInfo)
IPC_STRUCT_TRAITS_MEMBER(bounds)
IPC_STRUCT_TRAITS_MEMBER(text_run_count)
IPC_STRUCT_TRAITS_MEMBER(char_count)
IPC_STRUCT_TRAITS_MEMBER(link_count)
IPC_STRUCT_TRAITS_MEMBER(image_count)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(ppapi::PdfAccessibilityLinkInfo)
......@@ -305,6 +303,11 @@ IPC_STRUCT_TRAITS_BEGIN(ppapi::PdfAccessibilityImageInfo)
IPC_STRUCT_TRAITS_MEMBER(bounds)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(ppapi::PdfAccessibilityPageObjects)
IPC_STRUCT_TRAITS_MEMBER(links)
IPC_STRUCT_TRAITS_MEMBER(images)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(PP_URLComponent_Dev)
IPC_STRUCT_TRAITS_MEMBER(begin)
IPC_STRUCT_TRAITS_MEMBER(len)
......@@ -2396,13 +2399,12 @@ IPC_MESSAGE_CONTROL1(
PP_PrivateAccessibilityDocInfo /* doc_info */)
// Send information about one page for accessibility support.
IPC_MESSAGE_CONTROL5(
IPC_MESSAGE_CONTROL4(
PpapiHostMsg_PDF_SetAccessibilityPageInfo,
PP_PrivateAccessibilityPageInfo /* page_info */,
std::vector<PP_PrivateAccessibilityTextRunInfo> /* text_runs */,
std::vector<PP_PrivateAccessibilityCharInfo> /* chars */,
std::vector<ppapi::PdfAccessibilityLinkInfo> /* links */,
std::vector<ppapi::PdfAccessibilityImageInfo> /* images */)
ppapi::PdfAccessibilityPageObjects /* page_objects */)
// Send information about the selection coordinates.
IPC_MESSAGE_CONTROL4(PpapiHostMsg_PDF_SelectionChanged,
......
......@@ -16,9 +16,6 @@ PdfAccessibilityLinkInfo::PdfAccessibilityLinkInfo(
text_run_count(link.text_run_count),
bounds(link.bounds) {}
PdfAccessibilityLinkInfo::PdfAccessibilityLinkInfo(
PdfAccessibilityLinkInfo&& other) = default;
PdfAccessibilityLinkInfo::~PdfAccessibilityLinkInfo() = default;
PdfAccessibilityImageInfo::PdfAccessibilityImageInfo() = default;
......@@ -29,9 +26,23 @@ PdfAccessibilityImageInfo::PdfAccessibilityImageInfo(
text_run_index(image.text_run_index),
bounds(image.bounds) {}
PdfAccessibilityImageInfo::PdfAccessibilityImageInfo(
PdfAccessibilityImageInfo&& other) = default;
PdfAccessibilityImageInfo::~PdfAccessibilityImageInfo() = default;
PdfAccessibilityPageObjects::PdfAccessibilityPageObjects() = default;
PdfAccessibilityPageObjects::PdfAccessibilityPageObjects(
const PP_PrivateAccessibilityPageObjects& page_objects) {
links.reserve(page_objects.link_count);
for (size_t i = 0; i < page_objects.link_count; i++) {
links.emplace_back(page_objects.links[i]);
}
images.reserve(page_objects.image_count);
for (size_t i = 0; i < page_objects.image_count; i++) {
images.emplace_back(page_objects.images[i]);
}
}
PdfAccessibilityPageObjects::~PdfAccessibilityPageObjects() = default;
} // namespace ppapi
......@@ -6,6 +6,7 @@
#define PPAPI_SHARED_IMPL_PDF_ACCESSIBILITY_SHARED_H_
#include <string>
#include <vector>
#include "ppapi/c/pp_rect.h"
#include "ppapi/c/private/ppb_pdf.h"
......@@ -18,7 +19,6 @@ struct PPAPI_SHARED_EXPORT PdfAccessibilityLinkInfo {
PdfAccessibilityLinkInfo();
explicit PdfAccessibilityLinkInfo(
const PP_PrivateAccessibilityLinkInfo& link);
PdfAccessibilityLinkInfo(PdfAccessibilityLinkInfo&& other);
~PdfAccessibilityLinkInfo();
std::string url;
......@@ -33,7 +33,6 @@ struct PPAPI_SHARED_EXPORT PdfAccessibilityImageInfo {
PdfAccessibilityImageInfo();
explicit PdfAccessibilityImageInfo(
const PP_PrivateAccessibilityImageInfo& image);
PdfAccessibilityImageInfo(PdfAccessibilityImageInfo&& other);
~PdfAccessibilityImageInfo();
std::string alt_text;
......@@ -41,6 +40,17 @@ struct PPAPI_SHARED_EXPORT PdfAccessibilityImageInfo {
PP_FloatRect bounds;
};
// Needs to stay in sync with PP_PrivateAccessibilityPageObjects.
struct PPAPI_SHARED_EXPORT PdfAccessibilityPageObjects {
PdfAccessibilityPageObjects();
explicit PdfAccessibilityPageObjects(
const PP_PrivateAccessibilityPageObjects& page_objects);
~PdfAccessibilityPageObjects();
std::vector<PdfAccessibilityLinkInfo> links;
std::vector<PdfAccessibilityImageInfo> images;
};
} // namespace ppapi
#endif // PPAPI_SHARED_IMPL_PDF_ACCESSIBILITY_SHARED_H_
......@@ -44,8 +44,7 @@ class PPB_PDF_API {
const PP_PrivateAccessibilityPageInfo* page_info,
const PP_PrivateAccessibilityTextRunInfo text_runs[],
const PP_PrivateAccessibilityCharInfo chars[],
const PP_PrivateAccessibilityLinkInfo links[],
const PP_PrivateAccessibilityImageInfo images[]) = 0;
const PP_PrivateAccessibilityPageObjects* page_objects) = 0;
virtual void SetCrashData(const char* pdf_url, const char* top_level_url) = 0;
virtual void SelectionChanged(const PP_FloatPoint& left,
int32_t left_height,
......
......@@ -175,13 +175,12 @@ void SetAccessibilityPageInfo(
const PP_PrivateAccessibilityPageInfo* page_info,
const PP_PrivateAccessibilityTextRunInfo text_runs[],
const PP_PrivateAccessibilityCharInfo chars[],
const PP_PrivateAccessibilityLinkInfo links[],
const PP_PrivateAccessibilityImageInfo images[]) {
const PP_PrivateAccessibilityPageObjects* page_objects) {
EnterInstanceAPI<PPB_PDF_API> enter(instance);
if (enter.failed())
return;
enter.functions()->SetAccessibilityPageInfo(page_info, text_runs, chars,
links, images);
page_objects);
}
void SetCrashData(PP_Instance instance,
......
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