Separate the scrolling code out of RenderLayer

RenderLayer was a ScrollableArea even though it couldn't scroll (e.g.
if it had overflow: visible). This change is the mechanical addition
of RenderLayerScrollableArea. For now, the new class is a shim that
forwards all calls to RenderLayer but more logic will be moved to
the class in follow-up patches.

The current logic checks the style for allocating the ScrollableArea,
which is the safest but could end up allocating more than needed
(e.g. for overflow: auto).

BUG=260899

Review URL: https://chromiumcodereview.appspot.com/19218007

git-svn-id: svn://svn.chromium.org/blink/trunk@154761 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IndexedDB: Release cursor backend when cursor is finished

Free up cursor resources ASAP, rather than waiting for GC to claim
the cursor object first. Also, move the IDBRequest->IDBCursor
link breaking to the most specific onSuccess() variant. Also,
inline the trivial IDBCursor accessors (not worth tracing).

R=alecflett@chromium.org,dgrogan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19693008

git-svn-id: svn://svn.chromium.org/blink/trunk@154762 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Suppress multiple 'beforeunload' dialogs after a user clicks through one.

Currently, pages can make it difficult for a user to leave by popping up
multiple 'beforeunload' confirmation dialogs in response to a navigation
event. This patch addresses that by accepting a user's "Leave this page"
selection, and suppressing any further dialogs.

This patch is extracted from Brady Eidson's larger attempt to limit this
kind of abuse in some ways that Chrome has already addressed (see
ChromeClientImpl::shouldRunModalDialogDuringPageDismissal). It differs
a bit in the details (naming, etc.), but the intent is alignment with
https://bugs.webkit.org/show_bug.cgi?id=118871.

BUG=244804
R=jochen@chromium.org,japhet@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19792003

git-svn-id: svn://svn.chromium.org/blink/trunk@154763 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: [CodeMirror] fix pretty-print behaviour

This patch fixes pretty print bug, which uses "AutoDetect" string
instead of indentation in case of auto-detect option switched on.

BUG=

Review URL: https://chromiumcodereview.appspot.com/19953003

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