Changeset 129387 in webkit


Ignore:
Timestamp:
Sep 24, 2012 10:45:12 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[GTK] Implement GraphicsLayer using Clutter
https://bugs.webkit.org/show_bug.cgi?id=73767

Source/WebCore:

Patch by Joone Hur <joone.hur@intel.com>, Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2012-09-24
Reviewed by Martin Robinson.

This patch is needed for enabling Accelerated Compositing(Clutter backend)
with the patches submitted in bug 92045 and 91940.

No new tests. This will be covered by pixel tests for Qt/GTK+ accelerated
compositing and 3D transforms.

  • GNUmakefile.list.am:
  • platform/clutter/GRefPtrClutter.cpp: Removed.
  • platform/clutter/GRefPtrClutter.h: Removed.
  • platform/graphics/clutter/PlatformClutterLayerClient.h: Added.

(WebCore):
(PlatformClutterLayerClient):
(WebCore::PlatformClutterLayerClient::~PlatformClutterLayerClient):

  • platform/graphics/clutter/TransformationMatrixClutter.cpp: Added to convert CoglMatrix to

TransformationMatrix.
(WebCore):
(WebCore::TransformationMatrix::operator CoglMatrix):

  • platform/graphics/transforms/TransformationMatrix.h:

(TransformationMatrix):

Source/WebKit/gtk:

Patch by Joone Hur <joone.hur@intel.com> on 2012-09-24
Reviewed by Martin Robinson.

This patch is needed for enabling Accelerated Compositing(Clutter backend)
with the patches submitted in bug 92045 and 91940.

  • WebCoreSupport/AcceleratedCompositingContextClutter.cpp:

(WebKit::AcceleratedCompositingContext::scrollNonCompositedContents): Added to fix bulid break.
(WebKit):

Source/WebKit2:

Patch by Joone Hur <joone.hur@intel.com>, Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2012-09-24
Reviewed by Martin Robinson.

Fixed link errors by adding Clutter library and header to WebKit2 build.

  • GNUmakefile.am:

Source/WTF:

Patch by Joone Hur <joone.hur@intel.com> on 2012-09-24
Reviewed by Martin Robinson.

Add ClutterActor and GraphicsLayerActor to GTypedefs.h.

  • wtf/gobject/GTypedefs.h:
Location:
trunk/Source
Files:
1 added
2 deleted
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r129319 r129387  
     12012-09-24  Joone Hur  <joone.hur@intel.com>
     2
     3        [GTK] Implement GraphicsLayer using Clutter
     4        https://bugs.webkit.org/show_bug.cgi?id=73767
     5
     6        Reviewed by Martin Robinson.
     7
     8        Add ClutterActor and GraphicsLayerActor to GTypedefs.h.
     9
     10        * wtf/gobject/GTypedefs.h:
     11
    1122012-09-23  Byungwoo Lee  <bw80.lee@gmail.com>
    213
  • trunk/Source/WTF/wtf/gobject/GTypedefs.h

    r122547 r129387  
    7272#endif
    7373
     74#if USE(CLUTTER)
     75typedef struct _ClutterActor ClutterActor;
     76typedef struct _GraphicsLayerActor GraphicsLayerActor;
     77#endif
     78
    7479#if PLATFORM(GTK)
    7580typedef struct _GtkAction GtkAction;
  • trunk/Source/WebCore/ChangeLog

    r129385 r129387  
     12012-09-24  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
     2
     3        [GTK] Implement GraphicsLayer using Clutter
     4        https://bugs.webkit.org/show_bug.cgi?id=73767
     5
     6        Reviewed by Martin Robinson.
     7       
     8        This patch is needed for enabling Accelerated Compositing(Clutter backend)
     9        with the patches submitted in bug 92045 and 91940.
     10       
     11        No new tests. This will be covered by pixel tests for Qt/GTK+ accelerated
     12        compositing and 3D transforms.
     13
     14        * GNUmakefile.list.am:
     15        * platform/clutter/GRefPtrClutter.cpp: Removed.
     16        * platform/clutter/GRefPtrClutter.h: Removed.
     17        * platform/graphics/clutter/PlatformClutterLayerClient.h: Added.
     18        (WebCore):
     19        (PlatformClutterLayerClient):
     20        (WebCore::PlatformClutterLayerClient::~PlatformClutterLayerClient):
     21        * platform/graphics/clutter/TransformationMatrixClutter.cpp: Added to convert CoglMatrix to
     22        TransformationMatrix.
     23        (WebCore):
     24        (WebCore::TransformationMatrix::operator CoglMatrix):
     25        * platform/graphics/transforms/TransformationMatrix.h:
     26        (TransformationMatrix):
     27
    1282012-09-24  David Grogan  <dgrogan@chromium.org>
    229
  • trunk/Source/WebCore/GNUmakefile.list.am

    r128992 r129387  
    62396239if USE_CLUTTER
    62406240webcore_sources += \
    6241         Source/WebCore/platform/clutter/GRefPtrClutter.cpp \
    6242         Source/WebCore/platform/clutter/GRefPtrClutter.h \
    62436241        Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp \
    6244         Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h
     6242        Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h \
     6243        Source/WebCore/platform/graphics/clutter/TransformationMatrixClutter.cpp
    62456244endif  # END USE_CLUTTER
    62466245
  • trunk/Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h

    r102448 r129387  
    3030#if USE(ACCELERATED_COMPOSITING)
    3131
    32 #include "GRefPtrClutter.h"
    3332#include "GraphicsLayer.h"
    3433
    3534#include <clutter/clutter.h>
     35#include <wtf/gobject/GRefPtr.h>
    3636
    3737namespace WebCore {
  • trunk/Source/WebCore/platform/graphics/clutter/PlatformClutterLayerClient.h

    r129386 r129387  
    2222 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    2323 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
     24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2525 */
    2626
    27 #ifndef GraphicsLayerClutter_h
    28 #define GraphicsLayerClutter_h
     27#ifndef PlatformClutterLayerClient_h
     28#define PlatformClutterLayerClient_h
    2929
    3030#if USE(ACCELERATED_COMPOSITING)
    3131
    32 #include "GRefPtrClutter.h"
     32#include "GraphicsContext.h"
    3333#include "GraphicsLayer.h"
    34 
    35 #include <clutter/clutter.h>
    3634
    3735namespace WebCore {
    3836
    39 class GraphicsLayerClutter : public GraphicsLayer {
     37class PlatformClutterLayerClient {
    4038public:
    41     GraphicsLayerClutter(GraphicsLayerClient*);
    42     virtual ~GraphicsLayerClutter();
     39    virtual void platformClutterLayerPaintContents(GraphicsContext&, const IntRect& inClip) = 0;
     40    virtual void platformClutterLayerAnimationStarted(double startTime) = 0;
    4341
    44     virtual ClutterActor* platformLayer() const;
    45     virtual void setNeedsDisplay();
    46     virtual void setNeedsDisplayInRect(const FloatRect&);
    47 
    48 private:
    49     GRefPtr<ClutterActor> m_layer;
     42protected:
     43    virtual ~PlatformClutterLayerClient() { }
    5044};
    5145
    52 } // namespace WebCore
     46}
    5347
    5448#endif // USE(ACCELERATED_COMPOSITING)
    5549
    56 #endif // GraphicsLayerClutter_h
     50#endif // PlatformClutterLayerClient_h
     51
  • trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h

    r126816 r129387  
    3434#if USE(CA)
    3535typedef struct CATransform3D CATransform3D;
     36#endif
     37#if USE(CLUTTER)
     38typedef struct _CoglMatrix CoglMatrix;
    3639#endif
    3740#if USE(CG)
     
    325328    operator CATransform3D() const;
    326329#endif
     330#if USE(CLUTTER)
     331    operator CoglMatrix() const;
     332#endif
    327333#if USE(CG)
    328334    TransformationMatrix(const CGAffineTransform&);
  • trunk/Source/WebKit/gtk/ChangeLog

    r129000 r129387  
     12012-09-24  Joone Hur  <joone.hur@intel.com>
     2
     3        [GTK] Implement GraphicsLayer using Clutter
     4        https://bugs.webkit.org/show_bug.cgi?id=73767
     5
     6        Reviewed by Martin Robinson.
     7
     8        This patch is needed for enabling Accelerated Compositing(Clutter backend)
     9        with the patches submitted in bug 92045 and 91940.
     10
     11        * WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
     12        (WebKit::AcceleratedCompositingContext::scrollNonCompositedContents): Added to fix bulid break.
     13        (WebKit):
     14
    1152012-09-19  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
    216
  • trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextClutter.cpp

    r128372 r129387  
    113113}
    114114
     115void AcceleratedCompositingContext::scrollNonCompositedContents(const IntRect& scrollRect, const IntSize& scrollOffset)
     116{
     117    notImplemented();
     118}
     119
    115120static gboolean flushAndRenderLayersCallback(AcceleratedCompositingContext* context)
    116121{
  • trunk/Source/WebKit2/ChangeLog

    r129380 r129387  
     12012-09-24  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
     2
     3        [GTK] Implement GraphicsLayer using Clutter
     4        https://bugs.webkit.org/show_bug.cgi?id=73767
     5
     6        Reviewed by Martin Robinson.
     7
     8        Fixed link errors by adding Clutter library and header to WebKit2 build.
     9
     10        * GNUmakefile.am:
     11
    1122012-09-24  Carlos Garcia Campos  <cgarcia@igalia.com>
    213
  • trunk/Source/WebKit2/GNUmakefile.am

    r126421 r129387  
    102102        $(webcoregtk_cppflags) \
    103103        $(javascriptcore_cppflags) \
     104        $(CLUTTER_CFLAGS) \
    104105        $(COVERAGE_CFLAGS) \
    105106        $(GEOCLUE_CFLAGS) \
     
    163164        libWebCoreGtk.la \
    164165        $(CAIRO_LIBS) \
     166        $(CLUTTER_LIBS) \
    165167        $(COVERAGE_LDFLAGS) \
    166168        $(FARSTREAM_LIBS) \
Note: See TracChangeset for help on using the changeset viewer.