Avoid double scrollbars when the HTML element is not the render view

The code in RenderLayerScrollableArea for updating after a style change
was slightly wrong. It attempted to avoid creating extra scrollbars for
the viewport but doesn't quite handle the html/body duality correctly.

The code is convoluted, but the scrollbars of the FrameView are
determined by the scrollbar modes (in addition to the document size,
obviously), and these modes are computed in
FrameView::calculateScrollbarModesForLayoutAndSetViewportRenderer
based on the "viewport defining element." The code in
RenderLayerScrollableArea was a crude approximation of viewport
defining element. I've changed the code to make this more explicit.

BUG=374156

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

git-svn-id: svn://svn.chromium.org/blink/trunk@180600 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: fix MSVC compilation after r180556.

Have the "same-size" class inherit from the same classes as CSSRule, so
as to have the MSVC-specific alignment constraints of the parent
ScriptWrappableBase class apply in equal measure.

TBR=oilpan-reviews@chromium.org,yukishiino@chromium.org
BUG=235436
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@180601 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use autofocus on the correct element

R=ojan@chromium.org
NOTRY=true
BUG=404387

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

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