IndexedDB: Make DOMException messages more useful.

IndexedDB throws a handful of DOMException types for a wide variety of
reasons; IDBObjectStore.put() has 6 cases that throw DataError.

Show web developers a little love by giving specific messages for
each error cases. In most cases the error text is inspired by the
IndexedDB specification itself.

BUG=95723

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154140 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Auto-rebaseline for 154132, 154124

http://src.chromium.org/viewvc/blink?view=revision&revision=154132
http://src.chromium.org/viewvc/blink?view=revision&revision=154124

TBR=fmalita@chromium.org,enne@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154141 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reset pageVisiblityState in TestRunner::reset.

fast/events/page-visibility-iframe-delete-test.html was not properly
reseting the page visibility at the end of the test. Which meant
that every subsequent test had throttled setTimeouts.

-Simplify the logic of the test. It had a bunch of unnecessary
bools and whatnot.
-Reset pageVisibilityState in TestRunner::reset and remove
the TestRunner API. There should never be a need for a test to
call this method as it's only meant to set the initial visibility.
-Make dispatching the visibilitychange event be the last thing that setVisibilityState does. Otherwise, we fire the event when we've changed the visibility, but before the timer throttling.
-Remove the resetPageVisibility calls from all the tests.

BUG=246107
R=adamk@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154142 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix miter limit default for 2d canvas.

Per http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas/, miter
limit should default to 10. CanvasRenderingContext2D::State uses this
default in its constructor; however, GraphicsContext's StrokeData,
which also stores miter limit, defaults to 4. This mismatch caused
several issues:
1) The default miter limit that Blink used for drawing in a 2d canvas
   was incorrect.
2) A 2d canvas context would report an incorrect miter limit.
3) Trying to force the miter limit to 10 by setting it would fail
   unless it was first set to another value.

BUG=225512

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154143 bbb929c8-8fbe-4397-9dbb-9b2b20218538