Skip to content

Commit 91d33d1

Browse files
andycallyifei8
authored andcommitted
fix: fix memory leak caused by img element.
1 parent 2fbb7fe commit 91d33d1

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

bridge/core/html/html_image_element.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,12 @@ DispatchEventResult HTMLImageElement::FireEventListeners(Event& event, Exception
4848
return HTMLElement::FireEventListeners(event, exception_state);
4949
}
5050

51+
DispatchEventResult HTMLImageElement::FireEventListeners(webf::Event& event, bool isCapture, webf::ExceptionState& exception_state) {
52+
if (event.type() == event_type_names::kload || event.type() == event_type_names::kerror) {
53+
ReleaseAlive();
54+
}
55+
56+
return HTMLElement::FireEventListeners(event, isCapture, exception_state);
57+
}
58+
5159
} // namespace webf

bridge/core/html/html_image_element.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class HTMLImageElement : public HTMLElement {
1919
void setSrc(const AtomicString& value, ExceptionState& exception_state);
2020

2121
DispatchEventResult FireEventListeners(Event&, ExceptionState&) override;
22+
DispatchEventResult FireEventListeners(Event&, bool isCapture, ExceptionState&) override;
2223

2324
ScriptPromise decode(ExceptionState& exception_state) const;
2425

0 commit comments

Comments
 (0)