Diff
Modified: trunk/Source/WTF/ChangeLog (111672 => 111673)
--- trunk/Source/WTF/ChangeLog 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WTF/ChangeLog 2012-03-22 12:43:03 UTC (rev 111673)
@@ -1,3 +1,12 @@
+2012-03-22 Hyowon Kim <[email protected]>
+
+ [EFL] Add PageClientEfl to WebCoreSupport.
+ https://bugs.webkit.org/show_bug.cgi?id=80748
+
+ Reviewed by Noam Rosenthal.
+
+ * wtf/Platform.h: Disable accelerated compositing. It's not ready yet.
+
2012-03-21 Beth Dakin <[email protected]>
https://bugs.webkit.org/show_bug.cgi?id=80322
Modified: trunk/Source/WTF/wtf/Platform.h (111672 => 111673)
--- trunk/Source/WTF/wtf/Platform.h 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WTF/wtf/Platform.h 2012-03-22 12:43:03 UTC (rev 111673)
@@ -1062,7 +1062,7 @@
#endif
/* Accelerated compositing */
-#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(QT) || (PLATFORM(WIN) && !OS(WINCE) && !PLATFORM(WIN_CAIRO)) || PLATFORM(EFL)
+#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(QT) || (PLATFORM(WIN) && !OS(WINCE) && !PLATFORM(WIN_CAIRO))
#define WTF_USE_ACCELERATED_COMPOSITING 1
#endif
Modified: trunk/Source/WebCore/ChangeLog (111672 => 111673)
--- trunk/Source/WebCore/ChangeLog 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebCore/ChangeLog 2012-03-22 12:43:03 UTC (rev 111673)
@@ -1,3 +1,17 @@
+2012-03-22 Hyowon Kim <[email protected]>
+
+ [EFL] Add PageClientEfl to WebCoreSupport.
+ https://bugs.webkit.org/show_bug.cgi?id=80748
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
+ (WebCore):
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
+ (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
+ * plugins/efl/PluginViewEfl.cpp:
+ (WebCore::PluginView::platformGetValue): Use PageClientEfl.
+
2012-03-22 Kaustubh Atrawalkar <[email protected]>
blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
Modified: trunk/Source/WebCore/platform/Widget.h (111672 => 111673)
--- trunk/Source/WebCore/platform/Widget.h 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebCore/platform/Widget.h 2012-03-22 12:43:03 UTC (rev 111673)
@@ -90,6 +90,11 @@
#elif PLATFORM(BLACKBERRY)
#include "PageClientBlackBerry.h"
typedef PageClientBlackBerry* PlatformPageClient;
+#elif PLATFORM(EFL)
+namespace WebCore {
+class PageClientEfl;
+typedef PageClientEfl* PlatformPageClient;
+}
#else
typedef PlatformWidget PlatformPageClient;
#endif
Modified: trunk/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp (111672 => 111673)
--- trunk/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp 2012-03-22 12:43:03 UTC (rev 111673)
@@ -139,7 +139,7 @@
evas_gl_native_surface_get(m_evasGL, m_surface, &nativeSurface);
// Create and specially set up a evas_object which act as the render targer surface.
- if (!pageClient->createEvasObjectForAcceleratedCompositing(&nativeSurface, x, y, width, height))
+ if (!pageClient->createEvasObjectForAcceleratedCompositing(&nativeSurface, IntRect(x, y, width, height)))
return false;
}
#endif
Modified: trunk/Source/WebCore/plugins/efl/PluginViewEfl.cpp (111672 => 111673)
--- trunk/Source/WebCore/plugins/efl/PluginViewEfl.cpp 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebCore/plugins/efl/PluginViewEfl.cpp 2012-03-22 12:43:03 UTC (rev 111673)
@@ -38,6 +38,7 @@
#include "HostWindow.h"
#include "MouseEvent.h"
#include "NotImplemented.h"
+#include "PageClientEfl.h"
#include "PluginPackage.h"
#include "npruntime_impl.h"
#include "runtime/JSLock.h"
@@ -282,7 +283,8 @@
}
case NPNVnetscapeWindow: {
- Evas_Object* widget = m_parentFrame->view()->hostWindow()->platformPageClient();
+ PageClientEfl* pageClient = static_cast<PageClientEfl*>(m_parentFrame->view()->hostWindow()->platformPageClient());
+ Evas_Object* widget = pageClient->view();
Evas* evas = evas_object_evas_get(widget);
Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(evas);
*static_cast<XID*>(value) = static_cast<Window>(ecore_evas_window_get(ecoreEvas));
Modified: trunk/Source/WebKit/ChangeLog (111672 => 111673)
--- trunk/Source/WebKit/ChangeLog 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebKit/ChangeLog 2012-03-22 12:43:03 UTC (rev 111673)
@@ -1,3 +1,13 @@
+2012-03-22 Hyowon Kim <[email protected]>
+
+ [EFL] Add PageClientEfl to WebCoreSupport.
+ https://bugs.webkit.org/show_bug.cgi?id=80748
+
+ Reviewed by Noam Rosenthal.
+
+ * PlatformEfl.cmake: Add WebCore/platform/graphics/efl to the include path
+ and PageClientEfl.cpp to the source list.
+
2012-03-20 Eric Seidel <[email protected]>
Move wtf/Platform.h from _javascript_Core to Source/WTF/wtf
Modified: trunk/Source/WebKit/PlatformEfl.cmake (111672 => 111673)
--- trunk/Source/WebKit/PlatformEfl.cmake 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebKit/PlatformEfl.cmake 2012-03-22 12:43:03 UTC (rev 111673)
@@ -13,6 +13,7 @@
"${_javascript_CORE_DIR}/wtf/gobject"
"${WEBCORE_DIR}/platform/efl"
"${WEBCORE_DIR}/platform/graphics/cairo"
+ "${WEBCORE_DIR}/platform/graphics/efl"
${Cairo_INCLUDE_DIRS}
${ECORE_X_INCLUDE_DIRS}
${EDJE_INCLUDE_DIRS}
@@ -80,6 +81,7 @@
efl/WebCoreSupport/StorageTrackerClientEfl.cpp
efl/WebCoreSupport/InspectorClientEfl.cpp
efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
+ efl/WebCoreSupport/PageClientEfl.cpp
efl/ewk/ewk_auth.cpp
efl/ewk/ewk_auth_soup.cpp
Modified: trunk/Source/WebKit/efl/ChangeLog (111672 => 111673)
--- trunk/Source/WebKit/efl/ChangeLog 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebKit/efl/ChangeLog 2012-03-22 12:43:03 UTC (rev 111673)
@@ -1,3 +1,37 @@
+2012-03-22 Hyowon Kim <[email protected]>
+
+ [EFL] Add PageClientEfl to WebCoreSupport.
+ https://bugs.webkit.org/show_bug.cgi?id=80748
+
+ Reviewed by Noam Rosenthal.
+
+ This patch adds PageClientEfl for implementaion of accelerated compositing.
+
+ * WebCoreSupport/ChromeClientEfl.cpp:
+ (WebCore::ChromeClientEfl::platformPageClient):
+ * WebCoreSupport/PageClientEfl.cpp: Added.
+ (WebCore):
+ (WebCore::PageClientEfl::PageClientEfl):
+ (WebCore::PageClientEfl::~PageClientEfl):
+ (WebCore::PageClientEfl::createEvasObjectForAcceleratedCompositing):
+ Just call ewk_view_accelerated_compositing_object_create().
+ (WebCore::PageClientEfl::acceleratedCompositingContext):
+ Just call ewk_view_accelerated_compositing_context_get().
+ * WebCoreSupport/PageClientEfl.h: Added.
+ (WebCore):
+ (PageClientEfl):
+ (WebCore::PageClientEfl::view): Return ewkView.
+ * ewk/ewk_private.h:
+ (WebCore):
+ (EWKPrivate):
+ * ewk/ewk_view.cpp:
+ (_Ewk_View_Private_Data): Add OwnPtr<PageClientEfl>.
+ (_ewk_view_priv_new): Create a new PageClientEfl.
+ (ewk_view_accelerated_compositing_object_create): Not implemented.
+ (ewk_view_accelerated_compositing_context_get): Not implemented.
+ (EWKPrivate::corePageClient): Return the PageClientEfl pointer.
+ (EWKPrivate):
+
2012-03-19 Adam Barth <[email protected]>
Remove support for "magic" iframe
Modified: trunk/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp (111672 => 111673)
--- trunk/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp 2012-03-22 12:43:03 UTC (rev 111673)
@@ -339,7 +339,7 @@
PlatformPageClient ChromeClientEfl::platformPageClient() const
{
- return m_view;
+ return EWKPrivate::corePageClient(m_view);
}
void ChromeClientEfl::scrollbarsModeDidChange() const
Added: trunk/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp (0 => 111673)
--- trunk/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp (rev 0)
+++ trunk/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp 2012-03-22 12:43:03 UTC (rev 111673)
@@ -0,0 +1,49 @@
+/*
+ Copyright (C) 2012 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.1 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 "PageClientEfl.h"
+
+#include "ewk_private.h"
+
+namespace WebCore {
+
+PageClientEfl::PageClientEfl(Evas_Object* view)
+ : m_view(view)
+{
+ ASSERT(m_view);
+}
+
+PageClientEfl::~PageClientEfl()
+{
+}
+
+#if USE(ACCELERATED_COMPOSITING)
+bool PageClientEfl::createEvasObjectForAcceleratedCompositing(Evas_Native_Surface* nativeSurface, const IntRect& rect)
+{
+ return ewk_view_accelerated_compositing_object_create(m_view, nativeSurface, rect);
+}
+
+GraphicsContext3D* PageClientEfl::acceleratedCompositingContext()
+{
+ return ewk_view_accelerated_compositing_context_get(m_view);
+}
+#endif
+
+}
Added: trunk/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h (0 => 111673)
--- trunk/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h (rev 0)
+++ trunk/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h 2012-03-22 12:43:03 UTC (rev 111673)
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2012 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.1 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.
+ */
+
+#ifndef PageClientEfl_h
+#define PageClientEfl_h
+
+#include "IntRect.h"
+
+typedef struct _Evas_Native_Surface Evas_Native_Surface;
+typedef struct _Evas_Object Evas_Object;
+
+namespace WebCore {
+
+class GraphicsContext3D;
+
+class PageClientEfl {
+public:
+ PageClientEfl(Evas_Object* view);
+ virtual ~PageClientEfl();
+
+#if USE(ACCELERATED_COMPOSITING)
+ bool createEvasObjectForAcceleratedCompositing(Evas_Native_Surface*, const IntRect&);
+ GraphicsContext3D* acceleratedCompositingContext();
+#endif
+
+ Evas_Object* view() { return m_view; }
+
+protected:
+ Evas_Object* m_view;
+};
+
+} // namespace WebCore
+
+#endif // PageClientEfl_h
Modified: trunk/Source/WebKit/efl/ewk/ewk_private.h (111672 => 111673)
--- trunk/Source/WebKit/efl/ewk/ewk_private.h 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebKit/efl/ewk/ewk_private.h 2012-03-22 12:43:03 UTC (rev 111673)
@@ -36,6 +36,9 @@
#include "ewk_js.h"
#include "ewk_view.h"
#include <Evas.h>
+#if USE(ACCELERATED_COMPOSITING)
+#include <Evas_GL.h>
+#endif
#include <wtf/PassRefPtr.h>
#include <wtf/Vector.h>
@@ -74,6 +77,10 @@
struct PopupMenuClient;
struct ContextMenu;
struct ContextMenuItem;
+#if USE(ACCELERATED_COMPOSITING)
+class GraphicsContext3D;
+class GraphicsLayer;
+#endif
}
struct Ewk_Window_Object_Cleared_Event {
@@ -87,6 +94,7 @@
WebCore::Frame *coreFrame(const Evas_Object *ewkFrame);
WebCore::Page *corePage(const Evas_Object *ewkView);
WebCore::HistoryItem *coreHistoryItem(const Ewk_History_Item *ewkHistoryItem);
+WebCore::PlatformPageClient corePageClient(Evas_Object* ewkView);
Evas_Object* kitFrame(const WebCore::Frame* coreFrame);
@@ -234,4 +242,9 @@
void ewk_view_mixed_content_displayed_set(Evas_Object* ewkView, bool hasDisplayed);
void ewk_view_mixed_content_run_set(Evas_Object* ewkView, bool hasRun);
+#if USE(ACCELERATED_COMPOSITING)
+bool ewk_view_accelerated_compositing_object_create(Evas_Object* ewkView, Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect);
+WebCore::GraphicsContext3D* ewk_view_accelerated_compositing_context_get(Evas_Object* ewkView);
+#endif
+
#endif // ewk_private_h
Modified: trunk/Source/WebKit/efl/ewk/ewk_view.cpp (111672 => 111673)
--- trunk/Source/WebKit/efl/ewk/ewk_view.cpp 2012-03-22 12:38:45 UTC (rev 111672)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.cpp 2012-03-22 12:43:03 UTC (rev 111673)
@@ -45,6 +45,7 @@
#include "JSDOMWindow.h"
#include "JSLock.h"
#include "LayoutTypes.h"
+#include "PageClientEfl.h"
#include "PlatformMouseEvent.h"
#include "PopupMenuClient.h"
#include "ProgressTracker.h"
@@ -78,6 +79,10 @@
#include "BatteryClientEfl.h"
#endif
+#if USE(ACCELERATED_COMPOSITING)
+#include "NotImplemented.h"
+#endif
+
static const float zoomMinimum = 0.05;
static const float zoomMaximum = 4.0;
@@ -142,6 +147,7 @@
WebCore::Frame* mainFrame;
WebCore::ViewportArguments viewportArguments;
Ewk_History* history;
+ OwnPtr<WebCore::PageClientEfl> pageClient;
struct {
Ewk_Menu menu;
WebCore::PopupMenuClient* menuClient;
@@ -716,6 +722,8 @@
priv->soupSession = WebCore::ResourceHandle::defaultSession();
+ priv->pageClient = adoptPtr(new WebCore::PageClientEfl(smartData->self));
+
return priv;
}
@@ -3924,6 +3932,20 @@
priv->soupSession = session;
}
+#if USE(ACCELERATED_COMPOSITING)
+bool ewk_view_accelerated_compositing_object_create(Evas_Object* ewkView, Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect)
+{
+ notImplemented();
+ return false;
+}
+
+WebCore::GraphicsContext3D* ewk_view_accelerated_compositing_context_get(Evas_Object* ewkView)
+{
+ notImplemented();
+ return 0;
+}
+#endif
+
namespace EWKPrivate {
WebCore::Page *corePage(const Evas_Object *ewkView)
@@ -3933,4 +3955,11 @@
return priv->page.get();
}
+WebCore::PlatformPageClient corePageClient(Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
+ return priv->pageClient.get();
+}
+
} // namespace EWKPrivate