<?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>98025</bug_id>
          
          <creation_ts>2012-10-01 06:28:43 -0700</creation_ts>
          <short_desc>[Microdata] itemprop names must not override builtin properties</short_desc>
          <delta_ts>2012-10-02 23:28:45 -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>DOM</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>
          
          <blocked>92986</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Arko Saha">arko</reporter>
          <assigned_to name="Arko Saha">arko</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>731642</commentid>
    <comment_count>0</comment_count>
    <who name="Arko Saha">arko</who>
    <bug_when>2012-10-01 06:28:43 -0700</bug_when>
    <thetext>HTMLPropertiesCollection[propertyName] must not return PropertyNodeList if &apos;propertyName&apos; is a method of HTMLPropertiesCollection interface.

Sample test:

test(function () {
	var testEl = makeEl(&apos;div&apos;,{itemscope:&apos;itemscope&apos;, id:&apos;outerDiv&apos;});
	var item = testEl.properties.item;
	testEl.innerHTML = &apos;&lt;div itemprop=&quot;item&quot; id=&quot;innerDiv&quot;&gt;&lt;/div&gt;&apos;;
	assert_equals( testEl.properties[&apos;item&apos;], item, &apos;item&apos; );
}, &apos;itemprop names must not override builtin properties&apos;);

Expected: testEl.properties[&apos;item&apos;] should not return PropertyNodeList (NodeList contains innerDiv) because &apos;item&apos; is a method of HTMLPropertiesCollection interface.

It should return -

function item() {
    [native code]
}

Actual: Returns &quot;[object PropertyNodeList]&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731647</commentid>
    <comment_count>1</comment_count>
      <attachid>166464</attachid>
    <who name="Arko Saha">arko</who>
    <bug_when>2012-10-01 06:36:43 -0700</bug_when>
    <thetext>Created attachment 166464
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731654</commentid>
    <comment_count>2</comment_count>
      <attachid>166464</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-01 06:47:23 -0700</bug_when>
    <thetext>Comment on attachment 166464
Patch

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

Looks good.

&gt; Source/WebCore/ChangeLog:10
&gt; +        We should look in the prototype for functions before assuming it as
&gt; +        an item&apos;s name. Return false if the prototype of the object has a
&gt; +        property (function) with propertyName.

Would you add a spec link to the ChangeLog? (I&apos;m sure this change would be correct, but I&apos;d like to verify it in the spec just in case.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731688</commentid>
    <comment_count>3</comment_count>
    <who name="Arko Saha">arko</who>
    <bug_when>2012-10-01 07:39:23 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Would you add a spec link to the ChangeLog? (I&apos;m sure this change would be correct, but I&apos;d like to verify it in the spec just in case.)

Named properties spec is defined http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties
According to named property visibility algorithm http://dev.w3.org/2006/webapi/WebIDL/#indexed-and-named-properties
...
7. If the result of calling the [[HasProperty]] internal method on prototype with property name P is true, then return false.
...

Also [OverrideBuiltins] is not declared for any of the properties, hence no overriding is allowed in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731700</commentid>
    <comment_count>4</comment_count>
      <attachid>166464</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-01 08:12:24 -0700</bug_when>
    <thetext>Comment on attachment 166464
Patch

Thanks for the clarification!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733389</commentid>
    <comment_count>5</comment_count>
    <who name="Arko Saha">arko</who>
    <bug_when>2012-10-02 23:28:45 -0700</bug_when>
    <thetext>Committed r130255: &lt;http://trac.webkit.org/changeset/130255&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166464</attachid>
            <date>2012-10-01 06:36:43 -0700</date>
            <delta_ts>2012-10-01 08:12:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98025-20121001190302.patch</filename>
            <type>text/plain</type>
            <size>5364</size>
            <attacher name="Arko Saha">arko</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDA0MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTEwLTAxICBBcmtvIFNh
aGEgIDxhcmtvQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBNaWNyb2RhdGE6IGl0ZW1wcm9wIG5h
bWVzIG11c3Qgbm90IG92ZXJyaWRlIGJ1aWx0aW4gcHJvcGVydGllcy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MDI1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugc2hvdWxkIGxvb2sgaW4gdGhlIHBy
b3RvdHlwZSBmb3IgZnVuY3Rpb25zIGJlZm9yZSBhc3N1bWluZyBpdCBhcworICAgICAgICBhbiBp
dGVtJ3MgbmFtZS4gUmV0dXJuIGZhbHNlIGlmIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBo
YXMgYQorICAgICAgICBwcm9wZXJ0eSAoZnVuY3Rpb24pIHdpdGggcHJvcGVydHlOYW1lLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtcHJvcC1uYW1lcy1vdmVycmlkZS1i
dWlsdGluLXByb3BlcnRpZXMuaHRtbAorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUdldE93blByb3BlcnR5U2xvdEJvZHkp
OgorICAgICAgICAoR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JCb2R5KToKKwogMjAx
Mi0xMC0wMSAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NT
IFJlZ2lvbnNdIFJlbW92ZSB0aGUgZGVwcmVjYXRlZCBBUEkgRG9jdW1lbnQud2Via2l0R2V0Rmxv
d0J5TmFtZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDEzMDA0MikKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0zOTEs
NyArMzkxLDcgQEAgc3ViIEdlbmVyYXRlR2V0T3duUHJvcGVydHlTbG90Qm9keQogCiAgICAgbXkg
QGdldE93blByb3BlcnR5U2xvdEltcGwgPSAoKTsKIAotICAgIGlmICgkaW50ZXJmYWNlTmFtZSBl
cSAiTmFtZWROb2RlTWFwIiBvciAkaW50ZXJmYWNlTmFtZSBlcSAiSFRNTENvbGxlY3Rpb24iIG9y
ICRpbnRlcmZhY2VOYW1lIGVxICJIVE1MQWxsQ29sbGVjdGlvbiIpIHsKKyAgICBpZiAoJGludGVy
ZmFjZU5hbWUgZXEgIk5hbWVkTm9kZU1hcCIgb3IgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxDb2xs
ZWN0aW9uIiBvciAkaW50ZXJmYWNlTmFtZSBlcSAiSFRNTEFsbENvbGxlY3Rpb24iIG9yICRpbnRl
cmZhY2VOYW1lIGVxICJIVE1MUHJvcGVydGllc0NvbGxlY3Rpb24iKSB7CiAgICAgICAgIHB1c2go
QGdldE93blByb3BlcnR5U2xvdEltcGwsICIgICAgJHtuYW1lc3BhY2VNYXliZX1KU1ZhbHVlIHBy
b3RvID0gdGhpc09iamVjdC0+cHJvdG90eXBlKCk7XG4iKTsKICAgICAgICAgcHVzaChAZ2V0T3du
UHJvcGVydHlTbG90SW1wbCwgIiAgICBpZiAocHJvdG8uaXNPYmplY3QoKSAmJiBqc0Nhc3Q8JHtu
YW1lc3BhY2VNYXliZX1KU09iamVjdCo+KGFzT2JqZWN0KHByb3RvKSktPmhhc1Byb3BlcnR5KGV4
ZWMsIHByb3BlcnR5TmFtZSkpXG4iKTsKICAgICAgICAgcHVzaChAZ2V0T3duUHJvcGVydHlTbG90
SW1wbCwgIiAgICAgICAgcmV0dXJuIGZhbHNlO1xuXG4iKTsKQEAgLTQ4Myw3ICs0ODMsNyBAQCBz
dWIgR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JCb2R5CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICByZXR1cm4gZmFsc2U7XG4iKTsKICAgICB9CiAgICAgCi0gICAg
aWYgKCRpbnRlcmZhY2VOYW1lIGVxICJOYW1lZE5vZGVNYXAiIG9yICRpbnRlcmZhY2VOYW1lIGVx
ICJIVE1MQ29sbGVjdGlvbiIgb3IgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxBbGxDb2xsZWN0aW9u
IikgeworICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiTmFtZWROb2RlTWFwIiBvciAkaW50ZXJm
YWNlTmFtZSBlcSAiSFRNTENvbGxlY3Rpb24iIG9yICRpbnRlcmZhY2VOYW1lIGVxICJIVE1MQWxs
Q29sbGVjdGlvbiIgb3IgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxQcm9wZXJ0aWVzQ29sbGVjdGlv
biIpIHsKICAgICAgICAgcHVzaChAZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ySW1wbCwgIiAgICAk
e25hbWVzcGFjZU1heWJlfUpTVmFsdWUgcHJvdG8gPSB0aGlzT2JqZWN0LT5wcm90b3R5cGUoKTtc
biIpOwogICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JJbXBsLCAiICAgIGlm
IChwcm90by5pc09iamVjdCgpICYmIGpzQ2FzdDwke25hbWVzcGFjZU1heWJlfUpTT2JqZWN0Kj4o
YXNPYmplY3QocHJvdG8pKS0+aGFzUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKSlcbiIpOwog
ICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JJbXBsLCAiICAgICAgICByZXR1
cm4gZmFsc2U7XG5cbiIpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTMwMDQyKQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTAtMDEg
IEFya28gU2FoYSAgPGFya29AbW90b3JvbGEuY29tPgorCisgICAgICAgIE1pY3JvZGF0YTogaXRl
bXByb3AgbmFtZXMgbXVzdCBub3Qgb3ZlcnJpZGUgYnVpbHRpbiBwcm9wZXJ0aWVzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgwMjUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IGNhc2Ug
dG8gdmVyaWZ5IHRoYXQgaXRlbXByb3AgbmFtZXMgbXVzdCBub3Qgb3ZlcnJpZGUgYnVpbHRpbiBw
cm9wZXJ0aWVzLgorCisgICAgICAgICogZmFzdC9kb20vTWljcm9EYXRhL2l0ZW1wcm9wLW5hbWVz
LW92ZXJyaWRlLWJ1aWx0aW4tcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtcHJvcC1uYW1lcy1vdmVycmlkZS1idWlsdGluLXBy
b3BlcnRpZXMuaHRtbDogQWRkZWQuCisKIDIwMTItMTAtMDEgIEFuZHJleSBLb3N5YWtvdiAgPGNh
c2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZyAtLSBjbGVh
biB1cCBleHBlY3RhdGlvbnMgZm9yIHBhc3NpbmcgdGVzdHMuCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9NaWNyb0RhdGEvaXRlbXByb3AtbmFtZXMtb3ZlcnJpZGUtYnVpbHRpbi1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNy
b0RhdGEvaXRlbXByb3AtbmFtZXMtb3ZlcnJpZGUtYnVpbHRpbi1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS9pdGVt
cHJvcC1uYW1lcy1vdmVycmlkZS1idWlsdGluLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACitUZXN0IHRvIHZlcmlmeSB0aGF0IGl0ZW1wcm9wIG5h
bWVzIG11c3Qgbm90IG92ZXJyaWRlIGJ1aWx0aW4gcHJvcGVydGllcy4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK0NyZWF0ZWQgZWxlbWVudCBvZiB0eXBlOiBkaXYKK1NldCBhdHRy
aWJ1dGU6IGl0ZW1zY29wZSwgdmFsdWU6IGl0ZW1zY29wZQorUEFTUyBlbGVtZW50LnByb3BlcnRp
ZXNbJ25hbWVkSXRlbSddIGlzIG5hbWVkSXRlbQorUEFTUyBlbGVtZW50LnByb3BlcnRpZXNbJ2l0
ZW0nXSBpcyBpdGVtCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhL2l0ZW1wcm9wLW5h
bWVzLW92ZXJyaWRlLWJ1aWx0aW4tcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS9pdGVtcHJvcC1uYW1lcy1vdmVycmlkZS1idWlsdGlu
LXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL01p
Y3JvRGF0YS9pdGVtcHJvcC1uYW1lcy1vdmVycmlkZS1idWlsdGluLXByb3BlcnRpZXMuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9taWNyb2RhdGEtY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRvIHZlcmlmeSB0aGF0IGl0ZW1wcm9w
IG5hbWVzIG11c3Qgbm90IG92ZXJyaWRlIGJ1aWx0aW4gcHJvcGVydGllcy4iKTsKKwordmFyIGVs
ZW1lbnQgPSBjcmVhdGVFbGVtZW50KCdkaXYnLCB7aXRlbXNjb3BlOiAnaXRlbXNjb3BlJ30pOwor
Cit2YXIgbmFtZWRJdGVtID0gZWxlbWVudC5wcm9wZXJ0aWVzLm5hbWVkSXRlbTsKK3ZhciBpdGVt
ID0gZWxlbWVudC5wcm9wZXJ0aWVzLml0ZW07CitlbGVtZW50LmlubmVySFRNTCA9ICc8ZGl2IGl0
ZW1wcm9wPSJuYW1lZEl0ZW0gaXRlbSI+PC9kaXY+JzsKKworc2hvdWxkQmUoImVsZW1lbnQucHJv
cGVydGllc1snbmFtZWRJdGVtJ10iLCAibmFtZWRJdGVtIik7CitzaG91bGRCZSgiZWxlbWVudC5w
cm9wZXJ0aWVzWydpdGVtJ10iLCAiaXRlbSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>
<flag name="review"
          id="178803"
          type_id="1"
          status="+"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>