summaryrefslogtreecommitdiff
path: root/Source/WebKit2/Shared
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/Shared')
-rw-r--r--Source/WebKit2/Shared/NativeWebMouseEvent.h2
-rw-r--r--Source/WebKit2/Shared/NativeWebTouchEvent.h2
-rw-r--r--Source/WebKit2/Shared/NativeWebWheelEvent.h2
-rw-r--r--Source/WebKit2/Shared/mac/SecItemRequestData.cpp16
-rw-r--r--Source/WebKit2/Shared/mac/SecItemRequestData.h16
-rw-r--r--Source/WebKit2/Shared/mac/SecItemResponseData.h2
-rw-r--r--Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp62
-rw-r--r--Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h27
-rw-r--r--Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp4
-rw-r--r--Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp4
-rw-r--r--Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp4
-rw-r--r--Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp20
-rw-r--r--Source/WebKit2/Shared/qt/WebEventFactoryQt.h6
13 files changed, 108 insertions, 59 deletions
diff --git a/Source/WebKit2/Shared/NativeWebMouseEvent.h b/Source/WebKit2/Shared/NativeWebMouseEvent.h
index a73f95824..b7bbadbd0 100644
--- a/Source/WebKit2/Shared/NativeWebMouseEvent.h
+++ b/Source/WebKit2/Shared/NativeWebMouseEvent.h
@@ -49,7 +49,7 @@ public:
#elif PLATFORM(WIN)
NativeWebMouseEvent(HWND, UINT message, WPARAM, LPARAM, bool);
#elif PLATFORM(QT)
- explicit NativeWebMouseEvent(QMouseEvent*, int);
+ explicit NativeWebMouseEvent(QMouseEvent*, const QTransform& fromItemTransform, int eventClickCount);
#elif PLATFORM(GTK)
NativeWebMouseEvent(const NativeWebMouseEvent&);
NativeWebMouseEvent(GdkEvent*, int);
diff --git a/Source/WebKit2/Shared/NativeWebTouchEvent.h b/Source/WebKit2/Shared/NativeWebTouchEvent.h
index 3652dd736..f20214a8f 100644
--- a/Source/WebKit2/Shared/NativeWebTouchEvent.h
+++ b/Source/WebKit2/Shared/NativeWebTouchEvent.h
@@ -37,7 +37,7 @@ namespace WebKit {
class NativeWebTouchEvent : public WebTouchEvent {
public:
#if PLATFORM(QT)
- explicit NativeWebTouchEvent(const QTouchEvent*);
+ explicit NativeWebTouchEvent(const QTouchEvent*, const QTransform& fromItemTransform);
#endif
#if PLATFORM(QT)
diff --git a/Source/WebKit2/Shared/NativeWebWheelEvent.h b/Source/WebKit2/Shared/NativeWebWheelEvent.h
index 033ab8082..f0cfa6581 100644
--- a/Source/WebKit2/Shared/NativeWebWheelEvent.h
+++ b/Source/WebKit2/Shared/NativeWebWheelEvent.h
@@ -49,7 +49,7 @@ public:
#elif PLATFORM(WIN)
NativeWebWheelEvent(HWND, UINT message, WPARAM, LPARAM);
#elif PLATFORM(QT)
- explicit NativeWebWheelEvent(QWheelEvent*);
+ explicit NativeWebWheelEvent(QWheelEvent*, const QTransform& fromItemTransform);
#elif PLATFORM(GTK)
NativeWebWheelEvent(const NativeWebWheelEvent&);
NativeWebWheelEvent(GdkEvent*);
diff --git a/Source/WebKit2/Shared/mac/SecItemRequestData.cpp b/Source/WebKit2/Shared/mac/SecItemRequestData.cpp
index 4aa4066a7..aa1c45932 100644
--- a/Source/WebKit2/Shared/mac/SecItemRequestData.cpp
+++ b/Source/WebKit2/Shared/mac/SecItemRequestData.cpp
@@ -32,22 +32,27 @@
namespace WebKit {
SecItemRequestData::SecItemRequestData()
+ : m_type(Invalid)
{
}
-SecItemRequestData::SecItemRequestData(CFDictionaryRef query)
- : m_queryDictionary(query)
+SecItemRequestData::SecItemRequestData(Type type, CFDictionaryRef query)
+ : m_type(type)
+ , m_queryDictionary(query)
{
}
-SecItemRequestData::SecItemRequestData(CFDictionaryRef query, CFDictionaryRef attributesToMatch)
- : m_queryDictionary(query)
+SecItemRequestData::SecItemRequestData(Type type, CFDictionaryRef query, CFDictionaryRef attributesToMatch)
+ : m_type(type)
+ , m_queryDictionary(query)
, m_attributesToMatch(attributesToMatch)
{
}
void SecItemRequestData::encode(CoreIPC::ArgumentEncoder* encoder) const
{
+ encoder->encodeEnum(m_type);
+
CoreIPC::encode(encoder, m_queryDictionary.get());
encoder->encodeBool(m_attributesToMatch.get());
@@ -57,6 +62,9 @@ void SecItemRequestData::encode(CoreIPC::ArgumentEncoder* encoder) const
bool SecItemRequestData::decode(CoreIPC::ArgumentDecoder* decoder, SecItemRequestData& secItemRequestData)
{
+ if (!decoder->decodeEnum(secItemRequestData.m_type))
+ return false;
+
if (!CoreIPC::decode(decoder, secItemRequestData.m_queryDictionary))
return false;
diff --git a/Source/WebKit2/Shared/mac/SecItemRequestData.h b/Source/WebKit2/Shared/mac/SecItemRequestData.h
index 1e21d583f..57b18cfc6 100644
--- a/Source/WebKit2/Shared/mac/SecItemRequestData.h
+++ b/Source/WebKit2/Shared/mac/SecItemRequestData.h
@@ -37,17 +37,29 @@ namespace WebKit {
class SecItemRequestData {
public:
+ enum Type {
+ Invalid,
+ CopyMatching,
+ Add,
+ Update,
+ Delete,
+ CopyContent,
+ };
+
SecItemRequestData();
- SecItemRequestData(CFDictionaryRef query);
- SecItemRequestData(CFDictionaryRef query, CFDictionaryRef attributesToMatch);
+ SecItemRequestData(Type, CFDictionaryRef query);
+ SecItemRequestData(Type, CFDictionaryRef query, CFDictionaryRef attributesToMatch);
void encode(CoreIPC::ArgumentEncoder*) const;
static bool decode(CoreIPC::ArgumentDecoder*, SecItemRequestData&);
+ Type type() const { return m_type; }
+
CFDictionaryRef query() const { return m_queryDictionary.get(); }
CFDictionaryRef attributesToMatch() const { return m_attributesToMatch.get(); }
private:
+ Type m_type;
RetainPtr<CFDictionaryRef> m_queryDictionary;
RetainPtr<CFDictionaryRef> m_attributesToMatch;
};
diff --git a/Source/WebKit2/Shared/mac/SecItemResponseData.h b/Source/WebKit2/Shared/mac/SecItemResponseData.h
index 7d7fb9549..5c9433692 100644
--- a/Source/WebKit2/Shared/mac/SecItemResponseData.h
+++ b/Source/WebKit2/Shared/mac/SecItemResponseData.h
@@ -43,7 +43,7 @@ public:
void encode(CoreIPC::ArgumentEncoder*) const;
static bool decode(CoreIPC::ArgumentDecoder*, SecItemResponseData&);
- RetainPtr<CFTypeRef> resultObject() { return m_resultObject; }
+ RetainPtr<CFTypeRef>& resultObject() { return m_resultObject; }
OSStatus resultCode() const { return m_resultCode; }
private:
diff --git a/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp b/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp
index 7f988ffbe..1b6a3c25c 100644
--- a/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp
+++ b/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp
@@ -32,29 +32,36 @@
namespace WebKit {
SecKeychainItemRequestData::SecKeychainItemRequestData()
- : m_itemClass(0)
+ : m_type(Invalid)
+ , m_itemClass(0)
+ , m_attrs(adoptRef(new Attributes))
{
}
-SecKeychainItemRequestData::SecKeychainItemRequestData(SecKeychainItemRef item, SecKeychainAttributeList* attrList)
- : m_keychainItem(item)
+SecKeychainItemRequestData::SecKeychainItemRequestData(Type type, SecKeychainItemRef item, SecKeychainAttributeList* attrList)
+ : m_type(type)
+ , m_keychainItem(item)
, m_itemClass(0)
+ , m_attrs(adoptRef(new Attributes))
{
initializeWithAttributeList(attrList);
}
-SecKeychainItemRequestData::SecKeychainItemRequestData(SecKeychainItemRef item, SecKeychainAttributeList* attrList, UInt32 length, const void* data)
- : m_keychainItem(item)
+SecKeychainItemRequestData::SecKeychainItemRequestData(Type type, SecKeychainItemRef item, SecKeychainAttributeList* attrList, UInt32 length, const void* data)
+ : m_type(type)
+ , m_keychainItem(item)
, m_itemClass(0)
, m_dataReference(static_cast<const uint8_t*>(data), length)
+ , m_attrs(adoptRef(new Attributes))
{
initializeWithAttributeList(attrList);
}
-
-SecKeychainItemRequestData::SecKeychainItemRequestData(SecItemClass itemClass, SecKeychainAttributeList* attrList, UInt32 length, const void* data)
- : m_itemClass(itemClass)
+SecKeychainItemRequestData::SecKeychainItemRequestData(Type type, SecItemClass itemClass, SecKeychainAttributeList* attrList, UInt32 length, const void* data)
+ : m_type(type)
+ , m_itemClass(itemClass)
, m_dataReference(static_cast<const uint8_t*>(data), length)
+ , m_attrs(adoptRef(new Attributes))
{
initializeWithAttributeList(attrList);
}
@@ -71,7 +78,7 @@ void SecKeychainItemRequestData::initializeWithAttributeList(SecKeychainAttribut
SecKeychainItemRequestData::~SecKeychainItemRequestData()
{
#ifndef NDEBUG
- if (!m_attributeList)
+ if (!m_attrs->m_attributeList)
return;
// If this request was for SecKeychainItemModifyContent:
@@ -80,42 +87,44 @@ SecKeychainItemRequestData::~SecKeychainItemRequestData()
// If this request was for SecKeychainItemCopyContent:
// - Security APIs should've filled in the data in the AttributeList and that data
// should've been freed by SecKeychainItemFreeContent.
- for (size_t i = 0; i < m_attributeList->count; ++i) {
+ for (size_t i = 0; i < m_attrs->m_attributeList->count; ++i) {
if (m_keychainAttributes[i].data)
- ASSERT(m_attributeList->attr[i].data == CFDataGetBytePtr(m_keychainAttributes[i].data.get()));
+ ASSERT(m_attrs->m_attributeList->attr[i].data == CFDataGetBytePtr(m_keychainAttributes[i].data.get()));
else
- ASSERT(!m_attributeList->attr[i].data);
+ ASSERT(!m_attrs->m_attributeList->attr[i].data);
}
#endif
}
SecKeychainAttributeList* SecKeychainItemRequestData::attributeList() const
{
- if (m_attributeList || m_keychainAttributes.isEmpty())
- return m_attributeList.get();
+ if (m_attrs->m_attributeList || m_keychainAttributes.isEmpty())
+ return m_attrs->m_attributeList.get();
- m_attributeList = adoptPtr(new SecKeychainAttributeList);
- m_attributeList->count = m_keychainAttributes.size();
- m_attributes = adoptArrayPtr(new SecKeychainAttribute[m_attributeList->count]);
- m_attributeList->attr = m_attributes.get();
+ m_attrs->m_attributeList = adoptPtr(new SecKeychainAttributeList);
+ m_attrs->m_attributeList->count = m_keychainAttributes.size();
+ m_attrs->m_attributes = adoptArrayPtr(new SecKeychainAttribute[m_attrs->m_attributeList->count]);
+ m_attrs->m_attributeList->attr = m_attrs->m_attributes.get();
- for (size_t i = 0; i < m_attributeList->count; ++i) {
- m_attributeList->attr[i].tag = m_keychainAttributes[i].tag;
+ for (size_t i = 0; i < m_attrs->m_attributeList->count; ++i) {
+ m_attrs->m_attributeList->attr[i].tag = m_keychainAttributes[i].tag;
if (!m_keychainAttributes[i].data) {
- m_attributeList->attr[i].length = 0;
- m_attributeList->attr[i].data = 0;
+ m_attrs->m_attributeList->attr[i].length = 0;
+ m_attrs->m_attributeList->attr[i].data = 0;
continue;
}
- m_attributeList->attr[i].length = CFDataGetLength(m_keychainAttributes[i].data.get());
- m_attributeList->attr[i].data = const_cast<void*>(static_cast<const void*>(CFDataGetBytePtr(m_keychainAttributes[i].data.get())));
+ m_attrs->m_attributeList->attr[i].length = CFDataGetLength(m_keychainAttributes[i].data.get());
+ m_attrs->m_attributeList->attr[i].data = const_cast<void*>(static_cast<const void*>(CFDataGetBytePtr(m_keychainAttributes[i].data.get())));
}
- return m_attributeList.get();
+ return m_attrs->m_attributeList.get();
}
void SecKeychainItemRequestData::encode(CoreIPC::ArgumentEncoder* encoder) const
{
+ encoder->encodeEnum(m_type);
+
encoder->encodeBool(m_keychainItem);
if (m_keychainItem)
CoreIPC::encode(encoder, m_keychainItem.get());
@@ -130,6 +139,9 @@ void SecKeychainItemRequestData::encode(CoreIPC::ArgumentEncoder* encoder) const
bool SecKeychainItemRequestData::decode(CoreIPC::ArgumentDecoder* decoder, SecKeychainItemRequestData& secKeychainItemRequestData)
{
+ if (!decoder->decodeEnum(secKeychainItemRequestData.m_type))
+ return false;
+
bool hasKeychainItem;
if (!decoder->decodeBool(hasKeychainItem))
return false;
diff --git a/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h b/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h
index ca72b36fb..67a8109ab 100644
--- a/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h
+++ b/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h
@@ -31,6 +31,7 @@
#include <Security/Security.h>
#include <wtf/OwnArrayPtr.h>
#include <wtf/RetainPtr.h>
+#include <wtf/ThreadSafeRefCounted.h>
#include <wtf/Vector.h>
namespace CoreIPC {
@@ -42,15 +43,24 @@ namespace WebKit {
class SecKeychainItemRequestData {
public:
+ enum Type {
+ Invalid,
+ CopyContent,
+ CreateFromContent,
+ ModifyContent,
+ };
+
SecKeychainItemRequestData();
- SecKeychainItemRequestData(SecKeychainItemRef, SecKeychainAttributeList*);
- SecKeychainItemRequestData(SecKeychainItemRef, SecKeychainAttributeList*, UInt32 length, const void* data);
- SecKeychainItemRequestData(SecItemClass, SecKeychainAttributeList*, UInt32 length, const void* data);
+ SecKeychainItemRequestData(Type, SecKeychainItemRef, SecKeychainAttributeList*);
+ SecKeychainItemRequestData(Type, SecKeychainItemRef, SecKeychainAttributeList*, UInt32 length, const void* data);
+ SecKeychainItemRequestData(Type, SecItemClass, SecKeychainAttributeList*, UInt32 length, const void* data);
~SecKeychainItemRequestData();
void encode(CoreIPC::ArgumentEncoder*) const;
static bool decode(CoreIPC::ArgumentDecoder*, SecKeychainItemRequestData&);
+ Type type() const { return m_type; }
+
SecKeychainItemRef keychainItem() const { return m_keychainItem.get(); }
SecItemClass itemClass() const { return m_itemClass; }
UInt32 length() const { return m_dataReference.size(); }
@@ -60,14 +70,19 @@ public:
private:
void initializeWithAttributeList(SecKeychainAttributeList*);
-
+
+ Type m_type;
RetainPtr<SecKeychainItemRef> m_keychainItem;
SecItemClass m_itemClass;
CoreIPC::DataReference m_dataReference;
Vector<KeychainAttribute> m_keychainAttributes;
- mutable OwnPtr<SecKeychainAttributeList> m_attributeList;
- mutable OwnArrayPtr<SecKeychainAttribute> m_attributes;
+
+ struct Attributes : public ThreadSafeRefCounted<Attributes> {
+ mutable OwnPtr<SecKeychainAttributeList> m_attributeList;
+ mutable OwnArrayPtr<SecKeychainAttribute> m_attributes;
+ };
+ RefPtr<Attributes> m_attrs;
};
} // namespace WebKit
diff --git a/Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp b/Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp
index ee731dece..e8fd39ce7 100644
--- a/Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp
+++ b/Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp
@@ -30,8 +30,8 @@
namespace WebKit {
-NativeWebMouseEvent::NativeWebMouseEvent(QMouseEvent* event, int eventClickCount)
- : WebMouseEvent(WebEventFactory::createWebMouseEvent(event, eventClickCount))
+NativeWebMouseEvent::NativeWebMouseEvent(QMouseEvent* event, const QTransform& fromItemTransform, int eventClickCount)
+ : WebMouseEvent(WebEventFactory::createWebMouseEvent(event, fromItemTransform, eventClickCount))
, m_nativeEvent(event)
{
}
diff --git a/Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp b/Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp
index 0660bba27..78c0883d6 100644
--- a/Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp
+++ b/Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp
@@ -30,8 +30,8 @@
namespace WebKit {
-NativeWebTouchEvent::NativeWebTouchEvent(const QTouchEvent* event)
- : WebTouchEvent(WebEventFactory::createWebTouchEvent(event))
+NativeWebTouchEvent::NativeWebTouchEvent(const QTouchEvent* event, const QTransform& fromItemTransform)
+ : WebTouchEvent(WebEventFactory::createWebTouchEvent(event, fromItemTransform))
, m_nativeEvent(*event)
{
}
diff --git a/Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp b/Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp
index 5ff224acb..3c1ba9f8f 100644
--- a/Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp
+++ b/Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp
@@ -30,8 +30,8 @@
namespace WebKit {
-NativeWebWheelEvent::NativeWebWheelEvent(QWheelEvent* event)
- : WebWheelEvent(WebEventFactory::createWebWheelEvent(event))
+NativeWebWheelEvent::NativeWebWheelEvent(QWheelEvent* event, const QTransform& fromItemTransform)
+ : WebWheelEvent(WebEventFactory::createWebWheelEvent(event, fromItemTransform))
, m_nativeEvent(event)
{
}
diff --git a/Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp b/Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp
index 3dc5970f9..b6ac2f5e1 100644
--- a/Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp
+++ b/Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp
@@ -29,6 +29,7 @@
#include <qgraphicssceneevent.h>
#include <QApplication>
#include <QKeyEvent>
+#include <QTransform>
#include <WebCore/IntPoint.h>
#include <WebCore/FloatPoint.h>
#include <WebCore/PlatformKeyboardEvent.h>
@@ -106,7 +107,7 @@ static inline WebEvent::Modifiers modifiersForEvent(Qt::KeyboardModifiers modifi
return (WebEvent::Modifiers)result;
}
-WebMouseEvent WebEventFactory::createWebMouseEvent(QMouseEvent* event, int eventClickCount)
+WebMouseEvent WebEventFactory::createWebMouseEvent(QMouseEvent* event, const QTransform& fromItemTransform, int eventClickCount)
{
static FloatPoint lastPos = FloatPoint(0, 0);
@@ -119,10 +120,10 @@ WebMouseEvent WebEventFactory::createWebMouseEvent(QMouseEvent* event, int event
double timestamp = currentTimeForEvent(event);
lastPos.set(event->localPos().x(), event->localPos().y());
- return WebMouseEvent(type, button, event->localPos().toPoint(), event->screenPos().toPoint(), deltaX, deltaY, 0.0f, clickCount, modifiers, timestamp);
+ return WebMouseEvent(type, button, fromItemTransform.map(event->localPos()).toPoint(), event->screenPos().toPoint(), deltaX, deltaY, 0.0f, clickCount, modifiers, timestamp);
}
-WebWheelEvent WebEventFactory::createWebWheelEvent(QWheelEvent* e)
+WebWheelEvent WebEventFactory::createWebWheelEvent(QWheelEvent* e, const QTransform& fromItemTransform)
{
float deltaX = 0;
float deltaY = 0;
@@ -151,7 +152,7 @@ WebWheelEvent WebEventFactory::createWebWheelEvent(QWheelEvent* e)
deltaX *= (fullTick) ? QApplication::wheelScrollLines() * cDefaultQtScrollStep : 1;
deltaY *= (fullTick) ? QApplication::wheelScrollLines() * cDefaultQtScrollStep : 1;
- return WebWheelEvent(WebEvent::Wheel, e->posF().toPoint(), e->globalPosF().toPoint(), FloatSize(deltaX, deltaY), FloatSize(wheelTicksX, wheelTicksY), granularity, modifiers, timestamp);
+ return WebWheelEvent(WebEvent::Wheel, fromItemTransform.map(e->posF()).toPoint(), e->globalPosF().toPoint(), FloatSize(deltaX, deltaY), FloatSize(wheelTicksX, wheelTicksY), granularity, modifiers, timestamp);
}
WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(QKeyEvent* event)
@@ -174,7 +175,7 @@ WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(QKeyEvent* event)
}
#if ENABLE(TOUCH_EVENTS)
-WebTouchEvent WebEventFactory::createWebTouchEvent(const QTouchEvent* event)
+WebTouchEvent WebEventFactory::createWebTouchEvent(const QTouchEvent* event, const QTransform& fromItemTransform)
{
WebEvent::Type type = webEventTypeForEvent(event);
WebPlatformTouchPoint::TouchPointState state = static_cast<WebPlatformTouchPoint::TouchPointState>(0);
@@ -184,10 +185,11 @@ WebTouchEvent WebEventFactory::createWebTouchEvent(const QTouchEvent* event)
const QList<QTouchEvent::TouchPoint>& points = event->touchPoints();
- Vector<WebPlatformTouchPoint> m_touchPoints;
+ Vector<WebPlatformTouchPoint, 6> m_touchPoints;
for (int i = 0; i < points.count(); ++i) {
- id = static_cast<unsigned>(points.at(i).id());
- switch (points.at(i).state()) {
+ const QTouchEvent::TouchPoint& touchPoint = points.at(i);
+ id = static_cast<unsigned>(touchPoint.id());
+ switch (touchPoint.state()) {
case Qt::TouchPointReleased:
state = WebPlatformTouchPoint::TouchReleased;
break;
@@ -205,7 +207,7 @@ WebTouchEvent WebEventFactory::createWebTouchEvent(const QTouchEvent* event)
break;
}
- m_touchPoints.append(WebPlatformTouchPoint(id, state, points.at(i).screenPos().toPoint(), points.at(i).pos().toPoint()));
+ m_touchPoints.append(WebPlatformTouchPoint(id, state, touchPoint.screenPos().toPoint(), fromItemTransform.map(touchPoint.pos()).toPoint()));
}
return WebTouchEvent(type, m_touchPoints, modifiers, timestamp);
diff --git a/Source/WebKit2/Shared/qt/WebEventFactoryQt.h b/Source/WebKit2/Shared/qt/WebEventFactoryQt.h
index 4ce648e26..deecc25d4 100644
--- a/Source/WebKit2/Shared/qt/WebEventFactoryQt.h
+++ b/Source/WebKit2/Shared/qt/WebEventFactoryQt.h
@@ -41,11 +41,11 @@ namespace WebKit {
class WebEventFactory {
public:
- static WebMouseEvent createWebMouseEvent(QMouseEvent*, int eventClickCount);
- static WebWheelEvent createWebWheelEvent(QWheelEvent*);
+ static WebMouseEvent createWebMouseEvent(QMouseEvent*, const QTransform& fromItemTransform, int eventClickCount);
+ static WebWheelEvent createWebWheelEvent(QWheelEvent*, const QTransform& fromItemTransform);
static WebKeyboardEvent createWebKeyboardEvent(QKeyEvent*);
#if ENABLE(TOUCH_EVENTS)
- static WebTouchEvent createWebTouchEvent(const QTouchEvent*);
+ static WebTouchEvent createWebTouchEvent(const QTouchEvent*, const QTransform& fromItemTransform);
#endif
};