Chrome prepares to let you take full page screenshots on Android 12
Google is adding a lot of highly requested features in Android 12, one of which is scrolling screenshots. First introduced in Android 12 Beta 3, the scrolling screenshots feature lets you capture full page screenshots, meaning you no longer have to manually capture and then stitch multiple screenshots together. Google’s approach to the feature differs from how most OEMs implemented it, and as a result, it doesn’t work in all applications right now. One of the most notable apps you can’t take a scrolling screenshot in is Google Chrome, but that’s set to change soon.
When Google designed the scrolling screenshots feature, they didn’t want to follow the same approach that many OEMs took. Most OEM implementations involve automatically scrolling down while capturing individual screenshots to combine once the end of the page is reached, but this can result in poorly stitched together images. Instead, Android 12’s version works directly on Views, the basic building block of user interface components in Android apps. This makes Android 12’s approach faster and more reliable but also less versatile. Google says that scrolling screenshots work out-of-the-box for most apps that use a standard View-based UI, but web pages aren’t contained within the kind of View that the feature was built for. For developers whose apps don’t use a View-based UI or instead use a heavily customized UI, Google recommends implementing Android 12’s new ScrollCapture API to give the scroll capture system information on the view to be captured.
That’s exactly how the developers of Chrome are planning to add support for capturing full page screenshots on Android 12. In a commit submitted to the Chromium Gerrit, Chrome engineers prepare to add support for Android 12’s ScrollCapture API.
The code implements the ScrollCaptureManager class to provide rendered snapshots of the active tab to be used for a long screenshot. Chrome provides tab snapshots using Paint Previews, which are essentially snapshots that represent the visual content of a webpage. Paint Previews are the key to Chrome’s freeze dried tabs feature, which shows an interactive preview of a tab while the actual tab loads in the background.
You won’t be able to take full page screenshots of every webpage, however. The feature apparently doesn’t work for AMP right now, and the developers also believe it doesn’t work on pages with multiple scrollable regions. However, it’s possible these issues will be resolved before the feature goes live in Google Chrome.
Once the commit is merged, scroll capture support will be locked behind the “scroll-capture” feature flag. Even then, the feature will initially only be available to users running a Canary build. It’ll then take about 4 weeks for the feature flag to become available to users in the stable channel and possibly even longer for the flag to be enabled by default. Google previously said that they were working on making their scrolling screenshots implementation work in WebViews, and that might require an even longer wait since the Android System WebView app is updated independently of Chrome.
Another Android 12 feature that Google Chrome is adding support for is dynamic theming. That feature is currently functional but hidden behind a feature flag, so we won’t have to wait as long for it to become available.