Index: pdf/out_of_process_instance.cc |
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc |
index f26f18b02abf5794142973705d43e0252b1db559..92511185c9715dd610adc6353cae440616666284 100644 |
--- a/pdf/out_of_process_instance.cc |
+++ b/pdf/out_of_process_instance.cc |
@@ -626,12 +626,7 @@ void OutOfProcessInstance::LoadAccessibility() { |
return; |
} |
- PP_PrivateAccessibilityViewportInfo viewport_info; |
- viewport_info.scroll.x = 0; |
- viewport_info.scroll.y = -top_toolbar_height_ * device_scale_; |
- viewport_info.offset = available_area_.point(); |
- viewport_info.zoom = zoom_ * device_scale_; |
- pp::PDF::SetAccessibilityViewportInfo(GetPluginInstance(), &viewport_info); |
+ SendAccessibilityViewportInfo(); |
// Schedule loading the first page. |
pp::CompletionCallback callback = timer_factory_.NewCallback( |
@@ -701,6 +696,15 @@ void OutOfProcessInstance::SendNextAccessibilityPage(int32_t page_index) { |
callback, page_index + 1); |
} |
+void OutOfProcessInstance::SendAccessibilityViewportInfo() { |
+ PP_PrivateAccessibilityViewportInfo viewport_info; |
+ viewport_info.scroll.x = 0; |
+ viewport_info.scroll.y = -top_toolbar_height_ * device_scale_; |
+ viewport_info.offset = available_area_.point(); |
+ viewport_info.zoom = zoom_ * device_scale_; |
+ pp::PDF::SetAccessibilityViewportInfo(GetPluginInstance(), &viewport_info); |
+} |
+ |
pp::Var OutOfProcessInstance::GetLinkAtPosition( |
const pp::Point& point) { |
pp::Point offset_point(point); |
@@ -1418,6 +1422,9 @@ void OutOfProcessInstance::OnGeometryChanged(double old_zoom, |
if (document_size_.IsEmpty()) |
return; |
paint_manager_.InvalidateRect(pp::Rect(pp::Point(), plugin_size_)); |
+ |
+ if (accessibility_state_ == ACCESSIBILITY_STATE_LOADED) |
+ SendAccessibilityViewportInfo(); |
} |
void OutOfProcessInstance::LoadUrl(const std::string& url) { |