WebAudio: Fix AudioBuffer.duration attribute type and return correct value

The WebAudio spec says the AudioBuffer duration is a double not a
float. (http://webaudio.github.io/web-audio-api/#idl-def-AudioBuffer)

Also, the code computed a float value and returned that as a double
(and converted that back to float because of the incorrect IDL
type). Fix that so we actually compute and return the correct double.

A new test added to audiobuffer.html to test that the correct duration
is returned. This change also caused the
audiobuffersource-loop-points.html test to return slightly different
results. The difference is less than 1 bit between the two versions.

BUG=355765

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170342 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Send AXLayoutComplete even when document hasn't finished loading yet (reland)

Because these notifications only got sent if the corresponding AXObject
already existed, they were effectively never sent before the first
load complete notification. This change creates the AXObject for the
document element after the first layout, allowing future notifications too.

BUG=353067

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=170085

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170343 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[DevTools] Fix inspector overlay page visual glitches.

Turned out that changing z-index on :active is not working properly.

BUG=357547,326416

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170344 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix for race condition in 2D canvas teardown

We currently sometimes have Canvas2DLayerBridge objects referenced by
the Canvas2DLayerManager even though they are slated for destruction.
There is a race condition with the rate limiting mechanism that can
cause limitPendingFrames() to be called on a defunct layer bridge,
which may or may not cause a crash.

This change fixes the bug by ensuring that all transient resources are
properly freed when a canvas layer has its destruction in progress.
The added ASSERTs serve as regression tests for this issue when running
layout tests with accelerated 2D canvases.

BUG=344666
TEST=virtual/gpu/fast/canvas Layout tests

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

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