Changeset 111673 in webkit


Ignore:
Timestamp:
Mar 22, 2012 5:43:03 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[EFL] Add PageClientEfl to WebCoreSupport.
https://bugs.webkit.org/show_bug.cgi?id=80748

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2012-03-22
Reviewed by Noam Rosenthal.

Source/WebCore:

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

Source/WebKit:

  • PlatformEfl.cmake: Add WebCore/platform/graphics/efl to the include path

and PageClientEfl.cpp to the source list.

Source/WebKit/efl:

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

Source/WTF:

  • wtf/Platform.h: Disable accelerated compositing. It's not ready yet.
Location:
trunk/Source
Files:
2 added
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r111637 r111673  
     12012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
     2
     3        [EFL] Add PageClientEfl to WebCoreSupport.
     4        https://bugs.webkit.org/show_bug.cgi?id=80748
     5
     6        Reviewed by Noam Rosenthal.
     7
     8        * wtf/Platform.h: Disable accelerated compositing. It's not ready yet.
     9
    1102012-03-21  Beth Dakin  <bdakin@apple.com>
    211
  • trunk/Source/WTF/wtf/Platform.h

    r111637 r111673  
    10631063
    10641064/* Accelerated compositing */
    1065 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(QT) || (PLATFORM(WIN) && !OS(WINCE) && !PLATFORM(WIN_CAIRO)) || PLATFORM(EFL)
     1065#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(QT) || (PLATFORM(WIN) && !OS(WINCE) && !PLATFORM(WIN_CAIRO))
    10661066#define WTF_USE_ACCELERATED_COMPOSITING 1
    10671067#endif
  • trunk/Source/WebCore/ChangeLog

    r111672 r111673  
     12012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
     2
     3        [EFL] Add PageClientEfl to WebCoreSupport.
     4        https://bugs.webkit.org/show_bug.cgi?id=80748
     5
     6        Reviewed by Noam Rosenthal.
     7
     8        * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
     9        (WebCore):
     10        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
     11        (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
     12        * plugins/efl/PluginViewEfl.cpp:
     13        (WebCore::PluginView::platformGetValue): Use PageClientEfl.
     14
    1152012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>
    216
  • trunk/Source/WebCore/platform/Widget.h

    r111085 r111673  
    9191#include "PageClientBlackBerry.h"
    9292typedef PageClientBlackBerry* PlatformPageClient;
     93#elif PLATFORM(EFL)
     94namespace WebCore {
     95class PageClientEfl;
     96typedef PageClientEfl* PlatformPageClient;
     97}
    9398#else
    9499typedef PlatformWidget PlatformPageClient;
  • trunk/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp

    r109696 r111673  
    140140
    141141        // Create and specially set up a evas_object which act as the render targer surface.
    142         if (!pageClient->createEvasObjectForAcceleratedCompositing(&nativeSurface, x, y, width, height))
     142        if (!pageClient->createEvasObjectForAcceleratedCompositing(&nativeSurface, IntRect(x, y, width, height)))
    143143            return false;
    144144    }
  • trunk/Source/WebCore/plugins/efl/PluginViewEfl.cpp

    r103544 r111673  
    3939#include "MouseEvent.h"
    4040#include "NotImplemented.h"
     41#include "PageClientEfl.h"
    4142#include "PluginPackage.h"
    4243#include "npruntime_impl.h"
     
    283284
    284285    case NPNVnetscapeWindow: {
    285         Evas_Object* widget = m_parentFrame->view()->hostWindow()->platformPageClient();
     286        PageClientEfl* pageClient = static_cast<PageClientEfl*>(m_parentFrame->view()->hostWindow()->platformPageClient());
     287        Evas_Object* widget = pageClient->view();
    286288        Evas* evas = evas_object_evas_get(widget);
    287289        Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(evas);
  • trunk/Source/WebKit/ChangeLog

    r111504 r111673  
     12012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
     2
     3        [EFL] Add PageClientEfl to WebCoreSupport.
     4        https://bugs.webkit.org/show_bug.cgi?id=80748
     5
     6        Reviewed by Noam Rosenthal.
     7
     8        * PlatformEfl.cmake: Add WebCore/platform/graphics/efl to the include path
     9        and PageClientEfl.cpp to the source list.
     10
    1112012-03-20  Eric Seidel  <eric@webkit.org>
    212
  • trunk/Source/WebKit/PlatformEfl.cmake

    r110991 r111673  
    1414    "${WEBCORE_DIR}/platform/efl"
    1515    "${WEBCORE_DIR}/platform/graphics/cairo"
     16    "${WEBCORE_DIR}/platform/graphics/efl"
    1617    ${Cairo_INCLUDE_DIRS}
    1718    ${ECORE_X_INCLUDE_DIRS}
     
    8182    efl/WebCoreSupport/InspectorClientEfl.cpp
    8283    efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
     84    efl/WebCoreSupport/PageClientEfl.cpp
    8385
    8486    efl/ewk/ewk_auth.cpp
  • trunk/Source/WebKit/efl/ChangeLog

    r111361 r111673  
     12012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
     2
     3        [EFL] Add PageClientEfl to WebCoreSupport.
     4        https://bugs.webkit.org/show_bug.cgi?id=80748
     5
     6        Reviewed by Noam Rosenthal.
     7
     8        This patch adds PageClientEfl for implementaion of accelerated compositing.
     9
     10        * WebCoreSupport/ChromeClientEfl.cpp:
     11        (WebCore::ChromeClientEfl::platformPageClient):
     12        * WebCoreSupport/PageClientEfl.cpp: Added.
     13        (WebCore):
     14        (WebCore::PageClientEfl::PageClientEfl):
     15        (WebCore::PageClientEfl::~PageClientEfl):
     16        (WebCore::PageClientEfl::createEvasObjectForAcceleratedCompositing):
     17        Just call ewk_view_accelerated_compositing_object_create().
     18        (WebCore::PageClientEfl::acceleratedCompositingContext):
     19        Just call ewk_view_accelerated_compositing_context_get().
     20        * WebCoreSupport/PageClientEfl.h: Added.
     21        (WebCore):
     22        (PageClientEfl):
     23        (WebCore::PageClientEfl::view): Return ewkView.
     24        * ewk/ewk_private.h:
     25        (WebCore):
     26        (EWKPrivate):
     27        * ewk/ewk_view.cpp:
     28        (_Ewk_View_Private_Data): Add OwnPtr<PageClientEfl>.
     29        (_ewk_view_priv_new): Create a new PageClientEfl.
     30        (ewk_view_accelerated_compositing_object_create): Not implemented.
     31        (ewk_view_accelerated_compositing_context_get): Not implemented.
     32        (EWKPrivate::corePageClient): Return the PageClientEfl pointer.
     33        (EWKPrivate):
     34
    1352012-03-19  Adam Barth  <abarth@webkit.org>
    236
  • trunk/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp

    r110784 r111673  
    340340PlatformPageClient ChromeClientEfl::platformPageClient() const
    341341{
    342     return m_view;
     342    return EWKPrivate::corePageClient(m_view);
    343343}
    344344
  • trunk/Source/WebKit/efl/ewk/ewk_private.h

    r106908 r111673  
    3737#include "ewk_view.h"
    3838#include <Evas.h>
     39#if USE(ACCELERATED_COMPOSITING)
     40#include <Evas_GL.h>
     41#endif
    3942#include <wtf/PassRefPtr.h>
    4043#include <wtf/Vector.h>
     
    7578struct ContextMenu;
    7679struct ContextMenuItem;
     80#if USE(ACCELERATED_COMPOSITING)
     81class GraphicsContext3D;
     82class GraphicsLayer;
     83#endif
    7784}
    7885
     
    8895WebCore::Page *corePage(const Evas_Object *ewkView);
    8996WebCore::HistoryItem *coreHistoryItem(const Ewk_History_Item *ewkHistoryItem);
     97WebCore::PlatformPageClient corePageClient(Evas_Object* ewkView);
    9098
    9199Evas_Object* kitFrame(const WebCore::Frame* coreFrame);
     
    235243void ewk_view_mixed_content_run_set(Evas_Object* ewkView, bool hasRun);
    236244
     245#if USE(ACCELERATED_COMPOSITING)
     246bool ewk_view_accelerated_compositing_object_create(Evas_Object* ewkView, Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect);
     247WebCore::GraphicsContext3D* ewk_view_accelerated_compositing_context_get(Evas_Object* ewkView);
     248#endif
     249
    237250#endif // ewk_private_h
  • trunk/Source/WebKit/efl/ewk/ewk_view.cpp

    r110991 r111673  
    4646#include "JSLock.h"
    4747#include "LayoutTypes.h"
     48#include "PageClientEfl.h"
    4849#include "PlatformMouseEvent.h"
    4950#include "PopupMenuClient.h"
     
    7778#if ENABLE(BATTERY_STATUS)
    7879#include "BatteryClientEfl.h"
     80#endif
     81
     82#if USE(ACCELERATED_COMPOSITING)
     83#include "NotImplemented.h"
    7984#endif
    8085
     
    143148    WebCore::ViewportArguments viewportArguments;
    144149    Ewk_History* history;
     150    OwnPtr<WebCore::PageClientEfl> pageClient;
    145151    struct {
    146152        Ewk_Menu menu;
     
    717723    priv->soupSession = WebCore::ResourceHandle::defaultSession();
    718724
     725    priv->pageClient = adoptPtr(new WebCore::PageClientEfl(smartData->self));
     726
    719727    return priv;
    720728}
     
    39253933}
    39263934
     3935#if USE(ACCELERATED_COMPOSITING)
     3936bool ewk_view_accelerated_compositing_object_create(Evas_Object* ewkView, Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect)
     3937{
     3938    notImplemented();
     3939    return false;
     3940}
     3941
     3942WebCore::GraphicsContext3D* ewk_view_accelerated_compositing_context_get(Evas_Object* ewkView)
     3943{
     3944    notImplemented();
     3945    return 0;
     3946}
     3947#endif
     3948
    39273949namespace EWKPrivate {
    39283950
     
    39343956}
    39353957
     3958WebCore::PlatformPageClient corePageClient(Evas_Object* ewkView)
     3959{
     3960    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
     3961    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
     3962    return priv->pageClient.get();
     3963}
     3964
    39363965} // namespace EWKPrivate
Note: See TracChangeset for help on using the changeset viewer.