<?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>74425</bug_id>
          
          <creation_ts>2011-12-13 11:12:22 -0800</creation_ts>
          <short_desc>Reduce code duplication in Element::setAttribute methods</short_desc>
          <delta_ts>2011-12-13 12:41:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>darin</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>520202</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-13 11:12:22 -0800</bug_when>
    <thetext>Reduce code duplication in Element::setAttribute methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520206</commentid>
    <comment_count>1</comment_count>
      <attachid>119046</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-13 11:15:18 -0800</bug_when>
    <thetext>Created attachment 119046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520211</commentid>
    <comment_count>2</comment_count>
      <attachid>119046</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-13 11:24:08 -0800</bug_when>
    <thetext>Comment on attachment 119046
Patch

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

&gt; Source/WebCore/dom/Element.cpp:-664
&gt; -    else if (old &amp;&amp; !value.isNull()) {

The other one doesn&apos;t check !value.isNull(). Why is that okay?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520224</commentid>
    <comment_count>3</comment_count>
      <attachid>119046</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-13 11:32:52 -0800</bug_when>
    <thetext>Comment on attachment 119046
Patch

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

&gt;&gt; Source/WebCore/dom/Element.cpp:-664
&gt;&gt; -    else if (old &amp;&amp; !value.isNull()) {
&gt; 
&gt; The other one doesn&apos;t check !value.isNull(). Why is that okay?

The first branch&apos;s test is &quot;old &amp;&amp; value.isNull()&quot;, so &quot;else if (old)&quot; is equivalent to &quot;else if (old &amp;&amp; !value.isNull())&quot;. The one un-handled case here is &quot;!old &amp;&amp; value.isNull()&quot;, which is a no-op.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520228</commentid>
    <comment_count>4</comment_count>
      <attachid>119046</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-13 11:35:55 -0800</bug_when>
    <thetext>Comment on attachment 119046
Patch

Thanks for the clarification. Makes sense to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520290</commentid>
    <comment_count>5</comment_count>
      <attachid>119046</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-13 12:41:07 -0800</bug_when>
    <thetext>Comment on attachment 119046
Patch

Clearing flags on attachment: 119046

Committed r102695: &lt;http://trac.webkit.org/changeset/102695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520291</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-13 12:41:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119046</attachid>
            <date>2011-12-13 11:15:18 -0800</date>
            <delta_ts>2011-12-13 12:41:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74425-20111213111517.patch</filename>
            <type>text/plain</type>
            <size>4655</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWQ0M2MyMWZjM2UyMjRk
NTg5ZjdiYjRkYWIzNjJmYTNmYzc1ZWJhNS4uZDFlNDFhYzEyNTA2ZGJiZTU1ZTc1MjBkY2EwNDUw
OWY3OWQxNWRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDExLTEyLTEzICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlZHVjZSBjb2RlIGR1cGxp
Y2F0aW9uIGluIEVsZW1lbnQ6OnNldEF0dHJpYnV0ZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFR3byBvdmVybG9hZHMgb2YgRWxlbWVudDo6
c2V0QXR0cmlidXRlIHNoYXJlIGFsbW9zdCBhbGwgdGhlaXIgY29kZSwKKyAgICAgICAgaW5jbHVk
aW5nIHRyaWNreSBsb2dpYyBhcm91bmQgdXBkYXRpbmcgdGhlIGFwcHJvcHJpYXRlIEF0dHJpYnV0
ZSBhbmQKKyAgICAgICAgQXR0ciBvYmplY3RzIGFuZCBub3RpZnlpbmcgdGhlIEluc3BlY3RvciBh
bmQgTXV0YXRpb25PYnNlcnZlcnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBwdXRzIHRoZSBjb21t
b24gbG9naWMgaW4gYSBuZXcgc2V0QXR0cmlidXRlSW50ZXJuYWwgbWV0aG9kCisgICAgICAgIHdo
aWNoIGlzIGNhbGxlZCBieSB0aGUgb3RoZXIgdHdvLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
cmVmYWN0b3Jpbmcgb25seS4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OnNldEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjpzZXRBdHRyaWJ1dGVJbnRlcm5hbCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKwog
MjAxMS0xMi0xMyAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+
CiAKICAgICAgICAgW1F0XSBHZXQgcmlkIG9mIGxheWVyaW5nIHZpb2xhdGlvbnMgaW4gaW5jbHVk
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBhZWE4NjkzN2YxNDExYjA3YTYyYjhmYjA5Yzc4
M2UwMmFhMGQ5Y2E0Li41ZGRmNTg5NzEwNDM5M2M4NTE1ZDI0ZjQ5OTRhNjc3ZWE0NzZiZWEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC02MzUsNDggKzYzNSwyMiBAQCB2b2lkIEVsZW1lbnQ6
OnNldEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmFsdWUsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotICAgIGlmICghaXNTeW5jaHJvbml6aW5nU3R5bGVBdHRyaWJ1dGUoKSkKLSAgICAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTW9kaWZ5RE9NQXR0cihkb2N1bWVudCgpLCB0aGlz
KTsKLSNlbmRpZgotCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUgPSBzaG91bGRJ
Z25vcmVBdHRyaWJ1dGVDYXNlKHRoaXMpID8gbmFtZS5sb3dlcigpIDogbmFtZTsKLSAgICBRdWFs
aWZpZWROYW1lIGF0dHJpYnV0ZU5hbWUobnVsbEF0b20sIGxvY2FsTmFtZSwgbnVsbEF0b20pOwot
ICAgIAorCiAgICAgLy8gQWxsb2NhdGUgYXR0cmlidXRlIG1hcCBpZiBuZWNlc3NhcnkuCiAgICAg
QXR0cmlidXRlKiBvbGQgPSBhdHRyaWJ1dGVzKGZhbHNlKS0+Z2V0QXR0cmlidXRlSXRlbShsb2Nh
bE5hbWUsIGZhbHNlKTsKLQotICAgIGRvY3VtZW50KCktPmluY0RPTVRyZWVWZXJzaW9uKCk7Ci0K
LSNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQotICAgIC8vIFRoZSBjYWxsIHRvIGF0dHJp
YnV0ZUNoYW5nZWQgYmVsb3cgbWF5IGRpc3BhdGNoIERPTVN1YnRyZWVNb2RpZmllZCwgc28gaXQn
cyBpbXBvcnRhbnQgdG8gZW5xdWV1ZSBhIE11dGF0aW9uUmVjb3JkIG5vdy4KLSAgICBpZiAoIWlz
U3luY2hyb25pemluZ1N0eWxlQXR0cmlidXRlKCkpCi0gICAgICAgIGVucXVldWVBdHRyaWJ1dGVz
TXV0YXRpb25SZWNvcmQodGhpcywgYXR0cmlidXRlTmFtZSwgb2xkID8gb2xkLT52YWx1ZSgpIDog
bnVsbEF0b20pOwotI2VuZGlmCi0KLSAgICBpZiAoaXNJZEF0dHJpYnV0ZU5hbWUob2xkID8gb2xk
LT5uYW1lKCkgOiBhdHRyaWJ1dGVOYW1lKSkKLSAgICAgICAgdXBkYXRlSWQob2xkID8gb2xkLT52
YWx1ZSgpIDogbnVsbEF0b20sIHZhbHVlKTsKLQotICAgIGlmIChvbGQgJiYgdmFsdWUuaXNOdWxs
KCkpCi0gICAgICAgIG1fYXR0cmlidXRlTWFwLT5yZW1vdmVBdHRyaWJ1dGUob2xkLT5uYW1lKCkp
OwotICAgIGVsc2UgaWYgKCFvbGQgJiYgIXZhbHVlLmlzTnVsbCgpKQotICAgICAgICBtX2F0dHJp
YnV0ZU1hcC0+YWRkQXR0cmlidXRlKGNyZWF0ZUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCB2YWx1
ZSkpOwotICAgIGVsc2UgaWYgKG9sZCAmJiAhdmFsdWUuaXNOdWxsKCkpIHsKLSAgICAgICAgaWYg
KEF0dHIqIGF0dHJOb2RlID0gb2xkLT5hdHRyKCkpCi0gICAgICAgICAgICBhdHRyTm9kZS0+c2V0
VmFsdWUodmFsdWUpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBvbGQtPnNldFZhbHVlKHZh
bHVlKTsKLSAgICAgICAgYXR0cmlidXRlQ2hhbmdlZChvbGQpOwotICAgIH0KLQotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0gICAgaWYgKCFpc1N5bmNocm9uaXppbmdTdHlsZUF0dHJpYnV0ZSgpKQot
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1vZGlmeURPTUF0dHIoZG9jdW1l
bnQoKSwgdGhpcywgbmFtZSwgdmFsdWUpOwotI2VuZGlmCisgICAgc2V0QXR0cmlidXRlSW50ZXJu
YWwob2xkLCBvbGQgPyBvbGQtPm5hbWUoKSA6IFF1YWxpZmllZE5hbWUobnVsbEF0b20sIGxvY2Fs
TmFtZSwgbnVsbEF0b20pLCB2YWx1ZSk7CiB9CiAKIHZvaWQgRWxlbWVudDo6c2V0QXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEV4
Y2VwdGlvbkNvZGUmKQogeworICAgIC8vIEFsbG9jYXRlIGF0dHJpYnV0ZSBtYXAgaWYgbmVjZXNz
YXJ5LgorICAgIEF0dHJpYnV0ZSogb2xkID0gYXR0cmlidXRlcyhmYWxzZSktPmdldEF0dHJpYnV0
ZUl0ZW0obmFtZSk7CisgICAgc2V0QXR0cmlidXRlSW50ZXJuYWwob2xkLCBuYW1lLCB2YWx1ZSk7
Cit9CisKK3ZvaWQgRWxlbWVudDo6c2V0QXR0cmlidXRlSW50ZXJuYWwoQXR0cmlidXRlKiBvbGQs
IGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7
CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoIWlzU3luY2hyb25pemluZ1N0eWxlQXR0
cmlidXRlKCkpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbE1vZGlmeURP
TUF0dHIoZG9jdW1lbnQoKSwgdGhpcyk7CkBAIC02ODQsOSArNjU4LDYgQEAgdm9pZCBFbGVtZW50
OjpzZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiB2YWx1ZSwKIAogICAgIGRvY3VtZW50KCktPmluY0RPTVRyZWVWZXJzaW9uKCk7CiAKLSAg
ICAvLyBBbGxvY2F0ZSBhdHRyaWJ1dGUgbWFwIGlmIG5lY2Vzc2FyeS4KLSAgICBBdHRyaWJ1dGUq
IG9sZCA9IGF0dHJpYnV0ZXMoZmFsc2UpLT5nZXRBdHRyaWJ1dGVJdGVtKG5hbWUpOwotCiAjaWYg
RU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKICAgICAvLyBUaGUgY2FsbCB0byBhdHRyaWJ1dGVD
aGFuZ2VkIGJlbG93IG1heSBkaXNwYXRjaCBET01TdWJ0cmVlTW9kaWZpZWQsIHNvIGl0J3MgaW1w
b3J0YW50IHRvIGVucXVldWUgYSBNdXRhdGlvblJlY29yZCBub3cuCiAgICAgaWYgKCFpc1N5bmNo
cm9uaXppbmdTdHlsZUF0dHJpYnV0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggYWY1ZmM1ZmMx
NmNiOGY1ZDhmYmMzY2QxZDExN2VkOTAwYjdjMWE2ZS4uN2E3Mjg2MzMxODExMzQxNDBhOTE5ZGQ1
NTJjNDZmOGU3NjhiNjg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0zOTUsNiArMzk1LDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIE5vZGVUeXBlIG5vZGVUeXBlKCkgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIGNoaWxkVHlwZUFsbG93ZWQoTm9kZVR5cGUpIGNvbnN0OwogCisgICAgdm9pZCBz
ZXRBdHRyaWJ1dGVJbnRlcm5hbChBdHRyaWJ1dGUqIG9sZCwgY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxBdHRy
aWJ1dGU+IGNyZWF0ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJiB2YWx1ZSk7CiAgICAgCiAjaWZuZGVmIE5ERUJVRwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>