When the plugin sends a message to the renderer, bounds checking is
performed on all IPC enum traits. Messages containing bad data are
dropped.
Consequently, text runs containing no text need to have their style
initialized to an unknown mode instead of leaving the field
uninitialized. The uninitialized field was trying to pass garbage values
through IPC, causing the entire message to be dropped.
This issue was discovered after crrev.com/830918 was reverted, because
the change depended on accessibility info to be sent sequentially for
every page. A single dropped message would prevent the accessibility
tree from ever finishing.
Bug: 1150665
Change-Id: I0857b79da817e01a9c570d5a9172086ad9f39d67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2567353
Reviewed-by: Ankit Kumar 🌪️ <ankk@microsoft.com>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Daniel Hosseinian <dhoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833065}