| Index: pdf/pdfium/pdfium_page.cc
|
| diff --git a/pdf/pdfium/pdfium_page.cc b/pdf/pdfium/pdfium_page.cc
|
| index 7d85d36aa315e5447995c168c4e4a86caf7a9d5d..860767a5f422618efd66314ad8673e034f0b196c 100644
|
| --- a/pdf/pdfium/pdfium_page.cc
|
| +++ b/pdf/pdfium/pdfium_page.cc
|
| @@ -264,7 +264,7 @@ PDFiumPage::Area PDFiumPage::GetCharIndex(const pp::Point& point,
|
| DCHECK_NE(control_z_order, link_z_order);
|
| if (control_z_order > link_z_order) {
|
| *form_type = control;
|
| - return PDFiumPage::NONSELECTABLE_AREA;
|
| + return FormTypeToArea(*form_type);
|
| }
|
|
|
| // We don't handle all possible link types of the PDF. For example,
|
| @@ -283,7 +283,7 @@ PDFiumPage::Area PDFiumPage::GetCharIndex(const pp::Point& point,
|
| return area;
|
| } else if (control > FPDF_FORMFIELD_UNKNOWN) {
|
| *form_type = control;
|
| - return PDFiumPage::NONSELECTABLE_AREA;
|
| + return FormTypeToArea(*form_type);
|
| }
|
|
|
| if (rv < 0)
|
| @@ -292,6 +292,17 @@ PDFiumPage::Area PDFiumPage::GetCharIndex(const pp::Point& point,
|
| return GetLink(*char_index, target) != -1 ? WEBLINK_AREA : TEXT_AREA;
|
| }
|
|
|
| +// static
|
| +PDFiumPage::Area PDFiumPage::FormTypeToArea(int form_type) {
|
| + switch (form_type) {
|
| + case FPDF_FORMFIELD_COMBOBOX:
|
| + case FPDF_FORMFIELD_TEXTFIELD:
|
| + return PDFiumPage::FORM_TEXT_AREA;
|
| + default:
|
| + return PDFiumPage::NONSELECTABLE_AREA;
|
| + }
|
| +}
|
| +
|
| base::char16 PDFiumPage::GetCharAtIndex(int index) {
|
| if (!available_)
|
| return L'\0';
|
|
|