No subject
Tue May 3 15:05:30 PDT 2016
--
You are receiving this mail because:
You are the assignee for the bug.
--Boundary_(ID_XyDO3kWLS1aGzfJCqzspiQ)
Date: Thu, 16 Mar 2017 16:07:10 -0700
MIME-version: 1.0
Content-type: text/html
Content-transfer-encoding: 7BIT
<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - I found one more onbeforeunload event return value coercion edge case"
href="https://bugs.webkit.org/show_bug.cgi?id=169789#c3">Comment # 3</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - I found one more onbeforeunload event return value coercion edge case"
href="https://bugs.webkit.org/show_bug.cgi?id=169789">bug 169789</a>
from <span class="vcard"><a class="email" href="mailto:cdumez@apple.com" title="Chris Dumez <cdumez@apple.com>"> <span class="fn">Chris Dumez</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=169789#c2">comment #2</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=169789#c1">comment #1</a>)
> > (In reply to <a href="show_bug.cgi?id=169789#c0">comment #0</a>)
> > > The newly-introduced test at
> > > <a href="http://w3c-test.org/html/browsers/browsing-the-web/unloading-documents/">http://w3c-test.org/html/browsers/browsing-the-web/unloading-documents/</a>
> > > beforeunload-canceling.html named
> > >
> > > > Returning false must not cancel the event, because it's coerced to the DOMString "false" which does not cancel CustomEvents: CustomEvent, cancelable
> > >
> > > does not pass in Safari Tech Preview 25. Everything else does (except the
> > > test "Returning a string must not cancel the event: BeforeUnloadEvent with
> > > type "click", cancelable" which is fine since it's best if Safari doesn't
> > > implement createEvent("beforeunload"); see
> > > <a href="https://github.com/whatwg/dom/issues/362">https://github.com/whatwg/dom/issues/362</a>.)
> >
> > I am not clear yet on what part of the spec says so.
> >
> > I found:
> > <a href="https://html.spec.whatwg.org/#the-event-handler-processing-algorithm">https://html.spec.whatwg.org/#the-event-handler-processing-algorithm</a> (step 5)
> >
> > which says:
> > If return value is not null, then:
> > 1. Set E's canceled flag.
> > ...
> >
> > So if you return false, we cancel the event.
>
> Oh, it is a CustomEvent, not a BeforeUnloadEvent. I get it now.</span >
So:
"""
Otherwise
If return value is false, then set E's canceled flag.
If we've gotten to this "Otherwise" clause because E's type is beforeunload but E is not a BeforeUnloadEvent object, then return value will never be false, since in such cases return value will have been coerced into either null or a DOMString.
"""
More information about the webkit-unassigned
mailing list