Bug 135566 - EcmaScript internal method invariants violated in some cases
Summary: EcmaScript internal method invariants violated in some cases
Status: RESOLVED DUPLICATE of bug 218849
Alias: None
Product: WebKit
Classification: Unclassified
Component: Bindings (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-04 09:33 PDT by Boris Zbarsky
Modified: 2022-11-20 18:04 PST (History)
10 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Boris Zbarsky 2014-08-04 09:33:59 PDT
See the links in https://mail.mozilla.org/pipermail/es-discuss/2014-July/038524.html which show Safari violating ES internal method invariants.

I would appreciate responses to that thread with an indication of how you propose the invariant violation be resolved so I can spec it.
Comment 1 Ahmad Saleem 2022-08-06 14:49:57 PDT
From the attached URL, I took two test cases from Mozilla:

Test Case 1 - https://bug1043690.bmoattachments.org/attachment.cgi?id=8463423

Test Case 2 - https://bug1043690.bmoattachments.org/attachment.cgi?id=8463432

Output from all browsers:

*** Safari 15.6 on macOS 12.5 ***

<Test Case 1>

{"value":"[object HTMLInputElement]","writable":false,"enumerable":false,"configurable":true}
[object HTMLInputElement]
{"value":"http://www.mozilla.org","writable":false,"enumerable":false,"configurable":false}
http://www.mozilla.org

<Test Case 2>

undefined
undefined
{"value":"http://www.mozilla.org","writable":false,"enumerable":false,"configurable":false}
http://www.mozilla.org
{"value":"http://www.mozilla.org","writable":false,"enumerable":false,"configurable":false}
http://www.mozilla.org


*** Chrome Canary 106 ***

<Test Case 1>

{"value":"[object HTMLInputElement]","writable":false,"enumerable":false,"configurable":true}
[object HTMLInputElement]

<Test Case 2>

undefined
undefined
{"value":"http://www.mozilla.org","writable":false,"enumerable":false,"configurable":false}
http://www.mozilla.org
{"value":"[object HTMLInputElement]","writable":false,"enumerable":false,"configurable":true}
[object HTMLInputElement]

*** Firefox Nightly 105 ***

<Test Case 1>

{"value":"[object HTMLInputElement]","writable":false,"enumerable":false,"configurable":true}
[object HTMLInputElement]

<Test Case 2>

undefined
undefined
{"value":"http://www.mozilla.org","writable":false,"enumerable":false,"configurable":false}
http://www.mozilla.org
{"value":"http://www.mozilla.org","writable":false,"enumerable":false,"configurable":false}
http://www.mozilla.org

______________________

Just wanted to show latest results, as can be seen Safari 15.6 do differ on Test Case 1 from both browsers but match with Firefox Nightly 105 in Test Case 2.

Appreciate if someone can look into it and if Safari is still in violation and something needs to be fixed, they can comment accordingly. Thanks!
Comment 2 Alexey Shvayka 2022-11-20 18:04:46 PST
(In reply to Ahmad Saleem from comment #1)
> Just wanted to show latest results, as can be seen Safari 15.6 do differ on
> Test Case 1 from both browsers but match with Firefox Nightly 105 in Test
> Case 2.
> 
> Appreciate if someone can look into it and if Safari is still in violation
> and something needs to be fixed, they can comment accordingly. Thanks!

Thanks Ahmad, it's a known inconsistency around internal methods of legacy platform objects (namely [[DefineOwnProperty]] and <form> element are trickiest ones), which is being fixed in https://bugs.webkit.org/show_bug.cgi?id=218849.

*** This bug has been marked as a duplicate of bug 218849 ***