IndexedDB: Use enums in Blink API and IPC

Cursor direction and transaction mode were being passed from Blink
and across IPC as shorts, not enum values. Blink has updated, so
override the new methods and use the enums for IPC too.

R=dgrogan@chromium.org,tsepez@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249829 0039d316-1c4b-4281-b951-d872f2087c98
Invalid JSON output when BinaryValue type present as part of input object.

JSON doesn't have a syntax to support the base::BinaryValue type, so when these are present under a base::DictionarValue or base::ListValue, they must be suppressed.  However, in doing so, the current code doesn't properly suppress the commas between members as part of the overall suppression.

Furthermore, if suppression was not enabled by the caller, we need to report failure if a BinaryValue is encountered. 

BUG=340441
BUG=340733
R=thakis@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249830 0039d316-1c4b-4281-b951-d872f2087c98
Linux: Fix a NULL deref in printing code that is only reachable with messages from a bad renderer.

BUG=341777

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

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