2010-06-17 Lucas De Marchi <lucas.demarchi@profusion.mobi>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Jun 2010 16:26:13 +0000 (16:26 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Jun 2010 16:26:13 +0000 (16:26 +0000)
        Reviewed by Eric Seidel.

        Clean EFL header files in order to diminish the compilation time with
        EFL from subversion. We remove the EFL includes from header files and use
        forward declarations, including the headers in correspondent source
        files when needed. This causes only the needed source files to be
        recompiled in case a new version of EFL is installed instead of
        triggering a recompilation of almost all WebCore/WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=40575

        No new functionalities, so no new tests.

        * CMakeListsEfl.txt:
        * platform/PlatformKeyboardEvent.h: forward declaration.
        * platform/PlatformMouseEvent.h: forward declaration and change method
        signature to not require enum.
        * platform/PlatformWheelEvent.h: forward declaration.
        * platform/Widget.h: forward declaration.
        * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
        * platform/efl/PlatformMouseEventEfl.cpp:
        (WebCore::PlatformMouseEvent::setClickCount): change method signature
        as mentioned above.
        * platform/efl/PlatformWheelEventEfl.cpp: include needed header.
        * platform/efl/RenderThemeEfl.cpp: include needed header
        * platform/efl/RenderThemeEfl.h: forward declaration.
        * platform/efl/ScrollbarEfl.cpp: include needed header.
        * platform/efl/ScrollbarEfl.h: forward declaration.
        * platform/efl/WidgetEfl.cpp: include needed header.
        * platform/graphics/FloatRect.h: remove unused method.
        * platform/graphics/Icon.h: forward declaration.
        * platform/graphics/IntRect.h: remove unused method.
        * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
        implementing an unused method.
        * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
        implementing an unused method.
2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Eric Seidel.

        Clean EFL header files in order to diminish the compilation time with
        EFL from subversion. We remove the EFL includes from header files and use
        forward declarations, including the headers in correspondent source
        files when needed. This causes only the needed source files to be
        recompiled in case a new version of EFL is installed instead of
        triggering a recompilation of almost all WebCore/WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=40575

        * efl/WebCoreSupport/ChromeClientEfl.cpp: include needed header.
        * efl/WebCoreSupport/ChromeClientEfl.h: forward declaration.
        * efl/WebCoreSupport/EditorClientEfl.h: forward declaration.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@61331 268f45cc-cd09-0410-ab3c-d52691b4dbfc

23 files changed:
WebCore/CMakeListsEfl.txt
WebCore/ChangeLog
WebCore/platform/PlatformKeyboardEvent.h
WebCore/platform/PlatformMouseEvent.h
WebCore/platform/PlatformWheelEvent.h
WebCore/platform/Widget.h
WebCore/platform/efl/PlatformKeyboardEventEfl.cpp
WebCore/platform/efl/PlatformMouseEventEfl.cpp
WebCore/platform/efl/PlatformWheelEventEfl.cpp
WebCore/platform/efl/RenderThemeEfl.cpp
WebCore/platform/efl/RenderThemeEfl.h
WebCore/platform/efl/ScrollbarEfl.cpp
WebCore/platform/efl/ScrollbarEfl.h
WebCore/platform/efl/WidgetEfl.cpp
WebCore/platform/graphics/FloatRect.h
WebCore/platform/graphics/Icon.h
WebCore/platform/graphics/IntRect.h
WebCore/platform/graphics/efl/FloatRectEfl.cpp [deleted file]
WebCore/platform/graphics/efl/IntRectEfl.cpp [deleted file]
WebKit/ChangeLog
WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
WebKit/efl/WebCoreSupport/ChromeClientEfl.h
WebKit/efl/WebCoreSupport/EditorClientEfl.h

index 1cb6e44..da1f27a 100644 (file)
@@ -51,12 +51,10 @@ LIST(APPEND WebCore_SOURCES
   platform/efl/SystemTimeEfl.cpp
   platform/efl/TemporaryLinkStubs.cpp
   platform/efl/WidgetEfl.cpp
-  platform/graphics/efl/FloatRectEfl.cpp
   platform/graphics/efl/FontEfl.cpp
   platform/graphics/efl/IconEfl.cpp
   platform/graphics/efl/ImageEfl.cpp
   platform/graphics/efl/IntPointEfl.cpp
-  platform/graphics/efl/IntRectEfl.cpp
   platform/posix/FileSystemPOSIX.cpp
   platform/text/efl/TextBreakIteratorInternalICUEfl.cpp
 )
index c7979d9..27bcbc7 100644 (file)
@@ -1,3 +1,41 @@
+2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
+
+        Reviewed by Eric Seidel.
+
+        Clean EFL header files in order to diminish the compilation time with
+        EFL from subversion. We remove the EFL includes from header files and use
+        forward declarations, including the headers in correspondent source
+        files when needed. This causes only the needed source files to be
+        recompiled in case a new version of EFL is installed instead of
+        triggering a recompilation of almost all WebCore/WebKit.
+        https://bugs.webkit.org/show_bug.cgi?id=40575
+
+        No new functionalities, so no new tests.
+
+        * CMakeListsEfl.txt:
+        * platform/PlatformKeyboardEvent.h: forward declaration.
+        * platform/PlatformMouseEvent.h: forward declaration and change method
+        signature to not require enum.
+        * platform/PlatformWheelEvent.h: forward declaration.
+        * platform/Widget.h: forward declaration.
+        * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
+        * platform/efl/PlatformMouseEventEfl.cpp:
+        (WebCore::PlatformMouseEvent::setClickCount): change method signature
+        as mentioned above.
+        * platform/efl/PlatformWheelEventEfl.cpp: include needed header.
+        * platform/efl/RenderThemeEfl.cpp: include needed header
+        * platform/efl/RenderThemeEfl.h: forward declaration.
+        * platform/efl/ScrollbarEfl.cpp: include needed header.
+        * platform/efl/ScrollbarEfl.h: forward declaration.
+        * platform/efl/WidgetEfl.cpp: include needed header.
+        * platform/graphics/FloatRect.h: remove unused method.
+        * platform/graphics/Icon.h: forward declaration.
+        * platform/graphics/IntRect.h: remove unused method.
+        * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
+        implementing an unused method.
+        * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
+        implementing an unused method.
+
 2010-06-17  Alex Milowski  <alex@milowski.com>
 
         Reviewed by Darin Adler.
index f1f4888..88a1612 100644 (file)
@@ -63,7 +63,8 @@ class BMessage;
 #endif
 
 #if PLATFORM(EFL)
-#include <Evas.h>
+typedef struct _Evas_Event_Key_Down Evas_Event_Key_Down;
+typedef struct _Evas_Event_Key_Up Evas_Event_Key_Up;
 #endif
 
 #if PLATFORM(BREWMP)
index be25973..725945a 100644 (file)
@@ -34,7 +34,9 @@ typedef struct _GdkEventMotion GdkEventMotion;
 #endif
 
 #if PLATFORM(EFL)
-#include <Evas.h>
+typedef struct _Evas_Event_Mouse_Down Evas_Event_Mouse_Down;
+typedef struct _Evas_Event_Mouse_Up Evas_Event_Mouse_Up;
+typedef struct _Evas_Event_Mouse_Move Evas_Event_Mouse_Move;
 #endif
 
 #if PLATFORM(QT)
@@ -126,7 +128,7 @@ namespace WebCore {
 #endif
 
 #if PLATFORM(EFL)
-        void setClickCount(Evas_Button_Flags);
+        void setClickCount(unsigned int);
         PlatformMouseEvent(const Evas_Event_Mouse_Down*, IntPoint);
         PlatformMouseEvent(const Evas_Event_Mouse_Up*, IntPoint);
         PlatformMouseEvent(const Evas_Event_Mouse_Move*, IntPoint);
index 6651334..6747392 100644 (file)
@@ -33,7 +33,7 @@ typedef struct _GdkEventScroll GdkEventScroll;
 #endif
 
 #if PLATFORM(EFL)
-#include <Evas.h>
+typedef struct _Evas_Event_Mouse_Wheel Evas_Event_Mouse_Wheel;
 #endif
 
 #if PLATFORM(QT)
index 35e0055..06ee92d 100644 (file)
@@ -73,8 +73,9 @@ typedef BView* PlatformWidget;
 #endif
 
 #if PLATFORM(EFL)
-#include <Ecore_Evas.h>
-#include <Evas.h>
+typedef struct _Evas_Object Evas_Object;
+typedef struct _Evas Evas;
+typedef struct _Ecore_Evas Ecore_Evas;
 typedef Evas_Object* PlatformWidget;
 #endif
 
index f2f03a4..70e317e 100644 (file)
@@ -37,6 +37,7 @@
 #include "TextEncoding.h"
 #include "WindowsKeyboardCodes.h"
 
+#include <Evas.h>
 #include <stdio.h>
 #include <wtf/HashMap.h>
 #include <wtf/text/CString.h>
index a03614c..53de522 100644 (file)
@@ -37,7 +37,7 @@
 
 namespace WebCore {
 
-void PlatformMouseEvent::setClickCount(Evas_Button_Flags flags)
+void PlatformMouseEvent::setClickCount(unsigned int flags)
 {
     if (flags & EVAS_BUTTON_TRIPLE_CLICK)
         m_clickCount = 3;
index 08bda5e..704db38 100644 (file)
@@ -33,6 +33,8 @@
 
 #include "Scrollbar.h"
 
+#include <Evas.h>
+
 namespace WebCore {
 
 enum {
index 2773b0d..6ed7599 100644 (file)
@@ -36,6 +36,7 @@
 #include "RenderObject.h"
 #include <wtf/text/CString.h>
 
+#include <Ecore_Evas.h>
 #include <Edje.h>
 namespace WebCore {
 
index 3ebd29d..22e0608 100644 (file)
 
 #include "RenderTheme.h"
 
-#include <Ecore_Evas.h>
-#include <Evas.h>
 #include <cairo.h>
 
+typedef struct _Ecore_Evas Ecore_Evas;
+typedef struct _Evas_Object Evas_Object;
+
 namespace WebCore {
 
 enum FormType { // KEEP IN SYNC WITH edjeGroupFromFormType()
index 5b8002d..1030ebd 100644 (file)
@@ -35,6 +35,7 @@
 
 #include <Ecore.h>
 #include <Edje.h>
+#include <Evas.h>
 #include <string>
 #include <wtf/text/CString.h>
 
index cd85888..35375a6 100644 (file)
@@ -30,7 +30,6 @@
 #define ScrollbarEfl_h
 
 #include "Scrollbar.h"
-#include <Evas.h>
 #include <wtf/PassRefPtr.h>
 
 namespace WebCore {
index 9e335f7..725e56f 100644 (file)
@@ -41,6 +41,7 @@
 #include "Page.h"
 
 #include <Ecore.h>
+#include <Ecore_Evas.h>
 #include <Edje.h>
 #include <Evas.h>
 
index 4c3a382..b265121 100644 (file)
 
 #include "FloatPoint.h"
 
-#if PLATFORM(EFL)
-#include <Evas.h>
-#endif
-
 #if PLATFORM(CG)
 typedef struct CGRect CGRect;
 #endif
@@ -149,11 +145,6 @@ public:
     operator QRectF() const;
 #endif
 
-#if PLATFORM(EFL)
-    explicit FloatRect(const Eina_Rectangle&);
-    operator Eina_Rectangle() const;
-#endif
-
 #if PLATFORM(WX) && USE(WXGC)
     FloatRect(const wxRect2DDouble&);
     operator wxRect2DDouble() const;
index 59c732f..3390679 100644 (file)
@@ -40,7 +40,7 @@ typedef struct HICON__* HICON;
 #elif PLATFORM(GTK)
 typedef struct _GdkPixbuf GdkPixbuf;
 #elif PLATFORM(EFL)
-#include <Evas.h>
+typedef struct _Evas_Object Evas_Object;
 #elif PLATFORM(CHROMIUM)
 #include "PlatformIcon.h"
 #endif
index 5c5eae1..ad90dd9 100644 (file)
@@ -51,8 +51,6 @@ QT_END_NAMESPACE
 typedef struct _GdkRectangle GdkRectangle;
 #elif PLATFORM(HAIKU)
 class BRect;
-#elif PLATFORM(EFL)
-#include <Evas.h>
 #endif
 
 #if PLATFORM(WX)
@@ -155,9 +153,6 @@ public:
 #elif PLATFORM(HAIKU)
     explicit IntRect(const BRect&);
     operator BRect() const;
-#elif PLATFORM(EFL)
-    explicit IntRect(const Eina_Rectangle&);
-    operator Eina_Rectangle() const;
 #endif
 
 #if PLATFORM(CG)
diff --git a/WebCore/platform/graphics/efl/FloatRectEfl.cpp b/WebCore/platform/graphics/efl/FloatRectEfl.cpp
deleted file mode 100644 (file)
index 12f8d03..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * 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 "FloatRect.h"
-
-namespace WebCore {
-
-FloatRect::FloatRect(const Eina_Rectangle& r)
-    : m_location(FloatPoint(r.x, r.y))
-    , m_size(r.w, r.h)
-{
-}
-
-FloatRect::operator Eina_Rectangle() const // NOLINT
-{
-    Eina_Rectangle r = {(int) round(x()), (int) round(y()), (int) round(width()), (int) round(height())};
-    return r;
-}
-
-}
-
diff --git a/WebCore/platform/graphics/efl/IntRectEfl.cpp b/WebCore/platform/graphics/efl/IntRectEfl.cpp
deleted file mode 100644 (file)
index 5ff8626..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * 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 "IntRect.h"
-
-namespace WebCore {
-
-IntRect::IntRect(const Eina_Rectangle& r)
-    : m_location(IntPoint(r.x, r.y))
-    , m_size(r.w, r.h)
-{
-}
-
-IntRect::operator Eina_Rectangle() const // NOLINT
-{
-    Eina_Rectangle r = { x(), y(), width(), height() };
-    return r;
-}
-
-}
-
index 23d3e87..deb29e3 100644 (file)
@@ -1,3 +1,19 @@
+2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
+
+        Reviewed by Eric Seidel.
+
+        Clean EFL header files in order to diminish the compilation time with
+        EFL from subversion. We remove the EFL includes from header files and use
+        forward declarations, including the headers in correspondent source
+        files when needed. This causes only the needed source files to be
+        recompiled in case a new version of EFL is installed instead of
+        triggering a recompilation of almost all WebCore/WebKit.
+        https://bugs.webkit.org/show_bug.cgi?id=40575
+
+        * efl/WebCoreSupport/ChromeClientEfl.cpp: include needed header.
+        * efl/WebCoreSupport/ChromeClientEfl.h: forward declaration.
+        * efl/WebCoreSupport/EditorClientEfl.h: forward declaration.
+
 2010-06-15  Gustavo Noronha Silva  <gns@gnome.org>
 
         Unreviewed EFL build fix. Simple typo.
index c51befb..bc75ddb 100644 (file)
@@ -50,6 +50,8 @@
 #include "ewk_private.h"
 #include <wtf/text/CString.h>
 
+#include <Evas.h>
+
 using namespace WebCore;
 
 static inline Evas_Object* kit(Frame* frame)
index 399ef7f..fccf54f 100644 (file)
@@ -26,7 +26,8 @@
 #include "ChromeClient.h"
 #include "KURL.h"
 #include "PopupMenu.h"
-#include <Evas.h>
+
+typedef struct _Evas_Object Evas_Object;
 
 namespace WebCore {
 
index ead1169..a53d624 100644 (file)
 #define EditorClientEfl_h
 
 #include "EditorClient.h"
-#include <Evas.h>
 
 #include <wtf/Forward.h>
 
+typedef struct _Evas_Object Evas_Object;
+
 namespace WebCore {
 class Page;