[CSS Exclusions] shape-outside on floats fails to respect shape-margin's vertical extent
https://bugs.webkit.org/show_bug.cgi?id=113600

Reviewed by Dirk Schulze.

Source/WebCore:

ExclusionShapeInsideInfo classes need to depend on the ExclusionShape's padded boundary and
ExclusionShapeOutsideInfo classes should depend on the ExclusionShape's margin boundary. Added
a virtual method to the ExclusionShapeInfo that returns the ExclusionShape's logical bounding box -
computedShapeLogicalBoundingBox() - and overrode that method in the subclasses to return the
value of the appropriate ExclusionShape method. Added shapeMarginLogicalBoundingBox() and
shapePaddingLogicalBoundingBox() methods to ExclusionShape and removed the shapeLogicalBoundingBox()
method, which did not take shape-margin or shape-padding into account.

Test: fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html

* rendering/ExclusionPolygon.h: Defined the padding and margin bounding box virtual methods.
* rendering/ExclusionRectangle.h: Defined the padding and margin bounding box virtual methods.
* rendering/ExclusionShape.h: Added the padding and margin bounding box virtual abstract methods. Removed shapeLogicalBoundingBox().
(ExclusionShape):
* rendering/ExclusionShapeInfo.h:
(WebCore::ExclusionShapeInfo::shapeLogicalTop): Now calls computedShapeLogicalBoundingBox().
(WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
(WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
(WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
(WebCore::ExclusionShapeInfo::shapeLogicalWidth): Ditto.
(WebCore::ExclusionShapeInfo::shapeLogicalHeight): Ditto.
(ExclusionShapeInfo): Added computedShapeLogicalBoundingBox().
* rendering/ExclusionShapeInsideInfo.h:
(ExclusionShapeInsideInfo):
(WebCore::ExclusionShapeInsideInfo::computedShapeLogicalBoundingBox): Gets the padded shape's bounding box.
* rendering/ExclusionShapeOutsideInfo.h:
(ExclusionShapeOutsideInfo):
(WebCore::ExclusionShapeOutsideInfo::computedShapeLogicalBoundingBox): Gets the margin shape's bounding box.

LayoutTests:

Corrected the expected values in the ellipse-margin-left and ellipse-margin-right tests because the
shape-outside float layout code now (correctly) takes into account the shape's margin boundary.

* fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom-expected.html: Added.
* fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html: Added.
* fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-left-expected.txt:
* fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
* fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-right-expected.txt:
* fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] canvas is not rendering correctly for www.html5-benchmark.com
https://bugs.webkit.org/show_bug.cgi?id=113716

Patch by Konrad Piascik <kpiascik@blackberry.com> on 2013-04-01
Reviewed by Rob Buis.

PR 317205
Internally reivewed by: Mike Lattanzio, Jacky Jiang

This is a site issue where they detect physical pixels by multiplying
availWidth * devicePixelRatio.  This gives us an invalid result since
we don't round the CSS pixels that are reported to availWidth and availHeight.

* platform/blackberry/PlatformScreenBlackBerry.cpp:
(WebCore::toUserSpace):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Move Path into it's own header
https://bugs.webkit.org/show_bug.cgi?id=113724

Patch by Konrad Piascik <kpiascik@blackberry.com> on 2013-04-01
Reviewed by Rob Buis.

Source/WebCore:

No behavioural change.

* platform/graphics/blackberry/PathBlackBerry.cpp:

Source/WebKit/blackberry:

* WebKitSupport/DefaultTapHighlight.cpp:

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