| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/pdf/renderer/pepper_pdf_host.h" | 5 #include "components/pdf/renderer/pepper_pdf_host.h" |
| 6 | 6 |
| 7 #include "components/pdf/common/pdf_messages.h" | 7 #include "components/pdf/common/pdf_messages.h" |
| 8 #include "components/pdf/renderer/pdf_accessibility_tree.h" | 8 #include "components/pdf/renderer/pdf_accessibility_tree.h" |
| 9 #include "content/public/common/referrer.h" | 9 #include "content/public/common/referrer.h" |
| 10 #include "content/public/renderer/pepper_plugin_instance.h" | 10 #include "content/public/renderer/pepper_plugin_instance.h" |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 host_->GetPluginInstance(pp_instance()); | 190 host_->GetPluginInstance(pp_instance()); |
| 191 if (!instance) | 191 if (!instance) |
| 192 return PP_ERROR_FAILED; | 192 return PP_ERROR_FAILED; |
| 193 instance->SetLinkUnderCursor(url); | 193 instance->SetLinkUnderCursor(url); |
| 194 return PP_OK; | 194 return PP_OK; |
| 195 } | 195 } |
| 196 | 196 |
| 197 int32_t PepperPDFHost::OnHostMsgSetAccessibilityViewportInfo( | 197 int32_t PepperPDFHost::OnHostMsgSetAccessibilityViewportInfo( |
| 198 ppapi::host::HostMessageContext* context, | 198 ppapi::host::HostMessageContext* context, |
| 199 const PP_PrivateAccessibilityViewportInfo& viewport_info) { | 199 const PP_PrivateAccessibilityViewportInfo& viewport_info) { |
| 200 content::PepperPluginInstance* instance = | 200 if (!host_->GetPluginInstance(pp_instance())) |
| 201 host_->GetPluginInstance(pp_instance()); | |
| 202 if (!instance) | |
| 203 return PP_ERROR_FAILED; | 201 return PP_ERROR_FAILED; |
| 204 CreatePdfAccessibilityTreeIfNeeded(instance); | 202 CreatePdfAccessibilityTreeIfNeeded(); |
| 205 pdf_accessibility_tree_->SetAccessibilityViewportInfo(viewport_info); | 203 pdf_accessibility_tree_->SetAccessibilityViewportInfo(viewport_info); |
| 206 return PP_OK; | 204 return PP_OK; |
| 207 } | 205 } |
| 208 | 206 |
| 209 int32_t PepperPDFHost::OnHostMsgSetAccessibilityDocInfo( | 207 int32_t PepperPDFHost::OnHostMsgSetAccessibilityDocInfo( |
| 210 ppapi::host::HostMessageContext* context, | 208 ppapi::host::HostMessageContext* context, |
| 211 const PP_PrivateAccessibilityDocInfo& doc_info) { | 209 const PP_PrivateAccessibilityDocInfo& doc_info) { |
| 212 content::PepperPluginInstance* instance = | 210 if (!host_->GetPluginInstance(pp_instance())) |
| 213 host_->GetPluginInstance(pp_instance()); | |
| 214 if (!instance) | |
| 215 return PP_ERROR_FAILED; | 211 return PP_ERROR_FAILED; |
| 216 CreatePdfAccessibilityTreeIfNeeded(instance); | 212 CreatePdfAccessibilityTreeIfNeeded(); |
| 217 pdf_accessibility_tree_->SetAccessibilityDocInfo(doc_info); | 213 pdf_accessibility_tree_->SetAccessibilityDocInfo(doc_info); |
| 218 return PP_OK; | 214 return PP_OK; |
| 219 } | 215 } |
| 220 | 216 |
| 221 int32_t PepperPDFHost::OnHostMsgSetAccessibilityPageInfo( | 217 int32_t PepperPDFHost::OnHostMsgSetAccessibilityPageInfo( |
| 222 ppapi::host::HostMessageContext* context, | 218 ppapi::host::HostMessageContext* context, |
| 223 const PP_PrivateAccessibilityPageInfo& page_info, | 219 const PP_PrivateAccessibilityPageInfo& page_info, |
| 224 const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_run_info, | 220 const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_run_info, |
| 225 const std::vector<PP_PrivateAccessibilityCharInfo>& chars) { | 221 const std::vector<PP_PrivateAccessibilityCharInfo>& chars) { |
| 226 content::PepperPluginInstance* instance = | 222 if (!host_->GetPluginInstance(pp_instance())) |
| 227 host_->GetPluginInstance(pp_instance()); | |
| 228 if (!instance) | |
| 229 return PP_ERROR_FAILED; | 223 return PP_ERROR_FAILED; |
| 230 CreatePdfAccessibilityTreeIfNeeded(instance); | 224 CreatePdfAccessibilityTreeIfNeeded(); |
| 231 pdf_accessibility_tree_->SetAccessibilityPageInfo( | 225 pdf_accessibility_tree_->SetAccessibilityPageInfo( |
| 232 page_info, text_run_info, chars); | 226 page_info, text_run_info, chars); |
| 233 return PP_OK; | 227 return PP_OK; |
| 234 } | 228 } |
| 235 | 229 |
| 236 void PepperPDFHost::CreatePdfAccessibilityTreeIfNeeded( | 230 void PepperPDFHost::CreatePdfAccessibilityTreeIfNeeded() { |
| 237 content::PepperPluginInstance* instance) { | |
| 238 if (!pdf_accessibility_tree_) { | 231 if (!pdf_accessibility_tree_) { |
| 239 pdf_accessibility_tree_.reset( | 232 pdf_accessibility_tree_.reset(new PdfAccessibilityTree( |
| 240 new PdfAccessibilityTree(instance->GetRenderView())); | 233 host_, pp_instance())); |
| 241 } | 234 } |
| 242 } | 235 } |
| 243 | 236 |
| 244 } // namespace pdf | 237 } // namespace pdf |
| OLD | NEW |