Adds ability to control whether View::Focus()/Blur() schedules paint

Currently Focus()/Blur() always schedules a paint. This is unnecessary
for many views (WebView never draws focus for example). This patch
adds the method NeedsSchedulePaintOnFocusBlur() that determines
whether SchedulePaint() should be invoked.

This also removes checking if focusable() or IsAccessibilityFocusable()
before painting focus border, HasFocus() should be enough.

BUG=313494
TEST=covered by test
R=ben@chromium.org, sadrul@chromium.org

Review URL: https://codereview.chromium.org/75413005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236386 0039d316-1c4b-4281-b951-d872f2087c98
Enable rect-based targeting in views by default

Enables rect-based targeting in views by default for
ChromeOS and Windows.

BUG=321327

Review URL: https://codereview.chromium.org/76063008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236387 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 236387