@@ -798,17 +798,19 @@ void JSReadableArrayBufferSinkController::detach()
798
798
799
799
auto readableStream = m_weakReadableStream.get ();
800
800
auto onClose = m_onClose.get ();
801
- m_onClose.clear ();
802
801
803
802
if (readableStream && onClose) {
804
- JSC::JSGlobalObject* globalObject = this ->globalObject ();
805
803
auto callData = JSC::getCallData (onClose);
806
- JSC::MarkedArgumentBuffer arguments;
807
- arguments.append (readableStream);
808
- arguments.append (jsUndefined ());
809
- call (globalObject, onClose, callData, JSC::jsUndefined (), arguments);
804
+ if (callData.type != JSC::CallData::Type::None) {
805
+ JSC::JSGlobalObject* globalObject = this ->globalObject ();
806
+ JSC::MarkedArgumentBuffer arguments;
807
+ arguments.append (readableStream);
808
+ arguments.append (jsUndefined ());
809
+ call (globalObject, onClose, callData, JSC::jsUndefined (), arguments);
810
+ }
810
811
}
811
812
813
+ m_onClose.clear ();
812
814
m_weakReadableStream.clear ();
813
815
}
814
816
@@ -1052,17 +1054,19 @@ void JSReadableFileSinkController::detach()
1052
1054
1053
1055
auto readableStream = m_weakReadableStream.get ();
1054
1056
auto onClose = m_onClose.get ();
1055
- m_onClose.clear ();
1056
1057
1057
1058
if (readableStream && onClose) {
1058
- JSC::JSGlobalObject* globalObject = this ->globalObject ();
1059
1059
auto callData = JSC::getCallData (onClose);
1060
- JSC::MarkedArgumentBuffer arguments;
1061
- arguments.append (readableStream);
1062
- arguments.append (jsUndefined ());
1063
- call (globalObject, onClose, callData, JSC::jsUndefined (), arguments);
1060
+ if (callData.type != JSC::CallData::Type::None) {
1061
+ JSC::JSGlobalObject* globalObject = this ->globalObject ();
1062
+ JSC::MarkedArgumentBuffer arguments;
1063
+ arguments.append (readableStream);
1064
+ arguments.append (jsUndefined ());
1065
+ call (globalObject, onClose, callData, JSC::jsUndefined (), arguments);
1066
+ }
1064
1067
}
1065
1068
1069
+ m_onClose.clear ();
1066
1070
m_weakReadableStream.clear ();
1067
1071
}
1068
1072
@@ -1306,17 +1310,19 @@ void JSReadableHTTPResponseSinkController::detach()
1306
1310
1307
1311
auto readableStream = m_weakReadableStream.get ();
1308
1312
auto onClose = m_onClose.get ();
1309
- m_onClose.clear ();
1310
1313
1311
1314
if (readableStream && onClose) {
1312
- JSC::JSGlobalObject* globalObject = this ->globalObject ();
1313
1315
auto callData = JSC::getCallData (onClose);
1314
- JSC::MarkedArgumentBuffer arguments;
1315
- arguments.append (readableStream);
1316
- arguments.append (jsUndefined ());
1317
- call (globalObject, onClose, callData, JSC::jsUndefined (), arguments);
1316
+ if (callData.type != JSC::CallData::Type::None) {
1317
+ JSC::JSGlobalObject* globalObject = this ->globalObject ();
1318
+ JSC::MarkedArgumentBuffer arguments;
1319
+ arguments.append (readableStream);
1320
+ arguments.append (jsUndefined ());
1321
+ call (globalObject, onClose, callData, JSC::jsUndefined (), arguments);
1322
+ }
1318
1323
}
1319
1324
1325
+ m_onClose.clear ();
1320
1326
m_weakReadableStream.clear ();
1321
1327
}
1322
1328
@@ -1560,17 +1566,19 @@ void JSReadableHTTPSResponseSinkController::detach()
1560
1566
1561
1567
auto readableStream = m_weakReadableStream.get ();
1562
1568
auto onClose = m_onClose.get ();
1563
- m_onClose.clear ();
1564
1569
1565
1570
if (readableStream && onClose) {
1566
- JSC::JSGlobalObject* globalObject = this ->globalObject ();
1567
1571
auto callData = JSC::getCallData (onClose);
1568
- JSC::MarkedArgumentBuffer arguments;
1569
- arguments.append (readableStream);
1570
- arguments.append (jsUndefined ());
1571
- call (globalObject, onClose, callData, JSC::jsUndefined (), arguments);
1572
+ if (callData.type != JSC::CallData::Type::None) {
1573
+ JSC::JSGlobalObject* globalObject = this ->globalObject ();
1574
+ JSC::MarkedArgumentBuffer arguments;
1575
+ arguments.append (readableStream);
1576
+ arguments.append (jsUndefined ());
1577
+ call (globalObject, onClose, callData, JSC::jsUndefined (), arguments);
1578
+ }
1572
1579
}
1573
1580
1581
+ m_onClose.clear ();
1574
1582
m_weakReadableStream.clear ();
1575
1583
}
1576
1584
0 commit comments