Title: [135569] trunk
Revision
135569
Author
[email protected]
Date
2012-11-23 01:22:13 -0800 (Fri, 23 Nov 2012)

Log Message

[EFL] Platform support for Accessibility feature.
https://bugs.webkit.org/show_bug.cgi?id=100848

Patch by Krzysztof Czech <[email protected]> on 2012-11-23
Reviewed by Gyuyoung Kim.

.:

Add support for ATK library.

* Source/cmake/FindATK.cmake: Added.
* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

Add EFL platform's definitions to enable proper accessibility routines.

No new tests. Covered by existing layout tests.

* PlatformEfl.cmake: Add accessibility/atk content to compilation.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::AccessibilityObject):
* accessibility/AccessibilityObject.h:
(AccessibilityObject):
* accessibility/efl/AccessibilityObjectEfl.cpp: Removed. No needed platform specific implementation. ATK shared implementation will be used.

Source/WTF:

Enable HAVE(ACCESSIBILITY) ifdefs so that EFL port can use it.

* wtf/Platform.h:

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/ChangeLog (135568 => 135569)


--- trunk/ChangeLog	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/ChangeLog	2012-11-23 09:22:13 UTC (rev 135569)
@@ -1,3 +1,15 @@
+2012-11-23  Krzysztof Czech  <[email protected]>
+
+        [EFL] Platform support for Accessibility feature.
+        https://bugs.webkit.org/show_bug.cgi?id=100848
+
+        Reviewed by Gyuyoung Kim.
+
+        Add support for ATK library.
+
+        * Source/cmake/FindATK.cmake: Added.
+        * Source/cmake/OptionsEfl.cmake:
+
 2012-09-26  Gustavo Noronha Silva  <[email protected]>
 
         [GTK] Split SVG from WebCore to work-around make limitation

Modified: trunk/Source/WTF/ChangeLog (135568 => 135569)


--- trunk/Source/WTF/ChangeLog	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/Source/WTF/ChangeLog	2012-11-23 09:22:13 UTC (rev 135569)
@@ -1,3 +1,14 @@
+2012-11-23  Krzysztof Czech  <[email protected]>
+
+        [EFL] Platform support for Accessibility feature.
+        https://bugs.webkit.org/show_bug.cgi?id=100848
+
+        Reviewed by Gyuyoung Kim.
+
+        Enable HAVE(ACCESSIBILITY) ifdefs so that EFL port can use it.
+
+        * wtf/Platform.h:
+
 2012-11-22  Michael Saboff  <[email protected]>
 
         HTML integer parsing functions don't natively handle 8 bit strings

Modified: trunk/Source/WTF/wtf/Platform.h (135568 => 135569)


--- trunk/Source/WTF/wtf/Platform.h	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/Source/WTF/wtf/Platform.h	2012-11-23 09:22:13 UTC (rev 135569)
@@ -657,7 +657,7 @@
 #endif
 
 #if !defined(HAVE_ACCESSIBILITY)
-#if PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(WIN) || PLATFORM(GTK) || (PLATFORM(CHROMIUM) && !OS(ANDROID))
+#if PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(WIN) || PLATFORM(GTK) || (PLATFORM(CHROMIUM) && !OS(ANDROID)) || PLATFORM(EFL)
 #define HAVE_ACCESSIBILITY 1
 #endif
 #endif /* !defined(HAVE_ACCESSIBILITY) */

Modified: trunk/Source/WebCore/ChangeLog (135568 => 135569)


--- trunk/Source/WebCore/ChangeLog	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/Source/WebCore/ChangeLog	2012-11-23 09:22:13 UTC (rev 135569)
@@ -1,3 +1,21 @@
+2012-11-23  Krzysztof Czech  <[email protected]>
+
+        [EFL] Platform support for Accessibility feature.
+        https://bugs.webkit.org/show_bug.cgi?id=100848
+
+        Reviewed by Gyuyoung Kim.
+
+        Add EFL platform's definitions to enable proper accessibility routines.
+
+        No new tests. Covered by existing layout tests.
+
+        * PlatformEfl.cmake: Add accessibility/atk content to compilation.
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::AccessibilityObject):
+        * accessibility/AccessibilityObject.h:
+        (AccessibilityObject):
+        * accessibility/efl/AccessibilityObjectEfl.cpp: Removed. No needed platform specific implementation. ATK shared implementation will be used.
+
 2012-11-23  Thiago Marcos P. Santos  <[email protected]>
 
         Expose DOM interface for CSS Device Adaptation

Modified: trunk/Source/WebCore/PlatformEfl.cmake (135568 => 135569)


--- trunk/Source/WebCore/PlatformEfl.cmake	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/Source/WebCore/PlatformEfl.cmake	2012-11-23 09:22:13 UTC (rev 135569)
@@ -1,5 +1,5 @@
 LIST(APPEND WebCore_INCLUDE_DIRECTORIES
-  "${WEBCORE_DIR}/accessibility/efl"
+  "${WEBCORE_DIR}/accessibility/atk"
   "${WEBCORE_DIR}/page/efl"
   "${WEBCORE_DIR}/platform/cairo"
   "${WEBCORE_DIR}/platform/efl"
@@ -13,10 +13,26 @@
   "${WEBCORE_DIR}/platform/network/soup"
   "${WEBCORE_DIR}/platform/text/efl"
   "${WEBCORE_DIR}/plugins/efl"
+  ${ATK_INCLUDE_DIRS}
 )
 
 LIST(APPEND WebCore_SOURCES
-  accessibility/efl/AccessibilityObjectEfl.cpp
+  accessibility/atk/AXObjectCacheAtk.cpp
+  accessibility/atk/AccessibilityObjectAtk.cpp
+  accessibility/atk/WebKitAccessibleHyperlink.cpp
+  accessibility/atk/WebKitAccessibleInterfaceAction.cpp
+  accessibility/atk/WebKitAccessibleInterfaceComponent.cpp
+  accessibility/atk/WebKitAccessibleInterfaceDocument.cpp
+  accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp
+  accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp
+  accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp
+  accessibility/atk/WebKitAccessibleInterfaceImage.cpp
+  accessibility/atk/WebKitAccessibleInterfaceSelection.cpp
+  accessibility/atk/WebKitAccessibleInterfaceTable.cpp
+  accessibility/atk/WebKitAccessibleInterfaceText.cpp
+  accessibility/atk/WebKitAccessibleInterfaceValue.cpp
+  accessibility/atk/WebKitAccessibleUtil.cpp
+  accessibility/atk/WebKitAccessibleWrapperAtk.cpp
   editing/SmartReplaceICU.cpp
   page/efl/DragControllerEfl.cpp
   page/efl/EventHandlerEfl.cpp
@@ -161,6 +177,7 @@
 ENDIF ()
 
 LIST(APPEND WebCore_LIBRARIES
+  ${ATK_LIBRARIES}
   ${CAIRO_LIBRARIES}
   ${ECORE_LIBRARIES}
   ${ECORE_EVAS_LIBRARIES}

Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (135568 => 135569)


--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp	2012-11-23 09:22:13 UTC (rev 135569)
@@ -73,7 +73,7 @@
     , m_haveChildren(false)
     , m_role(UnknownRole)
     , m_cachedIsIgnoredValue(DefaultBehavior)
-#if PLATFORM(GTK)
+#if PLATFORM(GTK) || PLATFORM(EFL)
     , m_wrapper(0)
 #elif PLATFORM(CHROMIUM)
     , m_detached(false)

Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.h (135568 => 135569)


--- trunk/Source/WebCore/accessibility/AccessibilityObject.h	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.h	2012-11-23 09:22:13 UTC (rev 135569)
@@ -61,7 +61,7 @@
 
 typedef WebAccessibilityObjectWrapper AccessibilityObjectWrapper;
 
-#elif PLATFORM(GTK)
+#elif PLATFORM(GTK) || PLATFORM(EFL)
 typedef struct _AtkObject AtkObject;
 typedef struct _AtkObject AccessibilityObjectWrapper;
 #elif PLATFORM(CHROMIUM)
@@ -778,7 +778,7 @@
     virtual String mathFencedCloseString() const { return String(); }
     
 #if HAVE(ACCESSIBILITY)
-#if PLATFORM(GTK)
+#if PLATFORM(GTK) || PLATFORM(EFL)
     AccessibilityObjectWrapper* wrapper() const;
     void setWrapper(AccessibilityObjectWrapper*);
 #elif !PLATFORM(CHROMIUM)
@@ -826,7 +826,7 @@
     static bool objectMatchesSearchCriteriaWithResultLimit(AccessibilityObject*, AccessibilitySearchCriteria*, AccessibilityChildrenVector&);
     virtual AccessibilityRole buttonRoleType() const;
     
-#if PLATFORM(GTK)
+#if PLATFORM(GTK) || PLATFORM(EFL)
     bool allowsTextRanges() const;
     unsigned getLengthForTextRange() const;
 #else
@@ -838,7 +838,7 @@
     RetainPtr<WebAccessibilityObjectWrapper> m_wrapper;
 #elif PLATFORM(WIN) && !OS(WINCE)
     COMPtr<AccessibilityObjectWrapper> m_wrapper;
-#elif PLATFORM(GTK)
+#elif PLATFORM(GTK) || PLATFORM(EFL)
     AtkObject* m_wrapper;
 #elif PLATFORM(CHROMIUM)
     bool m_detached;

Deleted: trunk/Source/WebCore/accessibility/efl/AccessibilityObjectEfl.cpp (135568 => 135569)


--- trunk/Source/WebCore/accessibility/efl/AccessibilityObjectEfl.cpp	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/Source/WebCore/accessibility/efl/AccessibilityObjectEfl.cpp	2012-11-23 09:22:13 UTC (rev 135569)
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Ltd.
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-#include "AccessibilityObject.h"
-
-#if HAVE(ACCESSIBILITY)
-
-namespace WebCore {
-
-bool AccessibilityObject::accessibilityIgnoreAttachment() const
-{
-    return false;
-}
-
-} // namespace WebCore
-
-#endif // HAVE(ACCESSIBILITY)

Added: trunk/Source/cmake/FindATK.cmake (0 => 135569)


--- trunk/Source/cmake/FindATK.cmake	                        (rev 0)
+++ trunk/Source/cmake/FindATK.cmake	2012-11-23 09:22:13 UTC (rev 135569)
@@ -0,0 +1,44 @@
+# - Try to find ATK
+# Once done, this will define
+#
+#  ATK_INCLUDE_DIRS - the ATK include drectories
+#  ATK_LIBRARIES - link these to use ATK
+#
+# Copyright (C) 2012 Samsung Electronics
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1.  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+# 2.  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
+# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+FIND_PACKAGE(PkgConfig)
+PKG_CHECK_MODULES(PC_ATK atk)
+
+FIND_PATH(ATK_INCLUDE_DIRS
+    NAMES atk/atk.h
+    HINTS ${PC_ATK_INCLUDEDIR}
+          ${PC_ATK_INCLUDE_DIRS}
+    PATH_SUFFIXES atk-1.0
+)
+
+FIND_LIBRARY(ATK_LIBRARIES
+    NAMES atk-1.0
+    HINTS ${PC_ATK_LIBRARY_DIRS}
+          ${PC_ATK_LIBDIR}
+)

Modified: trunk/Source/cmake/OptionsEfl.cmake (135568 => 135569)


--- trunk/Source/cmake/OptionsEfl.cmake	2012-11-23 09:13:31 UTC (rev 135568)
+++ trunk/Source/cmake/OptionsEfl.cmake	2012-11-23 09:22:13 UTC (rev 135569)
@@ -192,3 +192,5 @@
 IF (ENABLE_SPELLCHECK)
     FIND_PACKAGE(Enchant REQUIRED)
 ENDIF()
+
+FIND_PACKAGE(ATK REQUIRED)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to