<?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>216764</bug_id>
          
          <creation_ts>2020-09-21 02:25:24 -0700</creation_ts>
          <short_desc>[JSC] Proxy should be trapped if base value is primitive</short_desc>
          <delta_ts>2020-10-19 12:59:14 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1690263</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-21 02:25:24 -0700</bug_when>
    <thetext>[JSC] Proxy should be trapped if base value is primitive</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690265</commentid>
    <comment_count>1</comment_count>
      <attachid>409264</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-21 02:30:03 -0700</bug_when>
    <thetext>Created attachment 409264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690330</commentid>
    <comment_count>2</comment_count>
      <attachid>409264</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-21 09:49:39 -0700</bug_when>
    <thetext>Comment on attachment 409264
Patch

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

&gt; Source/JavaScriptCore/runtime/JSCJSValue.cpp:188
&gt; +                ProxyObject* proxy = jsCast&lt;ProxyObject*&gt;(obj);

auto to avoid repeating the same type name twice?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690360</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-21 11:28:14 -0700</bug_when>
    <thetext>Committed r267348: &lt;https://trac.webkit.org/changeset/267348&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690361</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-21 11:30:07 -0700</bug_when>
    <thetext>Landed with the proposed change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690427</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-21 12:22:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/69319577&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699388</commentid>
    <comment_count>6</comment_count>
      <attachid>409264</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-10-19 12:59:14 -0700</bug_when>
    <thetext>Comment on attachment 409264
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        So, if proxy exists in the prototype chain for the primitive values (e.g. StringPrototype -&gt; Proxy chain),

While this patch nicely handles ProxyObject, other objects that override put() need special care as well.
Please see https://bugs.webkit.org/show_bug.cgi?id=217916.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409264</attachid>
            <date>2020-09-21 02:30:03 -0700</date>
            <delta_ts>2020-09-21 09:49:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216764-20200921023002.patch</filename>
            <type>text/plain</type>
            <size>5636</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2FmMDRhZDM3ZWNlYWI4ZTNlNzY3MmEyOTJmZjdiMGE3M2I0NTJlLi5iNTk2YzVhMjQ1NmY2ZDMy
MjE5MmQ2ZDhkNzQ5YmJmOTI1YmU5NzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0wOS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFByb3h5IHNob3VsZCBiZSB0cmFwcGVkIGlmIGJhc2UgdmFsdWUg
aXMgcHJpbWl0aXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTY3NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXaGlsZSB3ZSBoYXZlIHNwZWNpYWwgY2FyZSBpbiBKU09iamVjdDo6cHV0SW5saW5lIGV0
Yy4sIHdlIG1pc3NlZCBpdCBpbiBKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZS4KKyAgICAgICAgU28s
IGlmIHByb3h5IGV4aXN0cyBpbiB0aGUgcHJvdG90eXBlIGNoYWluIGZvciB0aGUgcHJpbWl0aXZl
IHZhbHVlcyAoZS5nLiBTdHJpbmdQcm90b3R5cGUgLT4gUHJveHkgY2hhaW4pLAorICAgICAgICB3
ZSBtaXNzIHRoZSBQcm94eSB0cmFwLiBXZSBzaG91bGQgaGF2ZSBQcm94eU9iamVjdCBzcGVjaWFs
IGNoZWNrIGluIEpTVmFsdWU6OnB1dFRvUHJpbWl0aXZlIHRvby4KKworICAgICAgICAqIHJ1bnRp
bWUvSlNDSlNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkpTVmFsdWU6OnB1dFRvUHJpbWl0aXZl
KToKKwogMjAyMC0wOS0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIERyb3AgT3B0aW9uczo6dXNlQmlnSW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCmluZGV4IGUzMDVlMDE5OTFjMWVkMjI5OTgyN2I5
ZmIxN2VmYjcxYjcxNzA2ZjcuLmRmYWEyOThhMDMzNWMzMmZlNGZmN2Q3ZDRjNzk1YjBjYjFlNTVl
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCkBA
IC0xODQsNiArMTg0LDEwIEBAIGJvb2wgSlNWYWx1ZTo6cHV0VG9QcmltaXRpdmUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUHJvcGVydHlOYW1lIHByb3BlcnR5CiAgICAgICAgICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iai0+c3RydWN0dXJlKHZtKTsKICAgICAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmhhc1JlYWRPbmx5T3JHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzRXhjbHVkaW5n
UHJvdG8oKSB8fCBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkuaGFzUHV0UHJvcGVydHlTZWN1cml0eUNo
ZWNrKCkpCiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpZiAob2JqLT50eXBl
KCkgPT0gUHJveHlPYmplY3RUeXBlKSB7CisgICAgICAgICAgICAgICAgUHJveHlPYmplY3QqIHBy
b3h5ID0ganNDYXN0PFByb3h5T2JqZWN0Kj4ob2JqKTsKKyAgICAgICAgICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4oc2NvcGUsIHByb3h5LT5Qcm94eU9iamVjdDo6cHV0KHByb3h5LCBnbG9iYWxP
YmplY3QsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpKTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIHByb3RvdHlwZSA9IG9iai0+Z2V0UHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpOwog
ICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwogCkBAIC0yMTYs
NyArMjIwLDEwIEBAIGJvb2wgSlNWYWx1ZTo6cHV0VG9QcmltaXRpdmUoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgUHJvcGVydHlOYW1lIHByb3BlcnR5CiAgICAgICAgICAgICAvLyBwcm90
b3R5cGVzIGl0IHNob3VsZCBiZSByZXBsYWNlZCwgc28gYnJlYWsgaGVyZS4KICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9Ci0KKyAgICAgICAgaWYgKG9iai0+dHlwZSgpID09IFByb3h5T2Jq
ZWN0VHlwZSkgeworICAgICAgICAgICAgUHJveHlPYmplY3QqIHByb3h5ID0ganNDYXN0PFByb3h5
T2JqZWN0Kj4ob2JqKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgcHJv
eHktPlByb3h5T2JqZWN0OjpwdXQocHJveHksIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLCB2
YWx1ZSwgc2xvdCkpOworICAgICAgICB9CiAgICAgICAgIHByb3RvdHlwZSA9IG9iai0+Z2V0UHJv
dG90eXBlKHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBmYWxzZSk7CiAgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNkMDc2ZjJjYzYx
YTBmOGNhNjY0ODYwMzdlYTY1MDJmZTNlYjU4M2IuLmRiMzI0NjlmODgzZjlhMTIxNmYyNDQxMDIw
NTllODYzN2U4ODIzOTggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDktMjEgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBQcm94eSBzaG91bGQgYmUgdHJh
cHBlZCBpZiBiYXNlIHZhbHVlIGlzIHByaW1pdGl2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NzY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvcHJveHktdHJhcC1pbi1wcmltaXRpdmUu
anM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAqIHRlc3QyNjIvZXhwZWN0
YXRpb25zLnlhbWw6CisKIDIwMjAtMDktMjAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBUZXN0MjYyIHVwZGF0ZQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJl
c3MvcHJveHktdHJhcC1pbi1wcmltaXRpdmUuanMgYi9KU1Rlc3RzL3N0cmVzcy9wcm94eS10cmFw
LWluLXByaW1pdGl2ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWUyNTI4ZWFkODJiZmI0ZGVmODcxYTFkOWVl
MGI4MjE3NGQ4NDUwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvcHJveHktdHJh
cC1pbi1wcmltaXRpdmUuanMKQEAgLTAsMCArMSwzNyBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0
dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK3ZhciBudW1iZXJD
b3VudCA9IDA7Cit2YXIgc3RyaW5nQ291bnQgPSAwOwordmFyIGJvb2xlYW5Db3VudCA9IDA7Cit2
YXIgc3ltYm9sQ291bnQgPSAwOwordmFyIGJpZ0ludENvdW50ID0gMDsKK3ZhciBzcHk7CisKK3Nw
eSA9IG5ldyBQcm94eSh7fSwgeyBzZXQ6IGZ1bmN0aW9uKCkgeyBudW1iZXJDb3VudCArPSAxOyBy
ZXR1cm4gdHJ1ZTsgfSB9KTsKK09iamVjdC5zZXRQcm90b3R5cGVPZihOdW1iZXIucHJvdG90eXBl
LCBzcHkpOworMC4ucHJvcGVydHkgPSBudWxsOworc2hvdWxkQmUobnVtYmVyQ291bnQsIDEpOwor
CitzcHkgPSBuZXcgUHJveHkoe30sIHsgc2V0OiBmdW5jdGlvbigpIHsgc3RyaW5nQ291bnQgKz0g
MTsgcmV0dXJuIHRydWU7IH0gfSk7CitPYmplY3Quc2V0UHJvdG90eXBlT2YoU3RyaW5nLnByb3Rv
dHlwZSwgc3B5KTsKKyIiLnByb3BlcnR5ID0gbnVsbDsKK3Nob3VsZEJlKHN0cmluZ0NvdW50LCAx
KTsKKworc3B5ID0gbmV3IFByb3h5KHt9LCB7IHNldDogZnVuY3Rpb24oKSB7IGJvb2xlYW5Db3Vu
dCArPSAxOyByZXR1cm4gdHJ1ZTsgfSB9KTsKK09iamVjdC5zZXRQcm90b3R5cGVPZihCb29sZWFu
LnByb3RvdHlwZSwgc3B5KTsKK3RydWUucHJvcGVydHkgPSBudWxsOworc2hvdWxkQmUoYm9vbGVh
bkNvdW50LCAxKTsKKworc3B5ID0gbmV3IFByb3h5KHt9LCB7IHNldDogZnVuY3Rpb24oKSB7IHN5
bWJvbENvdW50ICs9IDE7IHJldHVybiB0cnVlOyB9IH0pOworT2JqZWN0LnNldFByb3RvdHlwZU9m
KFN5bWJvbC5wcm90b3R5cGUsIHNweSk7CitTeW1ib2woKS5wcm9wZXJ0eSA9IG51bGw7CitzaG91
bGRCZShzeW1ib2xDb3VudCwgMSk7CisKKworc3B5ID0gbmV3IFByb3h5KHt9LCB7IHNldDogZnVu
Y3Rpb24oKSB7IGJpZ0ludENvdW50ICs9IDE7IHJldHVybiB0cnVlOyB9IH0pOworT2JqZWN0LnNl
dFByb3RvdHlwZU9mKEJpZ0ludC5wcm90b3R5cGUsIHNweSk7CisoMW4pLnByb3BlcnR5ID0gbnVs
bDsKK3Nob3VsZEJlKGJpZ0ludENvdW50LCAxKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi9leHBlY3RhdGlvbnMueWFtbCBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbApp
bmRleCBiYzQ2Y2VjYTBjNjliY2ZjOWMwMTczY2RmNWQ1NGI2MWI0MzEyYzc0Li5iYjI2N2VlNmEy
ZjJkMWIxOGM0NDNkNWZkOTgzOTk5YmFjNWRiYTA0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvZXhwZWN0YXRpb25zLnlhbWwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55
YW1sCkBAIC0zNzM4LDkgKzM3MzgsMyBAQCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvdmFyaWFi
bGUvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzOgogdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL3ZhcmlhYmxlL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IFNhbWVWYWx1ZSjCqzPCuywgwqs0MsK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrM8K7LCDCqzQywrspIHRvIGJlIHRydWUn
Ci10ZXN0L2xhbmd1YWdlL3R5cGVzL3JlZmVyZW5jZS9wdXQtdmFsdWUtcHJvcC1iYXNlLXByaW1p
dGl2ZS1yZWFsbS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogbnVtYmVyIEV4cGVjdGVk
IFNhbWVWYWx1ZSjCqzDCuywgwqsxwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBudW1iZXIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrMMK7LCDCqzHCuykgdG8gYmUg
dHJ1ZScKLXRlc3QvbGFuZ3VhZ2UvdHlwZXMvcmVmZXJlbmNlL3B1dC12YWx1ZS1wcm9wLWJhc2Ut
cHJpbWl0aXZlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBudW1iZXIgRXhwZWN0ZWQg
U2FtZVZhbHVlKMKrMMK7LCDCqzHCuykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUeXBl
RXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVydHkuJwo=
</data>
<flag name="review"
          id="424885"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>