2006-03-02 Eric Seidel <eseidel@apple.com>
authoreseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Mar 2006 21:41:25 +0000 (21:41 +0000)
committereseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Mar 2006 21:41:25 +0000 (21:41 +0000)
        Reviewed by ggaren.

        Add (partially stubbed out) mouse event handling for Win32.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/IntPoint.h:
        * platform/MouseEvent.h:
        * platform/win/IntPointWin.cpp: Added.
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator POINT):
        * platform/win/MouseEventWin.cpp: Added.
        (WebCore::MouseEvent::MouseEvent):
        * platform/win/TemporaryLinkStubs.cpp:
        (QLineEdit::setMaxLength):
        (ScrollView::scrollBy):
        (WebCore::Widget::setFocus):
        (FrameWin::respondToChangedSelection):
        (FrameWin::runJavaScriptPrompt):
        (FrameWin::recordFormValue):
        (FrameWin::registerCommandForRedo):
        (FrameWin::runJavaScriptAlert):
        (FrameWin::runJavaScriptConfirm):
        (FrameWin::openURL):
        (FrameWin::registerCommandForUndo):
        (FrameWin::addMessageToConsole):
        (FrameWin::mimeTypeForFileName):
        (FrameWin::shouldChangeSelection):
        (FrameWin::markMisspellingsInAdjacentWords):
        (FrameWin::markMisspellings):
        (FrameWin::personalbarVisible):
        (FrameWin::objectContentType):
        (FrameWin::createFrame):
        (FrameWin::createPlugin):
        (BrowserExtensionWin::setTypedIconURL):
        (BrowserExtensionWin::getHistoryLength):
        (BrowserExtensionWin::canRunModal):
        (BrowserExtensionWin::openURLNotify):
        (BrowserExtensionWin::createNewWindow):
        (BrowserExtensionWin::canRunModalNow):
        (BrowserExtensionWin::runModal):
        (BrowserExtensionWin::goBackOrForward):
        (BrowserExtensionWin::setIconURL):
        (FrameWin::passSubframeEventToSubframe):
        (FrameWin::lastEventIsMouseUp):
        (BrowserExtensionWin::BrowserExtensionWin):
        (Widget::setCursor):
        (ScrollView::visibleHeight):
        (ScrollView::visibleWidth):
        (ScrollView::setContentsPos):
        (ScrollView::contentsX):
        (ScrollView::contentsY):
        (ScrollView::contentsHeight):
        (ScrollView::contentsWidth):
        (ScrollView::viewportToContents):
        (TransferJob::TransferJob):
        (TransferJob::addMetaData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@13099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/WebCore.vcproj/WebCore/WebCore.vcproj
WebCore/platform/IntPoint.h
WebCore/platform/MouseEvent.h
WebCore/platform/win/IntPointWin.cpp [new file with mode: 0644]
WebCore/platform/win/MouseEventWin.cpp [new file with mode: 0644]
WebCore/platform/win/TemporaryLinkStubs.cpp

index 066b7c0bc73e6d5302c0ef36273656ff8bba8df8..b3a178e6a6edbcbcc72a0a963f3da640e12995b9 100644 (file)
@@ -1,3 +1,62 @@
+2006-03-02  Eric Seidel  <eseidel@apple.com>
+
+        Reviewed by ggaren.
+
+        Add (partially stubbed out) mouse event handling for Win32.
+
+        * WebCore.vcproj/WebCore/WebCore.vcproj:
+        * platform/IntPoint.h:
+        * platform/MouseEvent.h:
+        * platform/win/IntPointWin.cpp: Added.
+        (WebCore::IntPoint::IntPoint):
+        (WebCore::IntPoint::operator POINT):
+        * platform/win/MouseEventWin.cpp: Added.
+        (WebCore::MouseEvent::MouseEvent):
+        * platform/win/TemporaryLinkStubs.cpp:
+        (QLineEdit::setMaxLength):
+        (ScrollView::scrollBy):
+        (WebCore::Widget::setFocus):
+        (FrameWin::respondToChangedSelection):
+        (FrameWin::runJavaScriptPrompt):
+        (FrameWin::recordFormValue):
+        (FrameWin::registerCommandForRedo):
+        (FrameWin::runJavaScriptAlert):
+        (FrameWin::runJavaScriptConfirm):
+        (FrameWin::openURL):
+        (FrameWin::registerCommandForUndo):
+        (FrameWin::addMessageToConsole):
+        (FrameWin::mimeTypeForFileName):
+        (FrameWin::shouldChangeSelection):
+        (FrameWin::markMisspellingsInAdjacentWords):
+        (FrameWin::markMisspellings):
+        (FrameWin::personalbarVisible):
+        (FrameWin::objectContentType):
+        (FrameWin::createFrame):
+        (FrameWin::createPlugin):
+        (BrowserExtensionWin::setTypedIconURL):
+        (BrowserExtensionWin::getHistoryLength):
+        (BrowserExtensionWin::canRunModal):
+        (BrowserExtensionWin::openURLNotify):
+        (BrowserExtensionWin::createNewWindow):
+        (BrowserExtensionWin::canRunModalNow):
+        (BrowserExtensionWin::runModal):
+        (BrowserExtensionWin::goBackOrForward):
+        (BrowserExtensionWin::setIconURL):
+        (FrameWin::passSubframeEventToSubframe):
+        (FrameWin::lastEventIsMouseUp):
+        (BrowserExtensionWin::BrowserExtensionWin):
+        (Widget::setCursor):
+        (ScrollView::visibleHeight):
+        (ScrollView::visibleWidth):
+        (ScrollView::setContentsPos):
+        (ScrollView::contentsX):
+        (ScrollView::contentsY):
+        (ScrollView::contentsHeight):
+        (ScrollView::contentsWidth):
+        (ScrollView::viewportToContents):
+        (TransferJob::TransferJob):
+        (TransferJob::addMetaData):
+
 2006-03-02  Justin Garcia  <justin.garcia@apple.com>
 
         Reviewed by mjs
index 974a86d76d199c667cf6542f752b77fc8d2d131b..11a9c3b2122cda48978debed566231e22bb05c36 100644 (file)
                        <Filter\r
                                Name="win"\r
                                >\r
+                               <File\r
+                                       RelativePath="..\..\platform\win\IntPointWin.cpp"\r
+                                       >\r
+                               </File>\r
                                <File\r
                                        RelativePath="..\..\platform\win\IntRectWin.cpp"\r
                                        >\r
                                </File>\r
+                               <File\r
+                                       RelativePath="..\..\platform\win\MouseEventWin.cpp"\r
+                                       >\r
+                               </File>\r
                                <File\r
                                        RelativePath="..\..\platform\win\SharedTimerWin.cpp"\r
                                        >\r
index 4f014e162c4231c4519456ecd46c79e256d05778..14afc73cebb40e559138929e42f4a8dd17ba8e1a 100644 (file)
@@ -43,6 +43,10 @@ typedef struct _NSPoint NSPoint;
 
 #endif
 
+#if WIN32
+typedef struct tagPOINT POINT;
+#endif
+
 namespace WebCore {
 
 class IntPoint {
@@ -68,6 +72,11 @@ public:
 
 #endif
 
+#if WIN32
+    IntPoint(const POINT&);
+    operator POINT() const;
+#endif
+
 private:
     int m_x, m_y;
 };
index 2b331c46b0392ebad8d8b2b6fd2dcd9e466abf68..4398b955e199da55aaa1822038744155890d3040 100644 (file)
@@ -36,6 +36,12 @@ class NSEvent;
 #endif
 #endif
 
+#if WIN32
+typedef struct HWND__ *HWND;
+typedef unsigned    WPARAM;
+typedef long        LPARAM;
+#endif
+
 namespace WebCore {
 
     // These button numbers match the one used in the DOM API.
@@ -44,6 +50,9 @@ namespace WebCore {
     class MouseEvent {
     public:
         MouseEvent(); // "current event"
+#if WIN32
+        MouseEvent(HWND hWnd, WPARAM wParam, LPARAM lParam, int clickCount);
+#endif
 
         const IntPoint& pos() const { return m_position; }
         int x() const { return m_position.x(); }
diff --git a/WebCore/platform/win/IntPointWin.cpp b/WebCore/platform/win/IntPointWin.cpp
new file mode 100644 (file)
index 0000000..f3f392b
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "IntPoint.h"
+
+#include <windows.h>
+
+namespace WebCore {
+
+IntPoint::IntPoint(const POINT& p)
+    : m_x(p.x)
+    , m_y(p.y)
+{
+}
+
+IntPoint::operator POINT() const
+{
+    POINT p = {m_x, m_y};
+    return p;
+}
+
+}
diff --git a/WebCore/platform/win/MouseEventWin.cpp b/WebCore/platform/win/MouseEventWin.cpp
new file mode 100644 (file)
index 0000000..aab321d
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "MouseEvent.h"
+
+#include <windows.h>
+
+namespace WebCore {
+
+#define HIGH_BIT_MASK_SHORT 0x8000;
+
+MouseEvent::MouseEvent(HWND hWnd, WPARAM wParam, LPARAM lParam, int clkCount)
+    : m_position(LOWORD(lParam), HIWORD(lParam))
+    , m_clickCount(clkCount)
+    , m_shiftKey(wParam & MK_SHIFT)
+    , m_ctrlKey(wParam & MK_CONTROL)
+    , m_altKey(GetAsyncKeyState(VK_MENU) & HIGH_BIT_MASK_SHORT)
+    , m_metaKey(m_altKey) // FIXME: We'll have to test other browsers
+{
+    POINT globalPosition = {m_position.x(), m_position.y()};
+    ClientToScreen(hWnd, &globalPosition);
+    m_globalPosition = globalPosition;
+
+    if (wParam & MK_LBUTTON)
+        m_button = LeftButton;
+    else if (wParam & MK_RBUTTON)
+        m_button = RightButton;
+    else if (wParam & MK_MBUTTON)
+        m_button = MiddleButton;
+}
+
+}
index 90c930c2e9f562c6769a69f55ed4a3220e48a8f5..1cf7cb698fde23138af1738f64ac03b85881ff99 100644 (file)
@@ -133,7 +133,6 @@ void QTextEdit::getCursorPosition(int*,int*) const { notImplemented(); }
 bool FrameView::isFrameView() const { notImplemented(); return 0; }\r
 void QScrollBar::setSteps(int,int) { notImplemented(); }\r
 void QLineEdit::setMaxLength(int) { notImplemented(); }\r
-void Widget::setCursor(Cursor const&) { notImplemented(); }\r
 void QLineEdit::setAutoSaveName(String const&) { notImplemented(); }\r
 int QComboBox::baselinePosition(int) const { notImplemented(); return 0; }\r
 void QComboBox::appendItem(QString const&,KWQListBoxItemType,bool) { notImplemented(); }\r
@@ -215,7 +214,7 @@ QString searchableIndexIntroduction() { notImplemented(); return QString(); }
 void KWQKCookieJar::setCookie(KURL const&,KURL const&,QString const&) { notImplemented(); }\r
 QString KWQKCookieJar::cookie(KURL const&) { notImplemented(); return QString(); }\r
 IntRect WebCore::screenRect(Widget*) { notImplemented(); return IntRect(); }\r
-void WebCore::ScrollView::scrollBy(int,int) { notImplemented(); }\r
+void ScrollView::scrollBy(int,int) { notImplemented(); }\r
 void WebCore::Widget::clearFocus() { notImplemented(); }\r
 int KWQFindNextSentenceFromIndex(QChar const*,int,int,bool) { notImplemented(); return 0; }\r
 void KWQFindSentenceBoundary(QChar const*,int,int,int*,int*) { notImplemented(); }\r
@@ -223,7 +222,6 @@ int KWQFindNextWordFromIndex(QChar const*,int,int,bool) { notImplemented(); retu
 void KWQFindWordBoundary(QChar const*,int,int,int*,int*) { notImplemented(); }\r
 bool KWQKCookieJar::cookieEnabled() { notImplemented(); return false; }\r
 void WebCore::Widget::setFocus() { notImplemented(); }\r
-void WebCore::ScrollView::viewportToContents(int,int,int&,int&) { notImplemented(); }\r
 void WebCore::TransferJob::kill() { notImplemented(); }\r
 void WebCore::TransferJob::addMetaData(KXMLCore::HashMap<String,String> const&) { notImplemented(); }\r
 QString WebCore::TransferJob::queryMetaData(QString const&) const { notImplemented(); return QString(); }\r
@@ -246,74 +244,72 @@ Widget* WebCore::FrameView::topLevelWidget() const { notImplemented(); return 0;
 void FrameWin::respondToChangedContents(void) { notImplemented(); }\r
 void FrameWin::unfocusWindow(void) { notImplemented(); }\r
 bool FrameWin::locationbarVisible(void) { notImplemented(); return 0; }\r
-void FrameWin::respondToChangedSelection(WebCore::SelectionController const &,bool) { notImplemented(); }\r
+void FrameWin::respondToChangedSelection(WebCore::SelectionController const&,bool) { notImplemented(); }\r
 void FrameWin::clearUndoRedoOperations(void) { notImplemented(); }\r
 void FrameWin::issueRedoCommand(void) { notImplemented(); }\r
 KJS::Bindings::Instance * FrameWin::getObjectInstanceForWidget(WebCore::Widget *) { notImplemented(); return 0; }\r
 KJS::Bindings::Instance * FrameWin::getEmbedInstanceForWidget(WebCore::Widget *) { notImplemented(); return 0; }\r
 bool FrameWin::canRedo(void)const { notImplemented(); return 0; }\r
 bool FrameWin::canUndo(void)const { notImplemented(); return 0; }\r
-bool FrameWin::runJavaScriptPrompt(String const &,String const &,String &) { notImplemented(); return 0; }\r
-void FrameWin::recordFormValue(QString const &,QString const &,WebCore::HTMLFormElementImpl *) { notImplemented(); }\r
-void FrameWin::registerCommandForRedo(WebCore::EditCommandPtr const &) { notImplemented(); }\r
-void FrameWin::runJavaScriptAlert(String const &) { notImplemented(); }\r
-bool FrameWin::runJavaScriptConfirm(String const &) { notImplemented(); return 0; }\r
-bool FrameWin::openURL(KURL const &) { notImplemented(); return 0; }\r
-void FrameWin::urlSelected(KURL const &,struct WebCore::URLArgs const &) { notImplemented(); }\r
+bool FrameWin::runJavaScriptPrompt(String const&,String const&,String &) { notImplemented(); return 0; }\r
+void FrameWin::recordFormValue(QString const&,QString const&,WebCore::HTMLFormElementImpl *) { notImplemented(); }\r
+void FrameWin::registerCommandForRedo(WebCore::EditCommandPtr const&) { notImplemented(); }\r
+void FrameWin::runJavaScriptAlert(String const&) { notImplemented(); }\r
+bool FrameWin::runJavaScriptConfirm(String const&) { notImplemented(); return 0; }\r
+bool FrameWin::openURL(KURL const&) { notImplemented(); return 0; }\r
+void FrameWin::urlSelected(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); }\r
 void FrameWin::saveDocumentState(void) { notImplemented(); }\r
 void FrameWin::print(void) { notImplemented(); }\r
 KJS::Bindings::Instance * FrameWin::getAppletInstanceForWidget(WebCore::Widget *) { notImplemented(); return 0; }\r
 bool FrameWin::passMouseDownEventToWidget(WebCore::Widget *) { notImplemented(); return 0; }\r
-void FrameWin::registerCommandForUndo(WebCore::EditCommandPtr const &) { notImplemented(); }\r
+void FrameWin::registerCommandForUndo(WebCore::EditCommandPtr const&) { notImplemented(); }\r
 void FrameWin::issueCutCommand(void) { notImplemented(); }\r
 void FrameWin::issueCopyCommand(void) { notImplemented(); }\r
-void FrameWin::openURLRequest(KURL const &,struct WebCore::URLArgs const &) { notImplemented(); }\r
-void FrameWin::addMessageToConsole(String const &,unsigned int,String const &) { notImplemented(); }\r
+void FrameWin::openURLRequest(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); }\r
+void FrameWin::addMessageToConsole(String const&,unsigned int,String const&) { notImplemented(); }\r
 bool FrameWin::passWheelEventToChildWidget(WebCore::NodeImpl *) { notImplemented(); return 0; }\r
 void FrameWin::issueUndoCommand(void) { notImplemented(); }\r
-QString FrameWin::mimeTypeForFileName(QString const &)const { notImplemented(); return QString(); }\r
+QString FrameWin::mimeTypeForFileName(QString const&)const { notImplemented(); return QString(); }\r
 void FrameWin::clearRecordedFormValues(void) { notImplemented(); }\r
 void FrameWin::issuePasteCommand(void) { notImplemented(); }\r
-bool FrameWin::shouldChangeSelection(WebCore::SelectionController const &,WebCore::SelectionController const &,WebCore::EAffinity,bool)const { notImplemented(); return 0; }\r
+bool FrameWin::shouldChangeSelection(WebCore::SelectionController const&,WebCore::SelectionController const&,WebCore::EAffinity,bool)const { notImplemented(); return 0; }\r
 void FrameWin::scheduleClose(void) { notImplemented(); }\r
-void FrameWin::markMisspellingsInAdjacentWords(WebCore::VisiblePosition const &) { notImplemented(); }\r
-void FrameWin::markMisspellings(WebCore::SelectionController const &) { notImplemented(); }\r
+void FrameWin::markMisspellingsInAdjacentWords(WebCore::VisiblePosition const&) { notImplemented(); }\r
+void FrameWin::markMisspellings(WebCore::SelectionController const&) { notImplemented(); }\r
 bool FrameWin::menubarVisible(void) { notImplemented(); return 0; }\r
 bool FrameWin::personalbarVisible(void) { notImplemented(); return 0; }\r
-bool FrameWin::lastEventIsMouseUp(void)const { notImplemented(); return 0; }\r
 bool FrameWin::statusbarVisible(void) { notImplemented(); return 0; }\r
 bool FrameWin::toolbarVisible(void) { notImplemented(); return 0; }\r
 void FrameWin::issueTransposeCommand(void) { notImplemented(); }\r
 QString FrameWin::userAgent(void)const { notImplemented(); return QString(); }\r
-void FrameWin::submitForm(KURL const &,struct WebCore::URLArgs const &) { notImplemented(); }\r
+void FrameWin::submitForm(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); }\r
 bool FrameWin::canPaste(void)const { notImplemented(); return 0; }\r
 QString FrameWin::incomingReferrer(void)const { notImplemented(); return QString(); }\r
-enum WebCore::ObjectContentType FrameWin::objectContentType(KURL const &,QString const &) { notImplemented(); return (ObjectContentType)0; }\r
-bool FrameWin::passSubframeEventToSubframe(WebCore::MouseEventWithHitTestResults &) { notImplemented(); return 0; }\r
-WebCore::Frame * FrameWin::createFrame(KURL const &,QString const &,WebCore::RenderPart *,String const &) { notImplemented(); return 0; }\r
+enum WebCore::ObjectContentType FrameWin::objectContentType(KURL const&,QString const&) { notImplemented(); return (ObjectContentType)0; }\r
+WebCore::Frame * FrameWin::createFrame(KURL const&,QString const&,WebCore::RenderPart *,String const&) { notImplemented(); return 0; }\r
 bool FrameWin::canGoBackOrForward(int)const { notImplemented(); return 0; }\r
 void FrameWin::issuePasteAndMatchStyleCommand(void) { notImplemented(); }\r
-WebCore::Plugin * FrameWin::createPlugin(KURL const &,QStringList const &,QStringList const &,QString const &) { notImplemented(); return 0; }\r
+WebCore::Plugin * FrameWin::createPlugin(KURL const&,QStringList const&,QStringList const&,QString const&) { notImplemented(); return 0; }\r
 String FrameWin::generateFrameName(void) { notImplemented(); return String(); }\r
-void WebCore::BrowserExtensionWin::setTypedIconURL(KURL const &,QString const &) { notImplemented(); }\r
-void WebCore::BrowserExtensionWin::openURLRequest(KURL const &,struct WebCore::URLArgs const &) { notImplemented(); }\r
-int WebCore::BrowserExtensionWin::getHistoryLength(void) { notImplemented(); return 0; }\r
-bool WebCore::BrowserExtensionWin::canRunModal(void) { notImplemented(); return 0; }\r
-void WebCore::BrowserExtensionWin::openURLNotify(void) { notImplemented(); }\r
-void WebCore::BrowserExtensionWin::createNewWindow(KURL const &,struct WebCore::URLArgs const &,struct WebCore::WindowArgs const &,WebCore::Frame * &) { notImplemented(); }\r
-bool WebCore::BrowserExtensionWin::canRunModalNow(void) { notImplemented(); return 0; }\r
-void WebCore::BrowserExtensionWin::runModal(void) { notImplemented(); }\r
-void WebCore::BrowserExtensionWin::goBackOrForward(int) { notImplemented(); }\r
-void WebCore::BrowserExtensionWin::setIconURL(KURL const &) { notImplemented(); }\r
-void WebCore::BrowserExtensionWin::createNewWindow(KURL const &,struct WebCore::URLArgs const &) { notImplemented(); }\r
-void QSlider::setFont(class WebCore::Font const &) { notImplemented(); }\r
-void QLineEdit::setFont(class WebCore::Font const &) { notImplemented(); }\r
+void BrowserExtensionWin::setTypedIconURL(KURL const&,QString const&) { notImplemented(); }\r
+void BrowserExtensionWin::openURLRequest(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); }\r
+int BrowserExtensionWin::getHistoryLength(void) { notImplemented(); return 0; }\r
+bool BrowserExtensionWin::canRunModal(void) { notImplemented(); return 0; }\r
+void BrowserExtensionWin::openURLNotify(void) { notImplemented(); }\r
+void BrowserExtensionWin::createNewWindow(KURL const&,struct WebCore::URLArgs const&,struct WebCore::WindowArgs const&,WebCore::Frame * &) { notImplemented(); }\r
+bool BrowserExtensionWin::canRunModalNow(void) { notImplemented(); return 0; }\r
+void BrowserExtensionWin::runModal(void) { notImplemented(); }\r
+void BrowserExtensionWin::goBackOrForward(int) { notImplemented(); }\r
+void BrowserExtensionWin::setIconURL(KURL const&) { notImplemented(); }\r
+void BrowserExtensionWin::createNewWindow(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); }\r
+void QSlider::setFont(class WebCore::Font const&) { notImplemented(); }\r
+void QLineEdit::setFont(class WebCore::Font const&) { notImplemented(); }\r
 static WebCore::Font localFont;\r
-void QListBox::setFont(class WebCore::Font const &) { notImplemented(); }\r
-QFontMetrics::QFontMetrics(class WebCore::FontDescription const &) { notImplemented(); }\r
-void WebCore::Widget::setFont(class WebCore::Font const &) { notImplemented(); }\r
-void QComboBox::setFont(class WebCore::Font const &) { notImplemented(); }\r
-void QTextEdit::setFont(class WebCore::Font const &) { notImplemented(); }\r
+void QListBox::setFont(class WebCore::Font const&) { notImplemented(); }\r
+QFontMetrics::QFontMetrics(class WebCore::FontDescription const&) { notImplemented(); }\r
+void WebCore::Widget::setFont(class WebCore::Font const&) { notImplemented(); }\r
+void QComboBox::setFont(class WebCore::Font const&) { notImplemented(); }\r
+void QTextEdit::setFont(class WebCore::Font const&) { notImplemented(); }\r
 void QTextEdit::setWritingDirection(enum WebCore::TextDirection) { notImplemented(); }\r
 int QFontMetrics::checkSelectionPoint(class QChar const *,int,int,int,int,int,int,int,int,bool,int,bool,bool,bool)const { notImplemented(); return 0; }\r
 GraphicsContext::GraphicsContext() { notImplemented(); }\r
@@ -336,7 +332,7 @@ int QFontMetrics::lineSpacing() const { return 10; }
 int QFontMetrics::ascent() const { return 10; }\r
 int QFontMetrics::height() const { return 10; }\r
 int QFontMetrics::descent() const { return 10; }\r
-void QFontMetrics::setFontDescription(class WebCore::FontDescription const &) { }\r
+void QFontMetrics::setFontDescription(class WebCore::FontDescription const&) { }\r
 bool QFontMetrics::isFixedPitch(void)const { return 0; }\r
 \r
 void FrameWin::restoreDocumentState() { }\r
@@ -346,8 +342,10 @@ QString FrameWin::overrideMediaType() const { return QString(); }
 void FrameWin::setTitle(String const&) { }\r
 void FrameWin::handledOnloadEvents() { }\r
 RangeImpl* FrameWin::markedTextRange() const { return 0; }\r
+bool FrameWin::passSubframeEventToSubframe(WebCore::MouseEventWithHitTestResults&) { return false; }\r
+bool FrameWin::lastEventIsMouseUp() const { return false; }\r
 \r
-WebCore::BrowserExtensionWin::BrowserExtensionWin(WebCore::Frame*) { }\r
+BrowserExtensionWin::BrowserExtensionWin(WebCore::Frame*) { }\r
 \r
 bool KWQServeRequest(Loader*,Request*, TransferJob*) { return false; } // false may not be "right" as a stub.\r
 bool KWQCheckIfReloading(WebCore::DocLoader*) { return false; }\r
@@ -355,6 +353,7 @@ void KWQCheckCacheObjectStatus(DocLoader*, CachedObject*) { }
 \r
 Widget::Widget() { }\r
 void Widget::show() { }\r
+void Widget::setCursor(Cursor const&) { }\r
 \r
 void ScrollView::resizeContents(int,int) { }\r
 WebCore::ScrollBarMode ScrollView::hScrollBarMode() const { return ScrollBarAlwaysOff; }\r
@@ -363,18 +362,20 @@ void ScrollView::suppressScrollBars(bool,bool) { }
 void ScrollView::setHScrollBarMode(ScrollBarMode) { }\r
 void ScrollView::setVScrollBarMode(ScrollBarMode) { }\r
 void ScrollView::setScrollBarsMode(ScrollBarMode) { }\r
-int WebCore::ScrollView::visibleHeight() const { return 600; }\r
-int WebCore::ScrollView::visibleWidth() const { return 800; }\r
-void WebCore::ScrollView::setContentsPos(int,int) { }\r
-int WebCore::ScrollView::contentsX() const { return 0; }\r
-int WebCore::ScrollView::contentsY() const { return 0; }\r
-int WebCore::ScrollView::contentsHeight() const { return 600; }\r
-int WebCore::ScrollView::contentsWidth() const { return 800; }\r
+int ScrollView::visibleHeight() const { return 600; }\r
+int ScrollView::visibleWidth() const { return 800; }\r
+void ScrollView::setContentsPos(int,int) { }\r
+int ScrollView::contentsX() const { return 0; }\r
+int ScrollView::contentsY() const { return 0; }\r
+int ScrollView::contentsHeight() const { return 600; }\r
+int ScrollView::contentsWidth() const { return 800; }\r
+void ScrollView::viewportToContents(int x1, int y1, int& x2, int& y2) { x2 = x1; y2 = y2; }\r
+\r
 void ScrollView::updateContents(const IntRect&,bool) { }\r
 void ScrollView::setStaticBackground(bool) { }\r
 \r
-WebCore::TransferJob::TransferJob(WebCore::TransferJobClient*,const String&,KURL const&) { }\r
-void WebCore::TransferJob::addMetaData(QString const&,QString const&) { }\r
+TransferJob::TransferJob(WebCore::TransferJobClient*,const String&,KURL const&) { }\r
+void TransferJob::addMetaData(QString const&,QString const&) { }\r
 \r
 Font const& GraphicsContext::font() const { return localFont; }\r
 void GraphicsContext::setFont(Font const&) { }\r