Add WillReleaseScriptContext on RenderFrameObserverEfl
authorDongJun Kim <djmix.kim@samsung.com>
Thu, 19 Nov 2015 07:11:56 +0000 (16:11 +0900)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 07:55:23 +0000 (07:55 +0000)
|WillReleaseScriptContext| is not implemented
on |RenderFrameObserverEfl| in latest code.

For this reason, |DynamicPluginStopSession| is not called,
when |window.close| is executed by WRT.

This patch is for adding |WillReleaseScriptContext| on |RenderFrameObserverEfl|.

Original beta/m42 patch: http://165.213.202.130/gerrit/#/c/87472

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14771

Reviewed by: a.renevier, msu.koo

Change-Id: Ic1af7c7d99aba94bb0f7e7d7edfdb60114059549
Signed-off-by: DongJun Kim <djmix.kim@samsung.com>
tizen_src/ewk/efl_integration/renderer/render_frame_observer_efl.cc
tizen_src/ewk/efl_integration/renderer/render_frame_observer_efl.h

index a49f2c3..c9e102c 100644 (file)
@@ -20,6 +20,7 @@
 #undef private
 #include "content/renderer/external_popup_menu.h"
 #include "common/render_messages_ewk.h"
+#include "renderer/content_renderer_client_efl.h"
 #include "third_party/WebKit/public/platform/WebURLError.h"
 #include "third_party/WebKit/public/platform/WebURLRequest.h"
 #include "third_party/WebKit/public/web/WebDocument.h"
@@ -192,4 +193,13 @@ void RenderFrameObserverEfl::WillSubmitForm(
   Send(new EwkHostMsg_FormSubmit(render_frame()->GetRoutingID(), url));
 }
 
+void RenderFrameObserverEfl::WillReleaseScriptContext(
+    v8::Handle<v8::Context> context, int world_id) {
+  ContentRendererClientEfl* client = static_cast<ContentRendererClientEfl*>(
+      GetContentClientExport()->renderer());
+
+  client->WillReleaseScriptContext(
+      render_frame()->GetWebFrame(), context, world_id);
+}
+
 } // namespace content
index 87f7512..aae9aff 100644 (file)
@@ -30,6 +30,9 @@ class RenderFrameObserverEfl : public RenderFrameObserver {
 
   void WillSubmitForm(const blink::WebFormElement& form) override;
 
+  void WillReleaseScriptContext(v8::Handle<v8::Context> context,
+                                int world_id) override;
+
  private:
   void OnSelectPopupMenuItems(bool canceled,
                               const std::vector<int>& selected_indices);