Do not pixel-snap horizontal positions in line layout

Change line layout to not pixel-snap horizontal positions and widths during
layout, sepcifically change RootInlineBox::paddedLayoutOverflowRect,
RenderBlockFlow::updateLogicalWidthForAlignment and
RenderBlockFlow::computeInlineDirectionPositionsForLine to use the precise
values instead of the pixel-snapped ones.

This allows precision to be maintained during overflow calculations and prevents
extra, undesierable, scrollbars from appearing. It also avoids unnecesarry int
to float/LayoutUnit conversions.

Sadly some pixel-snapping is still required to support multicolum as that code
is not compatible with subpixel layout. However, this fixes several issues with
intrinsic layout and overflow handling at non-100 percent zoom levels while
retaining the existing caveats for multicol.

R=leviw@chromium.org
BUG=323880
TEST=fast/css/zoomed-intrinsic-width.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162805 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add "change" and "removetrack" events to TextTrackList.

I think this is trivial because it just adds more events to a new incomplete interface.

W3C: http://www.w3.org/TR/html5/embedded-content-0.html#texttracklist
WHATWG: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist

This is implemented (just now, by me) in WebKit:

https://bugs.webkit.org/show_bug.cgi?id=124789

Firefox's bug tracker says they're planning to implement it:

https://bugzilla.mozilla.org/show_bug.cgi?id=882703

BUG=315834

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162807 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert r162578 - it was causing WebrtcBrowserTest.AddTwoMediaStreamsToOnePC to fail.

TBR=eseidel@chromium.org, abarth@chromium.org, tommyw@chromium.org
BUG=294145

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162808 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Unify error-handling in modules/filesystem and prepare for OwnPtr-based callbacks

The existing error-handling duplicated code in Entry.cpp and EntrySync.cpp (similarly
in other async/sync pairs) and depended upon the RefCounted nature of FileSystem callbacks.

This patch eliminates both the duplication and the refcount dependency by adding a
reportError virtual method to DOMFileSystemBase and uses that in DOMFileSystemBase method
to delegate error-handling to its subclasses.

Also removes the unused DOMFileSystemBase::create factory method.

R=kinuko@chromium.org
BUG=323681

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

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