Initial implementation of display list backed 2D canvases

This change adds a new type of ImageBufferSurface that is backed by
an SkPicture. Instead of rasterizing the canvas on the main thread,
the contents of the SkPicture are fed into the SkPicture of the
containing layer, thus allowing the content to be rasterized by the
compositor.

There are cases that break this rendering model, for example when
a readback is performed on the canvas (e.g. call to getImageData)
When that happens, the canvas backing falls back to being rasterized
on the main thread.

This feature is currently disabled by default and controlled through
web settings. A follow-up chromium patch will expose the feature as an
experiment that can be enable in chrome://flags or at the command line.

BUG=386601

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178585 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Prevent PageAllocator from fragmenting address space on small Windows systems.

Peform a runtime check in the 32-bit windows code only to see if the
address space is highly constrained by the OS. If so, we give up some
randomness in exchange for memory utilization efficiency.

BUG=394591

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178586 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move line layout BiDi support functions into separate file

Move support functions used to create BidRuns  for line layout, such as
constructBidiRunsForLine, from RenderBlockLineLayout to the new BidiRun
ForLine.[h|cpp] files.

R=dglazkov@chromium.org,pdr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178587 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix flakiness dashboard loading for builds with git hashes

This patch fixes flakiness dashboard loading for builds with git hashes.
These hashes are not supported but we shouldn't completely break the
dashboard if they occur. This patch causes us to throw a nice error
message to the console and continue if we do hit a git hash.

The htmlForSingleTestRow test has also been updated to add the class
"file-new-bug". This tested regressed in
https://src.chromium.org/viewvc/blink?view=rev&revision=178396

BUG=395484
NOTRY=true

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

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