WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
patch with updates from comment #16
bugzilla_20120322_nitpick.patch (text/plain), 14.96 KB, created by
Hyowon Kim
on 2012-03-22 04:12:31 PDT
(
hide
)
Description:
patch with updates from comment #16
Filename:
MIME Type:
Creator:
Hyowon Kim
Created:
2012-03-22 04:12:31 PDT
Size:
14.96 KB
patch
obsolete
>diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index e07e040..c77b5c6 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,12 @@ >+2012-03-22 Hyowon Kim <hw1008.kim@samsung.com> >+ >+ [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 <bdakin@apple.com> > > https://bugs.webkit.org/show_bug.cgi?id=80322 >diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h >index 50ebbcb..d5940a0 100644 >--- a/Source/WTF/wtf/Platform.h >+++ b/Source/WTF/wtf/Platform.h >@@ -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 > >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 520c99d..3bcc2b2 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2012-03-22 Hyowon Kim <hw1008.kim@samsung.com> >+ >+ [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 Kent Tamura <tkent@chromium.org> > > Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect(). >diff --git a/Source/WebCore/platform/Widget.h b/Source/WebCore/platform/Widget.h >index aeb33ec..0d7cfd2 100644 >--- a/Source/WebCore/platform/Widget.h >+++ b/Source/WebCore/platform/Widget.h >@@ -90,6 +90,11 @@ typedef QWebPageClient* PlatformPageClient; > #elif PLATFORM(BLACKBERRY) > #include "PageClientBlackBerry.h" > typedef PageClientBlackBerry* PlatformPageClient; >+#elif PLATFORM(EFL) >+namespace WebCore { >+class PageClientEfl; >+typedef PageClientEfl* PlatformPageClient; >+} > #else > typedef PlatformWidget PlatformPageClient; > #endif >diff --git a/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp b/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp >index 08153f0..e51ddc1 100644 >--- a/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp >+++ b/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp >@@ -139,7 +139,7 @@ bool GraphicsContext3DPrivate::createSurface(PageClientEfl* pageClient, bool ren > 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 >diff --git a/Source/WebCore/plugins/efl/PluginViewEfl.cpp b/Source/WebCore/plugins/efl/PluginViewEfl.cpp >index 586802c..86ea200 100644 >--- a/Source/WebCore/plugins/efl/PluginViewEfl.cpp >+++ b/Source/WebCore/plugins/efl/PluginViewEfl.cpp >@@ -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 @@ bool PluginView::platformGetValue(NPNVariable variable, void* value, NPError* re > } > > 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)); >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 85b85e7..61da4a3 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,13 @@ >+2012-03-22 Hyowon Kim <hw1008.kim@samsung.com> >+ >+ [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 <eric@webkit.org> > > Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf >diff --git a/Source/WebKit/PlatformEfl.cmake b/Source/WebKit/PlatformEfl.cmake >index 1584135..10010c9 100644 >--- a/Source/WebKit/PlatformEfl.cmake >+++ b/Source/WebKit/PlatformEfl.cmake >@@ -13,6 +13,7 @@ LIST(APPEND WebKit_INCLUDE_DIRECTORIES > "${JAVASCRIPTCORE_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 @@ LIST(APPEND WebKit_SOURCES > 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 >diff --git a/Source/WebKit/efl/ChangeLog b/Source/WebKit/efl/ChangeLog >index 5403709..123c7c1 100644 >--- a/Source/WebKit/efl/ChangeLog >+++ b/Source/WebKit/efl/ChangeLog >@@ -1,3 +1,37 @@ >+2012-03-22 Hyowon Kim <hw1008.kim@samsung.com> >+ >+ [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 <abarth@webkit.org> > > Remove support for "magic" iframe >diff --git a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp >index dd79b93..68adf5f 100644 >--- a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp >+++ b/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp >@@ -339,7 +339,7 @@ IntPoint ChromeClientEfl::screenToRootView(const IntPoint& point) const > > PlatformPageClient ChromeClientEfl::platformPageClient() const > { >- return m_view; >+ return EWKPrivate::corePageClient(m_view); > } > > void ChromeClientEfl::scrollbarsModeDidChange() const >diff --git a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp >new file mode 100644 >index 0000000..5e65ede >--- /dev/null >+++ b/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp >@@ -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 >+ >+} >diff --git a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h b/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h >new file mode 100644 >index 0000000..f541303 >--- /dev/null >+++ b/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h >@@ -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 >diff --git a/Source/WebKit/efl/ewk/ewk_private.h b/Source/WebKit/efl/ewk/ewk_private.h >index b4a8dd9..96e4795 100644 >--- a/Source/WebKit/efl/ewk/ewk_private.h >+++ b/Source/WebKit/efl/ewk/ewk_private.h >@@ -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 @@ namespace WebCore { > 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 @@ namespace EWKPrivate { > 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_frame_mixed_content_run_set(Evas_Object* ewkFrame, bool hasRun); > 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 >diff --git a/Source/WebKit/efl/ewk/ewk_view.cpp b/Source/WebKit/efl/ewk/ewk_view.cpp >index 7a52caf..ce0bd89 100644 >--- a/Source/WebKit/efl/ewk/ewk_view.cpp >+++ b/Source/WebKit/efl/ewk/ewk_view.cpp >@@ -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 @@ struct _Ewk_View_Private_Data { > WebCore::Frame* mainFrame; > WebCore::ViewportArguments viewportArguments; > Ewk_History* history; >+ OwnPtr<WebCore::PageClientEfl> pageClient; > struct { > Ewk_Menu menu; > WebCore::PopupMenuClient* menuClient; >@@ -716,6 +722,8 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData) > > priv->soupSession = WebCore::ResourceHandle::defaultSession(); > >+ priv->pageClient = adoptPtr(new WebCore::PageClientEfl(smartData->self)); >+ > return priv; > } > >@@ -3924,6 +3932,20 @@ void ewk_view_soup_session_set(Evas_Object* ewkView, SoupSession* session) > 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 @@ WebCore::Page *corePage(const Evas_Object *ewkView) > 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
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 80748
:
131780
|
132486
|
132982
|
132990
| 133219