BackingStoreMac scrolling update and DCHECKs.
BackingStoreMac scrolling update and DCHECKs.

Functional change: when a CGBitmapContext is in use instead of a CGLayer,
scroll.  CGLayerGetSize(NULL) was just returning (0.0, 0.0), which was causing
no scrolling.

Functional change: avoid entering the scroll blitter if:
(0 < abs(dx) < size_.width() and abs(dy) >= size_.height()) or
(0 < abs(dy) < size_.height() and abs(dx) >= size_.width())

Non-functional change: DCHECK in a few spots that exactly one of a CGLayer and
a CGBitmapContext is present.

BUG=26989
TEST=Things should paint when scrolling.
Review URL: http://codereview.chromium.org/376028

git-svn-id: de016e52bd170d2d4f2344f9bf92d50478b649e0@31493 0039d316-1c4b-4281-b951-d872f2087c98

Crystalnix/house-of-life-chromium,gavinp/chromium,adobe/chromium,ropik/chromium,gavinp/chromium,gavinp/chromium,yitian134/chromium,Crystalnix/house-of-life-chromium,Crystalnix/house-of-life-chromium,adobe/chromium,Crystalnix/house-of-life-chromium,adobe/chromium,ropik/chromium,adobe/chromium,Crystalnix/house-of-life-chromium,gavinp/chromium,adobe/chromium,yitian134/chromium,yitian134/chromium,Crystalnix/house-of-life-chromium,yitian134/chromium,gavinp/chromium,ropik/chromium,adobe/chromium,ropik/chromium,yitian134/chromium,gavinp/chromium,Crystalnix/house-of-life-chromium,Crystalnix/house-of-life-chromium,adobe/chromium,ropik/chromium,yitian134/chromium,adobe/chromium,adobe/chromium,yitian134/chromium,ropik/chromium,gavinp/chromium,ropik/chromium,adobe/chromium,yitian134/chromium,gavinp/chromium,yitian134/chromium,adobe/chromium,ropik/chromium,ropik/chromium,Crystalnix/house-of-life-chromium,Crystalnix/house-of-life-chromium,gavinp/chromium,gavinp/chromium,yitian134/chromium,Crystalnix/house-of-life-chromium