Revert regression in AudioBufferSourceNode.start() with no buffer

Fix regression introduced in
https://codereview.chromium.org/54173005. That CL prevented the user
from calling start() before setting a buffer source for the
AudioBufferSourceNode.  Previously, this was allowed and when the
buffer was set it would get played. This CL brings back that behavior.

The WebAudio spec is silent on this issue, but this was raised on the
W3C audio list
(http://lists.w3.org/Archives/Public/public-audio/2014JanMar/0059.html)
and there was no apparent opposition to keeping the old behavior.

This also allows http://chromium.googlecode.com/svn/trunk/samples/audio/wavetable-synth.html to work again since it calls start with null buffer which is set later.

BUG=334237

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168161 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Implement IDBVersionChangeEvent ctor w/ IDBVersionChangeEventInit dict

A rarely used part of the IndexedDB spec was overlooked - like most
other events, script can call the constructor with a dict to populate
the fields.

This required some finessing: the fields were stored as 'IDBAny'
but our automagical code gen wiring for EventInit prefers ScriptValue
or SerializedScriptValue. I went with the latter, and as an aside
eliminate a call to v8::Isolate::GetCurrent() by SSV - serializing
simple values such as null or numbers can be done with no isolate.

BUG=345881
R=dgrogan,haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168162 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Enable round-tripping and updating of SourceBuffer timestamp offset

This is the second part of a three-sided MediaSource 
Chromium/Blink+roll Blink/Chromium set of changes to enable 
JavaScript web apps to continue to round-trip 
SourceBuffer.timestampOffset set/get if SourceBuffer append 
operations do not update the timestamp offset, and to 
retrieve any updated timestamp offset as can occur during 
upcoming "sequence" append mode compliant coded frame 
processing. 

R=acolwell@chromium.org,jamesr@chromium.org
BUG=249422
TEST=No local linux regressions of http/tests/media/media-source/ layout tests

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

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