summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/ClipPathOperation.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
commit8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch)
tree17985605dab9263cc2444bd4d45f189e142cca7c /Source/WebCore/rendering/ClipPathOperation.h
parentb9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff)
downloadqtwebkit-8995b83bcbfbb68245f779b64e5517627c6cc6ea.tar.gz
Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 (http://svn.webkit.org/repository/webkit/trunk@131592)
New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well as the previously cherry-picked changes
Diffstat (limited to 'Source/WebCore/rendering/ClipPathOperation.h')
-rw-r--r--Source/WebCore/rendering/ClipPathOperation.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/Source/WebCore/rendering/ClipPathOperation.h b/Source/WebCore/rendering/ClipPathOperation.h
index c469d6df8..a1f77e243 100644
--- a/Source/WebCore/rendering/ClipPathOperation.h
+++ b/Source/WebCore/rendering/ClipPathOperation.h
@@ -42,7 +42,7 @@ namespace WebCore {
class ClipPathOperation : public RefCounted<ClipPathOperation> {
public:
enum OperationType {
- // FIXME: Add referencing for IRI https://bugs.webkit.org/show_bug.cgi?id=96381
+ REFERENCE,
SHAPE
};
@@ -63,6 +63,36 @@ protected:
OperationType m_type;
};
+class ReferenceClipPathOperation : public ClipPathOperation {
+public:
+ static PassRefPtr<ReferenceClipPathOperation> create(const String& url, const String& fragment)
+ {
+ return adoptRef(new ReferenceClipPathOperation(url, fragment));
+ }
+
+ const String& url() const { return m_url; }
+ const String& fragment() const { return m_fragment; }
+
+private:
+ virtual bool operator==(const ClipPathOperation& o) const
+ {
+ if (!isSameType(o))
+ return false;
+ const ReferenceClipPathOperation* other = static_cast<const ReferenceClipPathOperation*>(&o);
+ return m_url == other->m_url;
+ }
+
+ ReferenceClipPathOperation(const String& url, const String& fragment)
+ : ClipPathOperation(REFERENCE)
+ , m_url(url)
+ , m_fragment(fragment)
+ {
+ }
+
+ String m_url;
+ String m_fragment;
+};
+
class ShapeClipPathOperation : public ClipPathOperation {
public:
static PassRefPtr<ShapeClipPathOperation> create(PassRefPtr<BasicShape> shape)