<?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>46963</bug_id>
          
          <creation_ts>2010-10-01 00:02:18 -0700</creation_ts>
          <short_desc>Add helper methods to cast between renderers &amp; SVGTextContent/PositioningElement</short_desc>
          <delta_ts>2010-10-01 00:37: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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>mdelaney7</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>288086</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-01 00:02:18 -0700</bug_when>
    <thetext>The new text layout engine needs a simple way to cast a inlineTextBox-&gt;renderer() to either SVGTextContentElement or SVGTextPositioningElement.
Add static helper methods doing that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288087</commentid>
    <comment_count>1</comment_count>
      <attachid>69428</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-01 00:04:11 -0700</bug_when>
    <thetext>Created attachment 69428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288089</commentid>
    <comment_count>2</comment_count>
      <attachid>69428</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-01 00:15:22 -0700</bug_when>
    <thetext>Comment on attachment 69428
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69428&amp;action=review

The patch itself looks good to me. r=me with the fixes.

&gt; WebCore/svg/SVGTextContentElement.cpp:219
&gt; +SVGTextContentElement* SVGTextContentElement::fromRenderer(RenderObject* renderer)

Another name for &apos;fromRenderer&apos; is maybe more self-explanatory. Niko suggested elementFromRenderer.

&gt; WebCore/svg/SVGTextContentElement.cpp:238
&gt; +    if (!node-&gt;hasTagName(SVGNames::textTag)
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::tspanTag)
&gt; +#if ENABLE(SVG_FONTS)
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::altGlyphTag)
&gt; +#endif
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::trefTag)
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::textPathTag))
&gt; +        return 0;

The indention is wrong.

&gt; WebCore/svg/SVGTextPositioningElement.cpp:164
&gt; +    if (!node-&gt;hasTagName(SVGNames::textTag)
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::tspanTag)
&gt; +#if ENABLE(SVG_FONTS)
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::altGlyphTag)
&gt; +#endif
&gt; +     &amp;&amp; !node-&gt;hasTagName(SVGNames::trefTag))
&gt; +        return 0;

wrong indention.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288093</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-01 00:37:21 -0700</bug_when>
    <thetext>Landed in r68867.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69428</attachid>
            <date>2010-10-01 00:04:11 -0700</date>
            <delta_ts>2010-10-01 00:15:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>SVGChanges.diff</filename>
            <type>text/plain</type>
            <size>4039</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODg2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTAtMTAtMDEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGhlbHBlciBtZXRob2RzIHRvIGNhc3QgYmV0d2VlbiByZW5kZXJlcnMgJiBTVkdU
ZXh0Q29udGVudC9Qb3NpdGlvbmluZ0VsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2OTYzCisKKyAgICAgICAgRG9lc24ndCBhZmZlY3QgYW55
IHRlc3RzLgorCisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmZyb21SZW5kZXJlcik6CisgICAg
ICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQ6OmZyb21SZW5kZXJlcik6CisgICAgICAgICogc3ZnL1NWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQuaDoKKwogMjAxMC0wOS0zMCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAkocmV2aXNpb24gNjg2NTApCisrKyBXZWJD
b3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2
ICsyNiw3IEBACiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1Zh
bHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVj
dC5oIgogI2luY2x1ZGUgIlNWR1RleHRRdWVyeS5oIgogI2luY2x1ZGUgIlNlbGVjdGlvbkNvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJYTUxOYW1lcy5oIgpAQCAtMjE1LDYgKzIxNiwzMCBAQCBib29s
IFNWR1RleHRDb250ZW50RWxlbWVudDo6c2VsZkhhc1JlbGF0CiAgICAgcmV0dXJuIHRleHRMZW5n
dGgoKS5pc1JlbGF0aXZlKCk7CiB9CiAKK1NWR1RleHRDb250ZW50RWxlbWVudCogU1ZHVGV4dENv
bnRlbnRFbGVtZW50Ojpmcm9tUmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAg
ICBpZiAoIXJlbmRlcmVyKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghcmVuZGVyZXIt
PmlzU1ZHVGV4dCgpICYmICFyZW5kZXJlci0+aXNTVkdJbmxpbmUoKSkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICBOb2RlKiBub2RlID0gcmVuZGVyZXItPm5vZGUoKTsKKyAgICBBU1NFUlQobm9k
ZSk7CisgICAgQVNTRVJUKG5vZGUtPmlzU1ZHRWxlbWVudCgpKTsKKworICAgIGlmICghbm9kZS0+
aGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFRhZykKKyAgICAgJiYgIW5vZGUtPmhhc1RhZ05hbWUo
U1ZHTmFtZXM6OnRzcGFuVGFnKQorI2lmIEVOQUJMRShTVkdfRk9OVFMpCisgICAgICYmICFub2Rl
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjphbHRHbHlwaFRhZykKKyNlbmRpZgorICAgICAmJiAhbm9k
ZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHJlZlRhZykKKyAgICAgJiYgIW5vZGUtPmhhc1RhZ05h
bWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8U1ZHVGV4dENvbnRlbnRFbGVtZW50Kj4obm9kZSk7Cit9CisKIH0KIAog
I2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQu
aAkocmV2aXNpb24gNjg2NTApCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAor
ICAgICAgICBzdGF0aWMgU1ZHVGV4dENvbnRlbnRFbGVtZW50KiBmcm9tUmVuZGVyZXIoUmVuZGVy
T2JqZWN0Kik7CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFNWR1RleHRDb250ZW50RWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIApJbmRleDogV2ViQ29yZS9zdmcv
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHAJKHJldmlzaW9uIDY4NjUwKQorKysgV2ViQ29y
ZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0
Myw2ICsxNDMsMzAgQEAgYm9vbCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50OjpzZWxmSGFzUgog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAorU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCogU1ZHVGV4
dFBvc2l0aW9uaW5nRWxlbWVudDo6ZnJvbVJlbmRlcmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIp
Cit7CisgICAgaWYgKCFyZW5kZXJlcikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoIXJl
bmRlcmVyLT5pc1NWR1RleHQoKSAmJiAhcmVuZGVyZXItPmlzU1ZHSW5saW5lKCkpCisgICAgICAg
IHJldHVybiAwOworCisgICAgTm9kZSogbm9kZSA9IHJlbmRlcmVyLT5ub2RlKCk7CisgICAgQVNT
RVJUKG5vZGUpOworICAgIEFTU0VSVChub2RlLT5pc1NWR0VsZW1lbnQoKSk7CisKKyAgICBpZiAo
IW5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRUYWcpCisgICAgICYmICFub2RlLT5oYXNU
YWdOYW1lKFNWR05hbWVzOjp0c3BhblRhZykKKyNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQorICAgICAm
JiAhbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6YWx0R2x5cGhUYWcpCisjZW5kaWYKKyAgICAg
JiYgIW5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcpKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIHJldHVybiBzdGF0aWNfY2FzdDxTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Kj4o
bm9kZSk7Cit9CisKKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgJKHJldmlzaW9uIDY4NjUwKQorKysgV2ViQ29y
ZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2
ICsyOSw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50IDogcHVibGljIFNWR1RleHRDb250ZW50RWxlbWVudCB7CisgICAgcHVibGlj
OgorICAgICAgICBzdGF0aWMgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCogZnJvbVJlbmRlcmVy
KFJlbmRlck9iamVjdCopOworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCg==
</data>
<flag name="review"
          id="59130"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>