Remove RenderLayer::scrollRectToVisible

This function was moved to RenderBox along other
scrolling functions. While moving the function,
split it into an helper in RenderLayerScrollableArea
to avoid making more funtions public. Also moved
getRectToExpose to ScrollAlignment.

BUG=260899

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160647 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Inflate the stroke bounding box of hairline paths

The rendered stroke path bounds for hairline paths will not be equal
to the actual stroke bounds due to aliasing done by Skia for
aesthetic reasons. This patch accounts for this overdraw by adding
an enum parameter to the stroke bounding box function in Path and
inflating the bounding box for stroked hairline paths.

This patch adds a new BoundsType enum for the two types of bounds:
  1) Analytical - for the actual path bounds in the abstract.
  2) Rendered - for the path bounds as they are rendered with aliasing.
At the moment stroke bounding boxes only use the Rendered parameter
but this will change when we implement the new stroke bounding box
api in SVG2.

BUG=309740

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160648 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[webcrypto] Make WebCryptoAlgorithm "nullable".

This makes it simpler on the embedder side to have helper functions which either create a WebCryptoAlgorithm or fail.

It is also used for passing an optional WebCryptoAlgorithm in the WebCrypto::importKey() interface.

BUG=245025

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160649 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move WebSourceInfo to platform/

BUG=297477

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

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