Fix for bug 13274. Rework mouse events so that subframe capturing works...
[WebKit-https.git] / WebCore / platform / PopupMenu.h
index 8911d95..85019d8 100644 (file)
@@ -28,7 +28,7 @@
 #include <wtf/PassRefPtr.h>
 
 #if PLATFORM(MAC)
-#include "RetainPtr.h"
+#include <wtf/RetainPtr.h>
 #ifdef __OBJC__
 @class NSPopUpButtonCell;
 #else
@@ -41,9 +41,9 @@ typedef struct HWND__* HWND;
 typedef struct HDC__* HDC;
 typedef struct HBITMAP__* HBITMAP;
 #elif PLATFORM(QT)
-#include <QHash>
-class QMenu;
-class QListWidgetItem;
+namespace WebCore {
+    class QWebPopup;
+}
 #endif
 
 namespace WebCore {
@@ -83,7 +83,7 @@ public:
 
     int listIndexAtPoint(const IntPoint&) const;
 
-    bool setFocusedIndex(int index, bool hotTracking = false, bool fireOnChange = false);
+    bool setFocusedIndex(int index, bool hotTracking = false);
     int focusedIndex() const;
     void focusFirst();
     void focusLast();
@@ -103,6 +103,9 @@ public:
     void incrementWheelDelta(int delta);
     void reduceWheelDelta(int delta);
     int wheelDelta() const { return m_wheelDelta; }
+
+    bool scrollbarCapturingMouse() const { return m_scrollbarCapturingMouse; }
+    void setScrollbarCapturingMouse(bool b) { m_scrollbarCapturingMouse = b; }
 #endif
 
 protected:
@@ -125,8 +128,7 @@ private:
 #elif PLATFORM(QT)
     void clear();
     void populate(const IntRect&);
-    QMenu* m_popup;
-    QHash<QListWidgetItem*, int> m_actions;
+    QWebPopup* m_popup;
 #elif PLATFORM(WIN)
     void calculatePositionAndSize(const IntRect&, FrameView*);
     void invalidateItem(int index);
@@ -140,6 +142,8 @@ private:
     int m_itemHeight;
     int m_scrollOffset;
     int m_wheelDelta;
+    int m_focusedIndex;
+    bool m_scrollbarCapturingMouse;
 #endif
 
 };