WebKit Bugzilla
Attachment 347442 Details for
Bug 188696
: beforeunload interoperability issues
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188696-20180818112625.patch (text/plain), 2.13 KB, created by
PhistucK
on 2018-08-18 04:26:26 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
PhistucK
Created:
2018-08-18 04:26:26 PDT
Size:
2.13 KB
patch
obsolete
>Subversion Revision: 234984 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 0cb77c8f315ca022df72249d51784df7cb7ffe66..a0ad39703174ddd9089752d08e17f0bc03d11c99 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,16 @@ >+2018-08-17 PhistucK <phistuck@gmail.com> >+ >+ beforeunload interoperability issues with a throwing return >+ https://bugs.webkit.org/show_bug.cgi?id=188696 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ No new tests . >+ >+ * bindings/js/JSEventListener.cpp: >+ (WebCore::JSEventListener::handleEvent): >+ Handled exceptions in the return value of a beforeunload handler. >+ > 2018-08-17 Yusuke Suzuki <yusukesuzuki@slowstart.org> and Fujii Hironori <Hironori.Fujii@sony.com> > > [JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg >diff --git a/Source/WebCore/bindings/js/JSEventListener.cpp b/Source/WebCore/bindings/js/JSEventListener.cpp >index 9931fe8b1abcb640a85970b4bb9ea3ad186e803b..b7af050d2ef47e800e2f9f05d6699f7132d8829b 100644 >--- a/Source/WebCore/bindings/js/JSEventListener.cpp >+++ b/Source/WebCore/bindings/js/JSEventListener.cpp >@@ -186,8 +186,15 @@ void JSEventListener::handleEvent(ScriptExecutionContext& scriptExecutionContext > event.target()->uncaughtExceptionInEventHandler(); > reportException(exec, exception); > } else { >- if (is<BeforeUnloadEvent>(event)) >- handleBeforeUnloadEventReturnValue(downcast<BeforeUnloadEvent>(event), convert<IDLNullable<IDLDOMString>>(*exec, retval)); >+ if (is<BeforeUnloadEvent>(event)) { >+ auto scope = DECLARE_THROW_SCOPE(vm); >+ String returnedString = convert<IDLNullable<IDLDOMString>>(*exec, retval); >+ auto exception = scope.exception(); >+ if (UNLIKELY(exception)) >+ reportException(exec, exception); >+ else >+ handleBeforeUnloadEventReturnValue(downcast<BeforeUnloadEvent>(event), convert<IDLNullable<IDLDOMString>>(*exec, retval)); >+ } > > if (m_isAttribute) { > if (retval.isFalse())
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188696
:
347390
|
347395
|
347397
|
347403
|
347410
|
347442
|
350504
|
350510
|
350511
|
350513
|
350514
|
350519
|
350520
|
350521
|
350522
|
350523
|
350524
|
350528