Fix IValueProvider::IsReadOnly for non-editable controls

When AXPlatformNodeWin::get_IsReadOnly() was called on links and other
non-editable controls, it used to return false. It was only looking at
a readonly or disabled restriction, but some controls are expected to
be readonly even without this explicit restriction.

This CL updates the condition used to determine if the control is
readonly by looking at the state, the role and other attributes of the
node.

While I'm here, I also took the liberty to update the usage we made of
|ax::mojom::Restriction::kReadonly| in multiple places and replace it
by AXNodeData::IsReadonlyOrDisabled() which defines the returned value
based on many conditions.

To know if a node is readonly or disabled, we should now always refer
to AXNodeData::IsReadonlyOrDisabled() instead of only looking at the
restriction.

Bug: 928948
Change-Id: Ica3176643b129329d15d38c9698d65af69448d75
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960715
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Commit-Queue: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#730652}
9 files changed