Bug 125843

Summary: Handle the onerror content attribute on body and frameset elements
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: DOMAssignee: Brandon <brandonstewart>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: ahmad.saleem792, ap, benjamin, bfulgham, brandonstewart, cdumez, jeffrey+webkit, kling, koivisto, rniwa
Priority: P2 Keywords: BlinkMergeCandidate
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Test Case from Chromium Patch none

Description Ryosuke Niwa 2013-12-17 00:03:22 PST
Consider merging https://chromium.googlesource.com/chromium/blink/+/3f0fc2dbb5fe67415078555b409a1223ad2d26bb

Firefox also passes the test. Presto fails on "Convert to function"
everywhere, and IE11 was not tested.

https://code.google.com/p/chromium/issues/detail?id=310630
Comment 1 Ahmad Saleem 2022-08-19 15:11:38 PDT
Created attachment 461741 [details]
Test Case from Chromium Patch

*** Safari 15.6.1 ***

PASS Set HTMLBodyElement.onblur 
FAIL Enumerate HTMLBodyElement.onblur assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onblur 
PASS Forward HTMLBodyElement.onblur to Window 
PASS Set HTMLFrameSetElement.onblur 
FAIL Enumerate HTMLFrameSetElement.onblur assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onblur 
PASS Forward HTMLFrameSetElement.onblur to Window 
PASS Set HTMLBodyElement.onerror 
FAIL Enumerate HTMLBodyElement.onerror assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onerror 
PASS Forward HTMLBodyElement.onerror to Window 
PASS Set HTMLFrameSetElement.onerror 
FAIL Enumerate HTMLFrameSetElement.onerror assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onerror 
PASS Forward HTMLFrameSetElement.onerror to Window 
PASS Set HTMLBodyElement.onfocus 
FAIL Enumerate HTMLBodyElement.onfocus assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onfocus 
PASS Forward HTMLBodyElement.onfocus to Window 
PASS Set HTMLFrameSetElement.onfocus 
FAIL Enumerate HTMLFrameSetElement.onfocus assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onfocus 
PASS Forward HTMLFrameSetElement.onfocus to Window 
PASS Set HTMLBodyElement.onload 
FAIL Enumerate HTMLBodyElement.onload assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onload 
PASS Forward HTMLBodyElement.onload to Window 
PASS Set HTMLFrameSetElement.onload 
FAIL Enumerate HTMLFrameSetElement.onload assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onload 
PASS Forward HTMLFrameSetElement.onload to Window 
PASS Set HTMLBodyElement.onscroll 
FAIL Enumerate HTMLBodyElement.onscroll assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onscroll 
PASS Forward HTMLBodyElement.onscroll to Window 
PASS Set HTMLFrameSetElement.onscroll 
FAIL Enumerate HTMLFrameSetElement.onscroll assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onscroll 
PASS Forward HTMLFrameSetElement.onscroll to Window 

*** Chrome Canary 106 ***

PASS Set HTMLBodyElement.onblur 
PASS Enumerate HTMLBodyElement.onblur 
PASS Reflect HTMLBodyElement.onblur 
PASS Forward HTMLBodyElement.onblur to Window 
PASS Set HTMLFrameSetElement.onblur 
PASS Enumerate HTMLFrameSetElement.onblur 
PASS Reflect HTMLFrameSetElement.onblur 
PASS Forward HTMLFrameSetElement.onblur to Window 
PASS Set HTMLBodyElement.onerror 
PASS Enumerate HTMLBodyElement.onerror 
PASS Reflect HTMLBodyElement.onerror 
PASS Forward HTMLBodyElement.onerror to Window 
PASS Set HTMLFrameSetElement.onerror 
PASS Enumerate HTMLFrameSetElement.onerror 
PASS Reflect HTMLFrameSetElement.onerror 
PASS Forward HTMLFrameSetElement.onerror to Window 
PASS Set HTMLBodyElement.onfocus 
PASS Enumerate HTMLBodyElement.onfocus 
PASS Reflect HTMLBodyElement.onfocus 
PASS Forward HTMLBodyElement.onfocus to Window 
PASS Set HTMLFrameSetElement.onfocus 
PASS Enumerate HTMLFrameSetElement.onfocus 
PASS Reflect HTMLFrameSetElement.onfocus 
PASS Forward HTMLFrameSetElement.onfocus to Window 
PASS Set HTMLBodyElement.onload 
PASS Enumerate HTMLBodyElement.onload 
PASS Reflect HTMLBodyElement.onload 
PASS Forward HTMLBodyElement.onload to Window 
PASS Set HTMLFrameSetElement.onload 
PASS Enumerate HTMLFrameSetElement.onload 
PASS Reflect HTMLFrameSetElement.onload 
PASS Forward HTMLFrameSetElement.onload to Window 
PASS Set HTMLBodyElement.onscroll 
PASS Enumerate HTMLBodyElement.onscroll 
PASS Reflect HTMLBodyElement.onscroll 
PASS Forward HTMLBodyElement.onscroll to Window 
PASS Set HTMLFrameSetElement.onscroll 
PASS Enumerate HTMLFrameSetElement.onscroll 
PASS Reflect HTMLFrameSetElement.onscroll 
PASS Forward HTMLFrameSetElement.onscroll to Window 

*** Firefox Nightly 105 ***


PASS Set HTMLBodyElement.onblur 
PASS Enumerate HTMLBodyElement.onblur 
PASS Reflect HTMLBodyElement.onblur 
PASS Forward HTMLBodyElement.onblur to Window 
PASS Set HTMLFrameSetElement.onblur 
PASS Enumerate HTMLFrameSetElement.onblur 
PASS Reflect HTMLFrameSetElement.onblur 
PASS Forward HTMLFrameSetElement.onblur to Window 
PASS Set HTMLBodyElement.onerror 
PASS Enumerate HTMLBodyElement.onerror 
PASS Reflect HTMLBodyElement.onerror 
PASS Forward HTMLBodyElement.onerror to Window 
PASS Set HTMLFrameSetElement.onerror 
PASS Enumerate HTMLFrameSetElement.onerror 
PASS Reflect HTMLFrameSetElement.onerror 
PASS Forward HTMLFrameSetElement.onerror to Window 
PASS Set HTMLBodyElement.onfocus 
PASS Enumerate HTMLBodyElement.onfocus 
PASS Reflect HTMLBodyElement.onfocus 
PASS Forward HTMLBodyElement.onfocus to Window 
PASS Set HTMLFrameSetElement.onfocus 
PASS Enumerate HTMLFrameSetElement.onfocus 
PASS Reflect HTMLFrameSetElement.onfocus 
PASS Forward HTMLFrameSetElement.onfocus to Window 
PASS Set HTMLBodyElement.onload 
PASS Enumerate HTMLBodyElement.onload 
PASS Reflect HTMLBodyElement.onload 
PASS Forward HTMLBodyElement.onload to Window 
PASS Set HTMLFrameSetElement.onload 
PASS Enumerate HTMLFrameSetElement.onload 
PASS Reflect HTMLFrameSetElement.onload 
PASS Forward HTMLFrameSetElement.onload to Window 
PASS Set HTMLBodyElement.onscroll 
PASS Enumerate HTMLBodyElement.onscroll 
PASS Reflect HTMLBodyElement.onscroll 
PASS Forward HTMLBodyElement.onscroll to Window 
PASS Set HTMLFrameSetElement.onscroll 
PASS Enumerate HTMLFrameSetElement.onscroll 
PASS Reflect HTMLFrameSetElement.onscroll 
PASS Forward HTMLFrameSetElement.onscroll to Window 

*** Safari Technology Preview 151 ***

PASS Set HTMLBodyElement.onblur 
FAIL Enumerate HTMLBodyElement.onblur assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onblur 
PASS Forward HTMLBodyElement.onblur to Window 
PASS Set HTMLFrameSetElement.onblur 
FAIL Enumerate HTMLFrameSetElement.onblur assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onblur 
PASS Forward HTMLFrameSetElement.onblur to Window 
PASS Set HTMLBodyElement.onerror 
FAIL Enumerate HTMLBodyElement.onerror assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onerror 
PASS Forward HTMLBodyElement.onerror to Window 
PASS Set HTMLFrameSetElement.onerror 
FAIL Enumerate HTMLFrameSetElement.onerror assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onerror 
PASS Forward HTMLFrameSetElement.onerror to Window 
PASS Set HTMLBodyElement.onfocus 
FAIL Enumerate HTMLBodyElement.onfocus assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onfocus 
PASS Forward HTMLBodyElement.onfocus to Window 
PASS Set HTMLFrameSetElement.onfocus 
FAIL Enumerate HTMLFrameSetElement.onfocus assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onfocus 
PASS Forward HTMLFrameSetElement.onfocus to Window 
PASS Set HTMLBodyElement.onload 
FAIL Enumerate HTMLBodyElement.onload assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onload 
PASS Forward HTMLBodyElement.onload to Window 
PASS Set HTMLFrameSetElement.onload 
FAIL Enumerate HTMLFrameSetElement.onload assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onload 
PASS Forward HTMLFrameSetElement.onload to Window 
PASS Set HTMLBodyElement.onscroll 
FAIL Enumerate HTMLBodyElement.onscroll assert_true: expected true got undefined
PASS Reflect HTMLBodyElement.onscroll 
PASS Forward HTMLBodyElement.onscroll to Window 
PASS Set HTMLFrameSetElement.onscroll 
FAIL Enumerate HTMLFrameSetElement.onscroll assert_true: expected true got undefined
PASS Reflect HTMLFrameSetElement.onscroll 
PASS Forward HTMLFrameSetElement.onscroll to Window 

___________

Just wanted to share updated test results. Thanks!
Comment 2 Brandon 2022-08-21 19:48:12 PDT
Pull request: https://github.com/WebKit/WebKit/pull/3433
Comment 3 Brandon 2022-08-21 19:55:48 PDT
Was running into some collisions with another pull request. Just posted my fix over here:

https://bugs.webkit.org/show_bug.cgi?id=244178
Comment 4 Alexey Proskuryakov 2022-08-26 18:37:03 PDT

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