[Webkit-unassigned] [Bug 106216] [EFL][WK2] Expose accessibility hierarchy in WebKit2-EFL.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jan 15 03:40:59 PST 2013


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





--- Comment #20 from Krzysztof Czech <k.czech at samsung.com>  2013-01-15 03:42:44 PST ---
(In reply to comment #18)
> (In reply to comment #15)
> > > I wonder why EFL port only needs to use HAVE(ACCESSIBILITY) together. EFL port also enabled HAVE(ACCESSIBILITY) guard as GTK port.
> > 
> > Because we wanted to have a possibility of turning Accessibility on/off. This is a matter of having ATK library. In case ATK is not available, we can easily turning it off. See Source/cmake/OptionsEfl.cmake (line 50). Why PLATFORM(EFL) and HAVE(ACCESSIBILITY) go together?. Because PLATFORM(EFL) alone will not cover every occurrence of ATK callings.
> 
> I don't understand this well. OptionsEfl.cmake enables ENABLE_ACCESSIBILITY to find ATK package. 
> 
>  if (ENABLE_ACCESSIBILITY)
>     find_package(ATK REQUIRED)
>  else ()
>     add_definitions(-DHAVE_ACCESSIBILITY=0)
>  endif ()
> 
> Then, the HAVE_ACCESSIBILITY is enabled by Platform.h
> 
>  #if !defined(HAVE_ACCESSIBILITY)
>  #if PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(WIN) || PLATFORM(GTK) ||  (PLATFORM(CHROMIUM) && !OS(ANDROID)) || PLATFORM(EFL)
>  #define HAVE_ACCESSIBILITY 1
>  #endif
>  #endif /* !defined(HAVE_ACCESSIBILITY) */
> 
> It means EFL port will enable HAVE_ACCESSIBILITY if we don't off ENABLE_ACCESSIBILITY in OptionsEfl.cmake. If we off ENABLE_ACCESSIBILITY in OptionsEFl.cmake, HAVE_ACCESSIBILITY is defined with disabled. So, it won't be enabled in Platform.h again. It seems to me that we already can control HAVE_ACCESSIBILITY by OptionsEfl.cmake definition. If I miss something, please let me know.

It's a bit tricky, but you are right. We can control it, by setting HAVE_ACCESSIBILITY in OptionsEfl.cmake. The thing is, other ports have HAVE_ACCESSIBILITY enabled by default:

#if !defined(HAVE_ACCESSIBILITY)
#if PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(WIN) || PLATFORM(GTK) ||  (PLATFORM(CHROMIUM) && !OS(ANDROID)) || PLATFORM(EFL)
#define HAVE_ACCESSIBILITY 1
#endif
#endif /* !defined(HAVE_ACCESSIBILITY) */

There are parts of the code, that had not been covered by HAVE(ACCESSIBILITY) macro example: 

Source/WebKit2/WebProcess/WebPage/WebPage.h
814 #if PLATFORM(MAC)
839 #elif PLATFORM(GTK)
840     GRefPtr<WebPageAccessibilityObject> m_accessibilityObject;

Avoiding adding global HAVE(ACCESSIBILITY), I'm adding it along with PLATFORM(EFL).

Regarding my patch you are right, the are things that can be changed. I will propose a new one.

-- 
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