Title: [126693] trunk
Revision
126693
Author
[email protected]
Date
2012-08-25 18:16:46 -0700 (Sat, 25 Aug 2012)

Log Message

Roll out r126056 and r126626
https://bugs.webkit.org/show_bug.cgi?id=95017

Reviewed by Dirk Schulze.

Source/WebCore:

This patch rolls out r126056 which regressed a test.
The getBBox() code removed turns out to be required for tight bounding
boxes in SVGPathElement::getBBox().

When this regression occurred the relevant test was skipped in r126626. This
patch reverts that skip.

No new tests.

* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getBBox):
(WebCore):
* svg/SVGPathElement.h:
(SVGPathElement):

LayoutTests:

Removing skipped test.

* platform/mac/Skipped:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (126692 => 126693)


--- trunk/LayoutTests/ChangeLog	2012-08-25 23:58:48 UTC (rev 126692)
+++ trunk/LayoutTests/ChangeLog	2012-08-26 01:16:46 UTC (rev 126693)
@@ -1,3 +1,14 @@
+2012-08-25  Philip Rogers  <[email protected]>
+
+        Roll out r126056 and r126626
+        https://bugs.webkit.org/show_bug.cgi?id=95017
+
+        Reviewed by Dirk Schulze.
+
+        Removing skipped test.
+
+        * platform/mac/Skipped:
+
 2012-08-25  Mark Lam  <[email protected]>
 
         Skipping 4 compositing/overflow tests for gardening.

Modified: trunk/LayoutTests/platform/mac/Skipped (126692 => 126693)


--- trunk/LayoutTests/platform/mac/Skipped	2012-08-25 23:58:48 UTC (rev 126692)
+++ trunk/LayoutTests/platform/mac/Skipped	2012-08-26 01:16:46 UTC (rev 126693)
@@ -1005,11 +1005,6 @@
 svg/stroke/zero-length-path-linecap-rendering.svg
 svg/stroke/zero-length-subpaths-linecap-rendering.svg
 
-# Skipping due to regression caused by r126056 in
-#   https://bugs.webkit.org/show_bug.cgi?id=94419 Cleanup SVGLocatable inheritance
-# https://bugs.webkit.org/show_bug.cgi?id=94969
-svg/custom/getBBox-path.svg
-
 # https://bugs.webkit.org/show_bug.cgi?id=95009
 compositing/overflow/overflow-auto-with-touch.html
 compositing/overflow/overflow-overlay-with-touch.html

Modified: trunk/Source/WebCore/ChangeLog (126692 => 126693)


--- trunk/Source/WebCore/ChangeLog	2012-08-25 23:58:48 UTC (rev 126692)
+++ trunk/Source/WebCore/ChangeLog	2012-08-26 01:16:46 UTC (rev 126693)
@@ -1,3 +1,25 @@
+2012-08-25  Philip Rogers  <[email protected]>
+
+        Roll out r126056 and r126626
+        https://bugs.webkit.org/show_bug.cgi?id=95017
+
+        Reviewed by Dirk Schulze.
+
+        This patch rolls out r126056 which regressed a test.
+        The getBBox() code removed turns out to be required for tight bounding
+        boxes in SVGPathElement::getBBox().
+
+        When this regression occurred the relevant test was skipped in r126626. This
+        patch reverts that skip.
+
+        No new tests.
+
+        * svg/SVGPathElement.cpp:
+        (WebCore::SVGPathElement::getBBox):
+        (WebCore):
+        * svg/SVGPathElement.h:
+        (SVGPathElement):
+
 2012-08-25  Adam Barth  <[email protected]>
 
         [V8] V8NodeFilterCondition should use ScopedPersistent

Modified: trunk/Source/WebCore/svg/SVGPathElement.cpp (126692 => 126693)


--- trunk/Source/WebCore/svg/SVGPathElement.cpp	2012-08-25 23:58:48 UTC (rev 126692)
+++ trunk/Source/WebCore/svg/SVGPathElement.cpp	2012-08-26 01:16:46 UTC (rev 126693)
@@ -356,6 +356,20 @@
     RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);
 }
 
+FloatRect SVGPathElement::getBBox(StyleUpdateStrategy styleUpdateStrategy)
+{
+    if (styleUpdateStrategy == AllowStyleUpdate)
+        this->document()->updateLayoutIgnorePendingStylesheets();
+
+    RenderSVGPath* renderer = static_cast<RenderSVGPath*>(this->renderer());
+
+    // FIXME: Eventually we should support getBBox for detached elements.
+    if (!renderer)
+        return FloatRect();
+
+    return renderer->path().boundingRect();
+}
+
 RenderObject* SVGPathElement::createRenderer(RenderArena* arena, RenderStyle*)
 {
     // By default, any subclass is expected to do path-based drawing

Modified: trunk/Source/WebCore/svg/SVGPathElement.h (126692 => 126693)


--- trunk/Source/WebCore/svg/SVGPathElement.h	2012-08-25 23:58:48 UTC (rev 126692)
+++ trunk/Source/WebCore/svg/SVGPathElement.h	2012-08-26 01:16:46 UTC (rev 126693)
@@ -95,6 +95,8 @@
 
     void pathSegListChanged(SVGPathSegRole);
 
+    virtual FloatRect getBBox(StyleUpdateStrategy = AllowStyleUpdate);
+
     static const SVGPropertyInfo* dPropertyInfo();
 
     bool isAnimValObserved() const { return m_isAnimValObserved; }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to