Add WebViewBrowserMessageFilter in RenderViewCreated
authorPawel Niemirski <p.niemirski@samsung.com>
Fri, 11 Dec 2015 10:43:23 +0000 (11:43 +0100)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 07:55:23 +0000 (07:55 +0000)
commit99d50b28470ed61fffd45a411c1fd4d07f024d1b
tree2692043dadea7aa72cb7b6ec99975e40b3f70ea7
parent1c151ebe2f89a498984e08d8ae6a745448669d97
Add WebViewBrowserMessageFilter in RenderViewCreated

The renderer process is created for each domain. Communication
between the browser process and renderer processes is done
by ChannelProxy. In order to initialize communication
the RenderProcessHost inserts WebViewBrowserMessageFilter object
into the channel.

Adding WebViewBrowserMessageFilter object to ChannelProxy by
RendererProcessHost is called too early because RWHV was not created
yet (while calling RenderProcessWillLaunch). This breaks
communication.

To make sure that RenderWidgetHostView is already created,
when adding WebViewBrowserMessageFilter to the channel, this patch
moves it to WebContentsDelegateEfl::RenderViewCreated.

The issue happens ONLY after domain change, because the first instance
Instance of RWHV is created by EWebView::Init(), but every consequent
is created after EWebView::SetURL().

Original beta/m47 patch:
- http://165.213.202.130/gerrit/#/c/99073/

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15100

Reviewed by: a1.gomes

Change-Id: I058e6dc4666cb913f7256fd613528e165cbd1352
Signed-off-by: Pawel Niemirski <p.niemirski@samsung.com>
tizen_src/ewk/efl_integration/content_browser_client_efl.cc
tizen_src/ewk/efl_integration/eweb_view.cc