Reimplement HWNDMessageHandler WM_SETCURSOR handling to avoid artifacts, etc.

Reimplement the necessary default WM_SETCURSOR handling.
Calling DefWindowProc can trigger weird non-client painting.
ScopedRedrawLock may allow content behind the window to show through.
Invalidating to hide artifacts is inefficient and incomplete.

NOTE: I only covered the hit-test cases I've observed in use.

BUG=89820,97808,113127,178600,181282,195768
TEST=Windows cursors appear as expected; no missing cases.
R=sky@chromium.org,ben@chromium.org

Review URL: https://chromiumcodereview.appspot.com/12693016

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188817 0039d316-1c4b-4281-b951-d872f2087c98
1 file changed