From 57e2a07c1c09af72c85c76f0ca354b38aae409e0 Mon Sep 17 00:00:00 2001 From: pengxia Date: Fri, 17 Mar 2023 13:32:58 +0800 Subject: [PATCH] [M108 Aura Migration][NaCl][PPFW] Fix memory leaks when reloading iframe Leaks of PepperHelper class instances. Class PepperHelper is created in ContentRendererClientEfl::RenderFrameCreated it should be deleted together with render frame for which was created. Removal of RenderFrame is signalized by call to OnDestruct method. In case of PepperHelper this method is empty. This patch adds proper implementation of this method to avoid leak. from 94 Aura Patch: https://review.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/280196/ Change-Id: I7aeaec172acab137e1e5d193a087de0248edaf23 Signed-off-by: pengxia --- tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.cc | 4 ++++ tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.cc b/tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.cc index f065a12..757e1d6 100644 --- a/tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.cc +++ b/tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.cc @@ -32,4 +32,8 @@ void PepperHelper::DidCreatePepperPlugin(content::RendererPpapiHost* host) { host->GetPpapiHost()->AddInstanceMessageFilter( std::make_unique(host)); } +void PepperHelper::OnDestruct() { + delete this; +} + } // namespace pepper \ No newline at end of file diff --git a/tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.h b/tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.h index 7b4cafe..0785413 100644 --- a/tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.h +++ b/tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.h @@ -22,7 +22,7 @@ class PepperHelper : public content::RenderFrameObserver { // RenderFrameObserver. void DidCreatePepperPlugin(content::RendererPpapiHost* host) override; - void OnDestruct(){}; + void OnDestruct() override; }; } // namespace pepper #endif // RENDERER_PEPPER_PEPPER_HELPER_H_ -- 2.7.4