
Enables scrolling within the unseasoned PDF viewer's plugin frame, instead of within the extension frame. Notably, this fixes autoscroll behavior, since the plugin frame now handles its own scrolling. This required fixes for a number of would-be regressions: 1. Some keyboard shortcuts require suppressing the default scroll behavior using preventDefault(), in order to behave the same as the shipping Pepper version. Note that there are still some pre-existing regressions in the unseasoned PDF viewer; these will be fixed as part of crbug.com/1279550. 2. Tickmarks are set using WebLocalFrame::SetTickmarks() again, instead of with a Mojo IPC; this had been changed in crbug.com/1199999. 3. Scrolling uses WebLocalFrame::GetScrollOffset() again, instead of an "updateScroll" message; this had been changed in crbug.com/1101598 to support the sidenav panel. Fixed: 1271262 Change-Id: Ia98054a81766d5a0ce87820288dcc74f958d6b3c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3294022 Reviewed-by: Daniel Hosseinian <dhoss@chromium.org> Commit-Queue: K. Moon <kmoon@chromium.org> Cr-Commit-Position: refs/heads/main@{#951352}
//pdf
contains the PDF plugin, its Blink-based replacement, as well as PDF
utility functions that leverage PDFium. It can use low-level components that
live below the content layer, as well as other foundational code like
//printing
. It should not use //content
or anything in //components
that
lives above the content layer. Code that lives above the content layer should
live in //components/pdf
, or in the embedder. All the code here should run in
sandboxed child processes.
TODO(crbug.com/1220865): Remove existing //content
dependencies.