Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Side by Side Diff: components/pdf/renderer/pepper_pdf_host.cc

Issue 2100753003: Enable PDF accessibility when RenderFrame's accessibility mode changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Work around cross-platform whitespace difference in print preview test Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
OLDNEW
« no previous file with comments | « components/pdf/renderer/pepper_pdf_host.h ('k') | content/public/renderer/pepper_plugin_instance.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698