[M108 Aura Migration][NaCl][PPFW] Fix memory leaks when reloading iframe 07/290007/2 submit/tizen/20230324.160014
authorpengxia <pengxia.shen@samsung.com>
Fri, 17 Mar 2023 05:32:58 +0000 (13:32 +0800)
committerBot Blink <blinkbot@samsung.com>
Fri, 24 Mar 2023 03:52:25 +0000 (03:52 +0000)
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 <pengxia.shen@samsung.com>
tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.cc
tizen_src/ewk/efl_integration/renderer/pepper/pepper_helper.h

index f065a12..757e1d6 100644 (file)
@@ -32,4 +32,8 @@ void PepperHelper::DidCreatePepperPlugin(content::RendererPpapiHost* host) {
   host->GetPpapiHost()->AddInstanceMessageFilter(
       std::make_unique<PepperSharedMemoryMessageFilter>(host));
 }
+void PepperHelper::OnDestruct() {
+  delete this;
+}
+
 }  // namespace pepper
\ No newline at end of file
index 7b4cafe..0785413 100644 (file)
@@ -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_