Check for null-device when calling createCompatibleDevice
https://bugs.webkit.org/show_bug.cgi?id=107981

Reviewed by James Robinson.

No new tests. Current tests provided coverage. Site in the wild triggered the failure
(cairo failed to allocate a huge surface).

* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143784 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ScrollingStateTree::rootStateNode() should be null-checked since it can be null
https://bugs.webkit.org/show_bug.cgi?id=110631

Reviewed by Simon Fraser.

This is a speculative fix for <rdar://problem/13233090> and 
<rdar://problem/12519348>. It is totally possible for rootStateNode() to be null, 
so we should null-check it.

* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinatorMac::syncChildPositions):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Eliminate invalid clipping for content editable selections
https://bugs.webkit.org/show_bug.cgi?id=110630

Reviewed by Rob Buis.

PR 284629.

Remove selection clipping for content editable
fields as the bounds aren't valid and cause
clipping based on starting node rather than the
union of nodes.

Reviewed Internally by Nima Ghanavatian.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::updateFormState):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::clippingRectForVisibleContent):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Expose a list of all reasons that qualify a RenderLayer to be composited
https://bugs.webkit.org/show_bug.cgi?id=110505

Expose the various reasons that can qualify a RenderLayer to be composited
via a new bitmask returned by the reasonForCompositing() method on
RenderLayerCompositor. This method already existed and was used for logging
purposes, but the previous functionality is now accessed via the
logReasonForCompositing() method.

This will allow the the InspectorLayerTreeAgent to provide this information
to the front-end on a per-layer basis as requested by the front-end.

Reviewed by Simon Fraser.

No new tests.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore):
(WebCore::RenderLayerCompositor::logReasonsForCompositing):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143787 268f45cc-cd09-0410-ab3c-d52691b4dbfc