tree 8a3524d24c0294768ace7dfcead6f4384ff61c44
parent 0040e54377bd03552388f89c67f08c9e68075e0a
author David Bokan <bokan@chromium.org> 1641998181 +0000
committer Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> 1641998181 +0000

Set rotation flag in WebPreferences constructor

The `main_frame_resizes_are_orientation_changes` setting is used in
Blink to perform certain rotation specific behaviors in the main frame.
This is enabled on devices that are typically hand-held like mobile and
tablets, but not on desktop where windows can be arbitrarily resized by
the user.

This setting was originally added in https://crrev.com/a41f8f60ba86a09
when experimenting with bringing mobile behaviors to desktop; this
made using a command-line switch convenient for testing. The value of
the preference was set based on the presence of the command-line switch
and Android Chrome simply always added this switch.

However, the switch is no longer needed and the more typical way to
initialize WebPreferences that differ between Android and desktop is to

This CL removes the switch and moves the Android/desktop initialization
into the constructor like most other preferences. This allows client
code to easily override the behavior when needed by changing the
WebPreference after building it (e.g. to disable the rotation behavior
in a fenced frame).

Bug: 1280071
Change-Id: I34c0e0f1ebabcb929d9596484c7fff30bd928507
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3371023
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#958066}
