[Webkit-unassigned] [Bug 137684] Patch to build a wayland-only webkit/EFL(Without X11/Ecore_X)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Oct 14 18:26:07 PDT 2014


https://bugs.webkit.org/show_bug.cgi?id=137684





--- Comment #5 from cjacker <jianzhong.huang at i-soft.com.cn>  2014-10-14 18:25:59 PST ---
(In reply to comment #4)
Thanks for your helpful reply.
comment in content.

I will try git codes and refind this patch.

> (From update of attachment 239789 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=239789&action=review
> 
> First, thanks for the patch.
> Patch looks almost fine to me.
> 
> I didn't try to prepare wayland backend yet.
> I will check it more when I have it.
> 
> > ewebkitn/Source/cmake/OptionsEfl.cmake:128
> > +option(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)")
> > +
> > +option(ENABLE_WAYLAND_ONLY "Enable wayland only build.")
> > +if (ENABLE_WAYLAND_ONLY)
> > +    set(ENABLE_X11_TARGET OFF)
> > +    set(ENABLE_ECORE_X OFF)
> > +    set(ENABLE_NETSCAPE_PLUGIN_API OFF)
> > +else ()
> > +    set(ENABLE_ECORE_X ON)
> > +endif ()
> 
> In my opinion,
> We'd better to choose window system between X or WAYLAND.
> 
> Perhaps, like below. (I am bad with naming)
> set(WINDOW_SYSTEM "X" CACHE STRING "Choose window system for EWebKit (X or WAYLAND)")
> ...
> 

Good suggestion.

> In addition, I have one question.
> Doesn't we need to use ECORE_WAYLAND?
> 

It seems there is no direct dependency on ECORE_WAYLAND currently.
I think it should be checked to ensure EFL wayland backend enabled.

> > ewebkitn/Source/cmake/OptionsEfl.cmake:192
> > +    if (ENABLE_WAYLAND_ONLY)
> > +        set(ENABLE_X11_TARGET OFF)
> > +    else ()
> > +        set(ENABLE_X11_TARGET ON)
> > +    endif ()
> 
> It looks not necessary if we checked similar logic in above statement.
> 
> > ewebkitn/Source/cmake/OptionsEfl.cmake:248
> > +    if (ENABLE_WAYLAND_ONLY)
> > +        set(ENABLE_GLES2 ON)
> > +    endif ()
> 
> Should WAYLAND backend depend on this?
> 
> > ewebkitn/Source/cmake/OptionsEfl.cmake:264
> > +    if (ENABLE_WAYLAND_ONLY)
> > +        set(ENABLE_EGL ON)
> > +    endif ()
> 
> Ditto.

Above two defines will be enabled when WEBGL or WTF_USE_3D_GRAPHICS set to ON, because there is no libGL(glx) under wayland-only environment, these two option should be and MUST be enabled on wayland-only build.

for example, "Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp" and other uiprocess related codes depend on COORDINATED_GRAPHICS macro, it is controlbed by WTF_USE_3D_GRAPHICS option.

Currently, acceleration will be disabled automatically, since evas_gl_new will fail without libGL. it will fallback to cairo surface instead of GLSurface, I guess WEBGL did not work now(untest), But the cairo rendering works under wayland-only enviroment.(Thank god, at least, it works.)

> 
> > ewebkit2/Source/WebCore/platform/efl/EflScreenUtilities.cpp:69
> > +#ifdef HAVE_ECORE_X
> >  #include <Ecore_X.h>
> > +#endif
> 
> Usually, we moved conditional includes to the bottom of includes with empty line.
> 
> #include ...
> #include ...
> 
> #if XXX
> #include ...
> #endif
> 
> #if YYY
> #include ..
> #endif
> 
OK, looks more clear.

> > ewebkit2/Source/WebCore/css/ViewportStyleResolver.cpp:43
> > +//for undefined renderStyle(), it's a inline function in header.
> > +#include "NodeRenderStyle.h"
> 
> I think that this is not related to EFL port.
> So I think that we should make different bug for this.

Yes, I found this commit in Git codes(No more bug report needed), It should be clang issue.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list