Changeset 83945 in webkit


Ignore:
Timestamp:
Apr 14, 2011 10:18:02 PM (13 years ago)
Author:
joone.hur@collabora.co.uk
Message:

2011-04-14 Joone Hur <joone.hur@collabora.co.uk>

Reviewed by Martin Robinson.

Creating a CairoPath instance is not thread safe
https://bugs.webkit.org/show_bug.cgi?id=58514

This patch allows a cairo surface to be created just one time in order to
guarantee thread safety.
In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to
prevent confusing them with PathCairo.cpp

  • CMakeListsEfl.txt: Added PlatformPathCairo.cpp
  • GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
  • platform/graphics/cairo/CairoPath.h: Removed.
  • platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
  • platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
  • platform/graphics/cairo/PathCairo.cpp: Ditto.
  • platform/graphics/cairo/PlatformPathCairo.cpp: Added. (WebCore::getPathSurface): Getting a static cairo surface. (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor into the CPP file.
  • platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this. (WebCore::CairoPath::~CairoPath): (WebCore::CairoPath::context):
Location:
trunk/Source/WebCore
Files:
2 added
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeListsEfl.txt

    r82968 r83945  
    9292    platform/graphics/cairo/PatternCairo.cpp
    9393    platform/graphics/cairo/PlatformContextCairo.cpp
     94    platform/graphics/cairo/PlatformPathCairo.cpp
    9495    platform/graphics/cairo/RefPtrCairo.cpp
    9596    platform/graphics/cairo/TransformationMatrixCairo.cpp
  • trunk/Source/WebCore/ChangeLog

    r83944 r83945  
     12011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
     2
     3        Reviewed by Martin Robinson.
     4
     5        Creating a CairoPath instance is not thread safe
     6        https://bugs.webkit.org/show_bug.cgi?id=58514
     7
     8        This patch allows a cairo surface to be created just one time in order to
     9        guarantee thread safety.
     10        In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to
     11        prevent confusing them with PathCairo.cpp
     12
     13        * CMakeListsEfl.txt: Added PlatformPathCairo.cpp
     14        * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
     15        * platform/graphics/cairo/CairoPath.h: Removed.
     16        * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
     17        * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
     18        * platform/graphics/cairo/PathCairo.cpp: Ditto.
     19        * platform/graphics/cairo/PlatformPathCairo.cpp: Added.
     20        (WebCore::getPathSurface): Getting a static cairo surface.
     21        (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor
     22        into the CPP file.
     23        * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this.
     24        (WebCore::CairoPath::~CairoPath):
     25        (WebCore::CairoPath::context):
     26
    1272011-04-14  Nat Duca  <nduca@chromium.org>
    228
  • trunk/Source/WebCore/GNUmakefile.list.am

    r83884 r83945  
    36843684        Source/WebCore/page/gtk/EventHandlerGtk.cpp \
    36853685        Source/WebCore/page/gtk/FrameGtk.cpp \
    3686         Source/WebCore/platform/graphics/cairo/CairoPath.h \
    36873686        Source/WebCore/platform/graphics/cairo/CairoUtilities.cpp \
    36883687        Source/WebCore/platform/graphics/cairo/CairoUtilities.h \
     
    37033702        Source/WebCore/platform/graphics/cairo/PlatformContextCairo.cpp \
    37043703        Source/WebCore/platform/graphics/cairo/PlatformContextCairo.h \
     3704        Source/WebCore/platform/graphics/cairo/PlatformPathCairo.h \
     3705        Source/WebCore/platform/graphics/cairo/PlatformPathCairo.cpp \
    37053706        Source/WebCore/platform/graphics/cairo/RefPtrCairo.cpp \
    37063707        Source/WebCore/platform/graphics/cairo/RefPtrCairo.h \
  • trunk/Source/WebCore/platform/graphics/cairo/CairoUtilities.cpp

    r76697 r83945  
    2828
    2929#include "AffineTransform.h"
    30 #include "CairoPath.h"
    3130#include "Color.h"
    3231#include "FloatPoint.h"
     
    3534#include "OwnPtrCairo.h"
    3635#include "Path.h"
     36#include "PlatformPathCairo.h"
    3737#include "RefPtrCairo.h"
    3838#include <wtf/Vector.h>
  • trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp

    r83226 r83945  
    3636
    3737#include "AffineTransform.h"
    38 #include "CairoPath.h"
    3938#include "CairoUtilities.h"
    4039#include "ContextShadow.h"
     
    4948#include "Pattern.h"
    5049#include "PlatformContextCairo.h"
     50#include "PlatformPathCairo.h"
    5151#include "RefPtrCairo.h"
    5252#include "SimpleFontData.h"
  • trunk/Source/WebCore/platform/graphics/cairo/PathCairo.cpp

    r80557 r83945  
    2828
    2929#include "AffineTransform.h"
    30 #include "CairoPath.h"
    3130#include "FloatRect.h"
    3231#include "GraphicsContext.h"
    3332#include "OwnPtrCairo.h"
     33#include "PlatformPathCairo.h"
    3434#include "PlatformString.h"
    3535#include "StrokeStyleApplier.h"
Note: See TracChangeset for help on using the changeset viewer.