<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>46485</bug_id>
          
          <creation_ts>2010-09-24 10:52:18 -0700</creation_ts>
          <short_desc>Generalize from RenderBox to RenderBoxModelObject for getTransformFromContainer</short_desc>
          <delta_ts>2010-09-24 11:22:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Abhishek Arya">inferno</reporter>
          <assigned_to name="Abhishek Arya">inferno</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>284534</commentid>
    <comment_count>0</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2010-09-24 10:52:18 -0700</bug_when>
    <thetext>Fixing as per Simon&apos;s comments:
   Comment #5 From  Simon Fraser (smfr)   2010-09-24 10:38:50 PST  (-) [reply]

I think a better fix would be:


diff --git a/WebCore/rendering/RenderObject.cpp b/WebCore/rendering/RenderObject.cpp
index 39ee309..346cd8b 100644
--- a/WebCore/rendering/RenderObject.cpp
+++ b/WebCore/rendering/RenderObject.cpp
@@ -1988,10 +1988,10 @@ void RenderObject::getTransformFromContainer(const RenderObject* containerObject
         transform.multLeft(layer-&gt;currentTransform());

 #if ENABLE(3D_RENDERING)
-    if (containerObject &amp;&amp; containerObject-&gt;isBox() &amp;&amp; containerObject-&gt;hasLayer() &amp;&amp; containerObject-&gt;style()-&gt;hasPerspective()) {
+    if (containerObject &amp;&amp; containerObject-&gt;hasLayer() &amp;&amp; containerObject-&gt;style()-&gt;hasPerspective()) {
         // Perpsective on the container affects us, so we have to factor it in here.
         ASSERT(containerObject-&gt;hasLayer());
-        FloatPoint perspectiveOrigin = toRenderBox(containerObject)-&gt;layer()-&gt;perspectiveOrigin();
+        FloatPoint perspectiveOrigin = toRenderBoxModelObject(containerObject)-&gt;layer()-&gt;perspectiveOrigin();

         TransformationMatrix perspectiveMatrix;
         perspectiveMatrix.applyPerspective(containerObject-&gt;style()-&gt;perspective());


Nowhere do we state that something has to be a box to have perspective.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284536</commentid>
    <comment_count>1</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2010-09-24 10:52:49 -0700</bug_when>
    <thetext>This fix is so as to comply with the spec, although the current code does not work on things other than RenderBox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284553</commentid>
    <comment_count>2</comment_count>
      <attachid>68716</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2010-09-24 11:14:39 -0700</bug_when>
    <thetext>Created attachment 68716
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284561</commentid>
    <comment_count>3</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2010-09-24 11:22:21 -0700</bug_when>
    <thetext>Committed r68278: &lt;http://trac.webkit.org/changeset/68278&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68716</attachid>
            <date>2010-09-24 11:14:39 -0700</date>
            <delta_ts>2010-09-24 11:18:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46485-20100924111438.patch</filename>
            <type>text/plain</type>
            <size>1741</size>
            <attacher name="Abhishek Arya">inferno</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODI3MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDktMjQgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDb21wbHkgd2l0aCBzcGVjIGJ5IGdlbmVyYWxpemluZyBjb250YWluZXIgb24gd2hpY2ggdHJh
bnNmb3JtcyBjYW4gYmUgYXBwbGllZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ2NDg1CisKKyAgICAgICAgQWxyZWFkeSBjb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmdldFRyYW5zZm9ybUZyb21Db250YWluZXIpOgor
CiAyMDEwLTA5LTI0ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CShyZXZpc2lvbiA2ODE1OCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE5ODgsMTAgKzE5ODgsMTAgQEAgdm9pZCBSZW5kZXJPYmplY3Q6
OmdldFRyYW5zZm9ybUZyb21Db250YQogICAgICAgICB0cmFuc2Zvcm0ubXVsdExlZnQobGF5ZXIt
PmN1cnJlbnRUcmFuc2Zvcm0oKSk7CiAgICAgCiAjaWYgRU5BQkxFKDNEX1JFTkRFUklORykKLSAg
ICBpZiAoY29udGFpbmVyT2JqZWN0ICYmIGNvbnRhaW5lck9iamVjdC0+aXNCb3goKSAmJiBjb250
YWluZXJPYmplY3QtPmhhc0xheWVyKCkgJiYgY29udGFpbmVyT2JqZWN0LT5zdHlsZSgpLT5oYXNQ
ZXJzcGVjdGl2ZSgpKSB7CisgICAgaWYgKGNvbnRhaW5lck9iamVjdCAmJiBjb250YWluZXJPYmpl
Y3QtPmhhc0xheWVyKCkgJiYgY29udGFpbmVyT2JqZWN0LT5zdHlsZSgpLT5oYXNQZXJzcGVjdGl2
ZSgpKSB7CiAgICAgICAgIC8vIFBlcnBzZWN0aXZlIG9uIHRoZSBjb250YWluZXIgYWZmZWN0cyB1
cywgc28gd2UgaGF2ZSB0byBmYWN0b3IgaXQgaW4gaGVyZS4KICAgICAgICAgQVNTRVJUKGNvbnRh
aW5lck9iamVjdC0+aGFzTGF5ZXIoKSk7Ci0gICAgICAgIEZsb2F0UG9pbnQgcGVyc3BlY3RpdmVP
cmlnaW4gPSB0b1JlbmRlckJveChjb250YWluZXJPYmplY3QpLT5sYXllcigpLT5wZXJzcGVjdGl2
ZU9yaWdpbigpOworICAgICAgICBGbG9hdFBvaW50IHBlcnNwZWN0aXZlT3JpZ2luID0gdG9SZW5k
ZXJCb3hNb2RlbE9iamVjdChjb250YWluZXJPYmplY3QpLT5sYXllcigpLT5wZXJzcGVjdGl2ZU9y
aWdpbigpOwogCiAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHBlcnNwZWN0aXZlTWF0cml4
OwogICAgICAgICBwZXJzcGVjdGl2ZU1hdHJpeC5hcHBseVBlcnNwZWN0aXZlKGNvbnRhaW5lck9i
amVjdC0+c3R5bGUoKS0+cGVyc3BlY3RpdmUoKSk7Cg==
</data>
<flag name="review"
          id="58274"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>