Main frame should remain scrollable if the fullscreen element is the document

In a previous CL we disabled main frame impl-side scrolling if there is a
fullscreen element because the fullscreen element can balloon up scroll events
to the (invisible) main frame layer and cause weird artifacts.

However if the element that enter fullscreen is the main frame document itself,
we should allow it remain scrollable.

BUG=376699

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

git-svn-id: svn://svn.chromium.org/blink/trunk@175089 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Store repaint rects in the coordinate space of their backing
GraphicsLayer.

In particular, do so for squashing layers. This allows us
to track repaints for squashed layers where the layer itself
does not change but the layer moves with respect to the
layer it squashes into.

BUG=370664

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

git-svn-id: svn://svn.chromium.org/blink/trunk@175090 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Handle allocation failure with PartitionAllocReturnNull.

if the browser is in OOM situation and PartitionAllocReturnNull is set,
it returns null instead of OOM crash.

BUG=374087

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

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