0
Files
src/pdf
K. Moon 38c7115686 [unseasoned-pdf] Enable cross-frame scrolling
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}
2021-12-14 03:50:56 +00:00
..

//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.