[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:14:14 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit a091dd9fdd7eff9be55f0b7fe021ccd9b2288d37
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed May 22 00:36:34 2002 +0000

        Lots of changes for DHTML.
        Bugs fixes, and fixes to regressions.
    
        Changes to support additional DHTML events.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1190 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 0170199..cf46fd8 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,21 @@
+2002-05-21  Richard J. Williamson  <rjw at apple.com>
+
+    Lots of changes for DHTML.
+    Bugs fixes, and fixes to regressions.
+    
+	* khtml/misc/decoder.cpp:
+	(Decoder::decode):
+	* khtml/rendering/render_flow.cpp:
+	(RenderFlow::print):
+	(RenderFlow::layout):
+	* khtml/rendering/render_text.cpp:
+	(RenderText::print):
+	* kwq/KWQKHTMLPart.mm:
+	(KHTMLPart::urlSelected):
+	* kwq/qt/qevent.h:
+	* kwq/qt/qstring.h:
+	* libwebcore.exp:
+
 2002-05-21  Kenneth Kocienda  <kocienda at apple.com>
 
         Fix for this bug:
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 0170199..cf46fd8 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,21 @@
+2002-05-21  Richard J. Williamson  <rjw at apple.com>
+
+    Lots of changes for DHTML.
+    Bugs fixes, and fixes to regressions.
+    
+	* khtml/misc/decoder.cpp:
+	(Decoder::decode):
+	* khtml/rendering/render_flow.cpp:
+	(RenderFlow::print):
+	(RenderFlow::layout):
+	* khtml/rendering/render_text.cpp:
+	(RenderText::print):
+	* kwq/KWQKHTMLPart.mm:
+	(KHTMLPart::urlSelected):
+	* kwq/qt/qevent.h:
+	* kwq/qt/qstring.h:
+	* libwebcore.exp:
+
 2002-05-21  Kenneth Kocienda  <kocienda at apple.com>
 
         Fix for this bug:
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 0170199..cf46fd8 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,21 @@
+2002-05-21  Richard J. Williamson  <rjw at apple.com>
+
+    Lots of changes for DHTML.
+    Bugs fixes, and fixes to regressions.
+    
+	* khtml/misc/decoder.cpp:
+	(Decoder::decode):
+	* khtml/rendering/render_flow.cpp:
+	(RenderFlow::print):
+	(RenderFlow::layout):
+	* khtml/rendering/render_text.cpp:
+	(RenderText::print):
+	* kwq/KWQKHTMLPart.mm:
+	(KHTMLPart::urlSelected):
+	* kwq/qt/qevent.h:
+	* kwq/qt/qstring.h:
+	* libwebcore.exp:
+
 2002-05-21  Kenneth Kocienda  <kocienda at apple.com>
 
         Fix for this bug:
diff --git a/WebCore/khtml/misc/decoder.cpp b/WebCore/khtml/misc/decoder.cpp
index 367b208..88a0cea 100644
--- a/WebCore/khtml/misc/decoder.cpp
+++ b/WebCore/khtml/misc/decoder.cpp
@@ -522,9 +522,15 @@ QString Decoder::decode(const char *data, int len)
         out = m_decoder->toUnicode(data, len);
     }
 
+    if (out.isNull()){
+        fprintf (stderr, "ERROR:  decoded string is null\n");
+    }
+    else if (out.length() == 0){
+        fprintf (stderr, "ERROR:  decoded string length == 0\n");
+    }
     // the hell knows, why the output does sometimes have a QChar::null at
     // the end...
-    if(out[out.length()-1] == QChar::null)
+    else if(out[out.length()-1] == QChar::null)
         out.truncate(out.length() - 1);
     return out;
 }
diff --git a/WebCore/khtml/rendering/render_flow.cpp b/WebCore/khtml/rendering/render_flow.cpp
index 6c001ba..66bc392 100644
--- a/WebCore/khtml/rendering/render_flow.cpp
+++ b/WebCore/khtml/rendering/render_flow.cpp
@@ -127,9 +127,9 @@ void RenderFlow::print(QPainter *p, int _x, int _y, int _w, int _h,
         if((_ty > _y + _h) || (_ty + h < _y))
         {
             //kdDebug( 6040 ) << "cut!" << endl;
-#ifndef APPLE_CHANGES
+//#ifndef APPLE_CHANGES
             return;
-#endif /* APPLE_CHANGES not defined */
+//#endif /* APPLE_CHANGES not defined */
         }
     }
 
@@ -268,9 +268,9 @@ void RenderFlow::layout()
 //    kdDebug( 6040 ) << "childrenInline()=" << childrenInline() << endl;
     if(childrenInline()) {
         // ### make bidi resumeable so that we can get rid of this ugly hack
-#ifndef APPLE_CHANGES
+//#ifndef APPLE_CHANGES
          if (!m_blockBidi)
-#endif
+//#endif
             layoutInlineChildren();
     }
     else
diff --git a/WebCore/khtml/rendering/render_text.cpp b/WebCore/khtml/rendering/render_text.cpp
index 8b88f85..9e5508c 100644
--- a/WebCore/khtml/rendering/render_text.cpp
+++ b/WebCore/khtml/rendering/render_text.cpp
@@ -610,9 +610,9 @@ void RenderText::printObject( QPainter *p, int /*x*/, int y, int /*w*/, int h,
 void RenderText::print( QPainter *p, int x, int y, int w, int h,
                       int tx, int ty)
 {
-#ifndef APPLE_CHANGES
+//#ifndef APPLE_CHANGES
     if (style()->visibility() != VISIBLE) return;
-#endif /* APPLE_CHANGES not defined */
+//#endif /* APPLE_CHANGES not defined */
 
     int s = m_lines.count() - 1;
     if ( s < 0 ) return;
diff --git a/WebCore/kwq/KWQEvent.h b/WebCore/kwq/KWQEvent.h
index c51731b..3dbf7ba 100644
--- a/WebCore/kwq/KWQEvent.h
+++ b/WebCore/kwq/KWQEvent.h
@@ -207,7 +207,7 @@ public:
     QKeyEvent() {}
 #endif
 
-    QKeyEvent(Type, int, int, int, const QString &textVal = QString::null, bool autoRepeat = FALSE, ushort countVal = 1);
+    QKeyEvent(Type type, int key, int ascii, int buttonState, const QString &textVal = QString::null, bool autoRepeat = FALSE, ushort countVal = 1);
 
 // add no-op destructor
 #ifdef _KWQ_PEDANTIC_
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 2794aaf..3ba0802 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -411,6 +411,12 @@ void KHTMLPart::urlSelected( const QString &url, int button, int state, const QS
 	IFWebFrame *frame;
 	KURL refLess(clickedURL);
 	
+    if ( url.find( QString::fromLatin1( "javascript:" ), 0, false ) == 0 )
+    {
+        executeScript( url.right( url.length() - 11) );
+        return;
+    }
+
 	m_url.setRef ("");
 	refLess.setRef ("");
 	if (refLess.url() == m_url.url()){
@@ -919,28 +925,28 @@ void KHTMLPart::khtmlMouseMoveEvent( khtml::MouseMoveEvent *event )
 }
 
 void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
-{
-  DOM::Node innerNode = event->innerNode();
-  d->m_mousePressNode = DOM::Node();
-
-  if ( d->m_bMousePressed )
+    {
+    DOM::Node innerNode = event->innerNode();
+    d->m_mousePressNode = DOM::Node();
+    
+    if ( d->m_bMousePressed )
     stopAutoScroll();
-
-  // Used to prevent mouseMoveEvent from initiating a drag before
-  // the mouse is pressed again.
-  d->m_bMousePressed = false;
-
+    
+    // Used to prevent mouseMoveEvent from initiating a drag before
+    // the mouse is pressed again.
+    d->m_bMousePressed = false;
+    
     // HACK!  FIXME!
     if (d->m_strSelectedURL != QString::null) {
-      	urlSelected(d->m_strSelectedURL, 0,0, event->target().string());
+        urlSelected(d->m_strSelectedURL, 0,0, event->target().string());
     }
     
-#ifndef _KWQ_
-#define QT_NO_CLIPBOARD 1
-#ifndef QT_NO_CLIPBOARD
-  QMouseEvent *_mouse = event->qmouseEvent();
-  if ((_mouse->button() == MidButton) && (event->url().isNull()))
-  {
+    #ifndef _KWQ_
+    #define QT_NO_CLIPBOARD 1
+    #ifndef QT_NO_CLIPBOARD
+    QMouseEvent *_mouse = event->qmouseEvent();
+    if ((_mouse->button() == MidButton) && (event->url().isNull()))
+    {
     QClipboard *cb = QApplication::clipboard();
     cb->setSelectionMode( true );
     QCString plain("plain");
@@ -967,18 +973,18 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
       urlSelected(url, 0,0, "_top");
       d->m_referrer = savedReferrer; // Restore original referrer.
     }
-  }
-#endif
-
-#ifndef KHTML_NO_SELECTION
-  // delete selection in case start and end position are at the same point
-  if(d->m_selectionStart == d->m_selectionEnd && d->m_startOffset == d->m_endOffset) {
+    }
+    #endif
+    
+    #ifndef KHTML_NO_SELECTION
+    // delete selection in case start and end position are at the same point
+    if(d->m_selectionStart == d->m_selectionEnd && d->m_startOffset == d->m_endOffset) {
     d->m_selectionStart = 0;
     d->m_selectionEnd = 0;
     d->m_startOffset = 0;
     d->m_endOffset = 0;
     //emitSelectionChanged();
-  } else {
+    } else {
     // we have to get to know if end is before start or not...
     DOM::Node n = d->m_selectionStart;
     d->m_startBeforeEnd = false;
@@ -1011,21 +1017,21 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
       d->m_startBeforeEnd = true;
     }
     // get selected text and paste to the clipboard
-#ifndef QT_NO_CLIPBOARD
+    #ifndef QT_NO_CLIPBOARD
     QString text = selectedText();
     text.replace(QRegExp(QChar(0xa0)), " ");
     QClipboard *cb = QApplication::clipboard();
     cb->setSelectionMode( true );
     cb->setText(text);
     cb->setSelectionMode( false );
-#endif
+    #endif
     //kdDebug( 6000 ) << "selectedText = " << text << endl;
     //emitSelectionChanged();
-  }
-#endif
-#endif
-
-}
+    }
+    #endif
+    #endif
+    
+    }
 
 void KHTMLPart::khtmlDrawContentsEvent( khtml::DrawContentsEvent * )
 {
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.mm b/WebCore/kwq/KWQKHTMLPartImpl.mm
index 2794aaf..3ba0802 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.mm
+++ b/WebCore/kwq/KWQKHTMLPartImpl.mm
@@ -411,6 +411,12 @@ void KHTMLPart::urlSelected( const QString &url, int button, int state, const QS
 	IFWebFrame *frame;
 	KURL refLess(clickedURL);
 	
+    if ( url.find( QString::fromLatin1( "javascript:" ), 0, false ) == 0 )
+    {
+        executeScript( url.right( url.length() - 11) );
+        return;
+    }
+
 	m_url.setRef ("");
 	refLess.setRef ("");
 	if (refLess.url() == m_url.url()){
@@ -919,28 +925,28 @@ void KHTMLPart::khtmlMouseMoveEvent( khtml::MouseMoveEvent *event )
 }
 
 void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
-{
-  DOM::Node innerNode = event->innerNode();
-  d->m_mousePressNode = DOM::Node();
-
-  if ( d->m_bMousePressed )
+    {
+    DOM::Node innerNode = event->innerNode();
+    d->m_mousePressNode = DOM::Node();
+    
+    if ( d->m_bMousePressed )
     stopAutoScroll();
-
-  // Used to prevent mouseMoveEvent from initiating a drag before
-  // the mouse is pressed again.
-  d->m_bMousePressed = false;
-
+    
+    // Used to prevent mouseMoveEvent from initiating a drag before
+    // the mouse is pressed again.
+    d->m_bMousePressed = false;
+    
     // HACK!  FIXME!
     if (d->m_strSelectedURL != QString::null) {
-      	urlSelected(d->m_strSelectedURL, 0,0, event->target().string());
+        urlSelected(d->m_strSelectedURL, 0,0, event->target().string());
     }
     
-#ifndef _KWQ_
-#define QT_NO_CLIPBOARD 1
-#ifndef QT_NO_CLIPBOARD
-  QMouseEvent *_mouse = event->qmouseEvent();
-  if ((_mouse->button() == MidButton) && (event->url().isNull()))
-  {
+    #ifndef _KWQ_
+    #define QT_NO_CLIPBOARD 1
+    #ifndef QT_NO_CLIPBOARD
+    QMouseEvent *_mouse = event->qmouseEvent();
+    if ((_mouse->button() == MidButton) && (event->url().isNull()))
+    {
     QClipboard *cb = QApplication::clipboard();
     cb->setSelectionMode( true );
     QCString plain("plain");
@@ -967,18 +973,18 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
       urlSelected(url, 0,0, "_top");
       d->m_referrer = savedReferrer; // Restore original referrer.
     }
-  }
-#endif
-
-#ifndef KHTML_NO_SELECTION
-  // delete selection in case start and end position are at the same point
-  if(d->m_selectionStart == d->m_selectionEnd && d->m_startOffset == d->m_endOffset) {
+    }
+    #endif
+    
+    #ifndef KHTML_NO_SELECTION
+    // delete selection in case start and end position are at the same point
+    if(d->m_selectionStart == d->m_selectionEnd && d->m_startOffset == d->m_endOffset) {
     d->m_selectionStart = 0;
     d->m_selectionEnd = 0;
     d->m_startOffset = 0;
     d->m_endOffset = 0;
     //emitSelectionChanged();
-  } else {
+    } else {
     // we have to get to know if end is before start or not...
     DOM::Node n = d->m_selectionStart;
     d->m_startBeforeEnd = false;
@@ -1011,21 +1017,21 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
       d->m_startBeforeEnd = true;
     }
     // get selected text and paste to the clipboard
-#ifndef QT_NO_CLIPBOARD
+    #ifndef QT_NO_CLIPBOARD
     QString text = selectedText();
     text.replace(QRegExp(QChar(0xa0)), " ");
     QClipboard *cb = QApplication::clipboard();
     cb->setSelectionMode( true );
     cb->setText(text);
     cb->setSelectionMode( false );
-#endif
+    #endif
     //kdDebug( 6000 ) << "selectedText = " << text << endl;
     //emitSelectionChanged();
-  }
-#endif
-#endif
-
-}
+    }
+    #endif
+    #endif
+    
+    }
 
 void KHTMLPart::khtmlDrawContentsEvent( khtml::DrawContentsEvent * )
 {
diff --git a/WebCore/kwq/KWQString.h b/WebCore/kwq/KWQString.h
index 6e78ead..1b52a70 100644
--- a/WebCore/kwq/KWQString.h
+++ b/WebCore/kwq/KWQString.h
@@ -34,7 +34,7 @@
 #define QT_VERSION 300
 
 #define _FAST_QSTRING_TO_NSSTRING(aString) (aString).getNSString()
-#define QSTRING_TO_NSSTRING(aString) (aString).getNSString()
+#define QSTRING_TO_NSSTRING(aString) [[(aString).getNSString() retain] autorelease]
 #define QSTRING_TO_NSSTRING_LENGTH(aString,l) \
     [[[(aString).getNSString() substringToIndex: l] retain] autorelease]
 #define NSSTRING_TO_QSTRING(aString) QString::fromNSString(aString)
diff --git a/WebCore/kwq/qt/qevent.h b/WebCore/kwq/qt/qevent.h
index c51731b..3dbf7ba 100644
--- a/WebCore/kwq/qt/qevent.h
+++ b/WebCore/kwq/qt/qevent.h
@@ -207,7 +207,7 @@ public:
     QKeyEvent() {}
 #endif
 
-    QKeyEvent(Type, int, int, int, const QString &textVal = QString::null, bool autoRepeat = FALSE, ushort countVal = 1);
+    QKeyEvent(Type type, int key, int ascii, int buttonState, const QString &textVal = QString::null, bool autoRepeat = FALSE, ushort countVal = 1);
 
 // add no-op destructor
 #ifdef _KWQ_PEDANTIC_
diff --git a/WebCore/kwq/qt/qstring.h b/WebCore/kwq/qt/qstring.h
index 6e78ead..1b52a70 100644
--- a/WebCore/kwq/qt/qstring.h
+++ b/WebCore/kwq/qt/qstring.h
@@ -34,7 +34,7 @@
 #define QT_VERSION 300
 
 #define _FAST_QSTRING_TO_NSSTRING(aString) (aString).getNSString()
-#define QSTRING_TO_NSSTRING(aString) (aString).getNSString()
+#define QSTRING_TO_NSSTRING(aString) [[(aString).getNSString() retain] autorelease]
 #define QSTRING_TO_NSSTRING_LENGTH(aString,l) \
     [[[(aString).getNSString() substringToIndex: l] retain] autorelease]
 #define NSSTRING_TO_QSTRING(aString) QString::fromNSString(aString)
diff --git a/WebCore/libwebcore.exp b/WebCore/libwebcore.exp
index a9e4308..a4cd7b0 100644
--- a/WebCore/libwebcore.exp
+++ b/WebCore/libwebcore.exp
@@ -33,4 +33,5 @@ __ZNK7QWidget7getViewEv
 __ZNK9KHTMLPart10xmlDocImplEv
 __ZNK9KHTMLPart14documentSourceEv
 __Z28WCSetIFWebDataSourceMakeFuncPFP11objc_objectPvS1_jE
-
+__ZN7QString12fromNSStringEP8NSString
+__ZN9QKeyEventC1EN6QEvent4TypeEiiiRK7QStringbt
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 8b20663..569a35e 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,13 @@
+2002-05-21  Richard J. Williamson  <rjw at apple.com>
+
+    Changes to support additional DHTML events.
+    
+	* WebView.subproj/IFWebView.mm:
+	(-[IFWebView keyDown:]):
+	(-[IFWebView keyUp:]):
+	* WebView.subproj/IFWebViewPrivate.mm:
+	(+[IFWebView _nodeHTML:DOM::]):
+
 2002-05-21  Chris Blumenberg  <cblu at apple.com>
 
 	Content policy can now be sent at a later time to avoid blocking.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 8b20663..569a35e 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,13 @@
+2002-05-21  Richard J. Williamson  <rjw at apple.com>
+
+    Changes to support additional DHTML events.
+    
+	* WebView.subproj/IFWebView.mm:
+	(-[IFWebView keyDown:]):
+	(-[IFWebView keyUp:]):
+	* WebView.subproj/IFWebViewPrivate.mm:
+	(+[IFWebView _nodeHTML:DOM::]):
+
 2002-05-21  Chris Blumenberg  <cblu at apple.com>
 
 	Content policy can now be sent at a later time to avoid blocking.
diff --git a/WebKit/WebView.subproj/IFWebView.mm b/WebKit/WebView.subproj/IFWebView.mm
index 3591dc9..0b8ad91 100644
--- a/WebKit/WebView.subproj/IFWebView.mm
+++ b/WebKit/WebView.subproj/IFWebView.mm
@@ -545,4 +545,44 @@
     //WebKitDebugAtLevel (WEBKIT_LOG_EVENTS, "mouseDragged %f, %f\n", p.x, p.y);
 }
 
+- (void)keyDown: (NSEvent *)event
+{
+    NSLog (@"keyDown: %@\n", event);
+    int state = 0;
+    
+    if ([event modifierFlags] & NSControlKeyMask)
+        state |= Qt::ControlButton;
+    if ([event modifierFlags] & NSShiftKeyMask)
+        state |= Qt::ShiftButton;
+    if ([event modifierFlags] & NSAlternateKeyMask)
+        state |= Qt::AltButton;
+    QKeyEvent kEvent(QEvent::KeyPress, 0, 0, state, NSSTRING_TO_QSTRING([event characters]), [event isARepeat], 1);
+
+    
+    KHTMLView *widget = _private->widget;
+    if (widget != 0l)
+        widget->keyPressEvent(&kEvent);
+}
+
+
+- (void)keyUp: (NSEvent *)event
+{
+    NSLog (@"keyUp: %@\n", event);
+    int state = 0;
+    
+    if ([event modifierFlags] & NSControlKeyMask)
+        state |= Qt::ControlButton;
+    if ([event modifierFlags] & NSShiftKeyMask)
+        state |= Qt::ShiftButton;
+    if ([event modifierFlags] & NSAlternateKeyMask)
+        state |= Qt::AltButton;
+    QKeyEvent kEvent(QEvent::KeyPress, 0, 0, state, NSSTRING_TO_QSTRING([event characters]), [event isARepeat], 1);
+
+    
+    KHTMLView *widget = _private->widget;
+    if (widget != 0l)
+        widget->keyReleaseEvent(&kEvent);
+}
+
+
 @end
diff --git a/WebKit/WebView.subproj/IFWebViewPrivate.mm b/WebKit/WebView.subproj/IFWebViewPrivate.mm
index 2a180d1..01d1b80 100644
--- a/WebKit/WebView.subproj/IFWebViewPrivate.mm
+++ b/WebKit/WebView.subproj/IFWebViewPrivate.mm
@@ -92,7 +92,8 @@
 
 + (NSString *)_nodeHTML: (DOM::NodeImpl *)node
 {
-    return QSTRING_TO_NSSTRING(node->recursive_toHTML(1));
+    NSString *string =  QSTRING_TO_NSSTRING(node->recursive_toHTML(1));
+    return string;
 }
 
 - (khtml::RenderObject *)_renderRoot
diff --git a/WebKit/WebView.subproj/WebFrameView.m b/WebKit/WebView.subproj/WebFrameView.m
index 3591dc9..0b8ad91 100644
--- a/WebKit/WebView.subproj/WebFrameView.m
+++ b/WebKit/WebView.subproj/WebFrameView.m
@@ -545,4 +545,44 @@
     //WebKitDebugAtLevel (WEBKIT_LOG_EVENTS, "mouseDragged %f, %f\n", p.x, p.y);
 }
 
+- (void)keyDown: (NSEvent *)event
+{
+    NSLog (@"keyDown: %@\n", event);
+    int state = 0;
+    
+    if ([event modifierFlags] & NSControlKeyMask)
+        state |= Qt::ControlButton;
+    if ([event modifierFlags] & NSShiftKeyMask)
+        state |= Qt::ShiftButton;
+    if ([event modifierFlags] & NSAlternateKeyMask)
+        state |= Qt::AltButton;
+    QKeyEvent kEvent(QEvent::KeyPress, 0, 0, state, NSSTRING_TO_QSTRING([event characters]), [event isARepeat], 1);
+
+    
+    KHTMLView *widget = _private->widget;
+    if (widget != 0l)
+        widget->keyPressEvent(&kEvent);
+}
+
+
+- (void)keyUp: (NSEvent *)event
+{
+    NSLog (@"keyUp: %@\n", event);
+    int state = 0;
+    
+    if ([event modifierFlags] & NSControlKeyMask)
+        state |= Qt::ControlButton;
+    if ([event modifierFlags] & NSShiftKeyMask)
+        state |= Qt::ShiftButton;
+    if ([event modifierFlags] & NSAlternateKeyMask)
+        state |= Qt::AltButton;
+    QKeyEvent kEvent(QEvent::KeyPress, 0, 0, state, NSSTRING_TO_QSTRING([event characters]), [event isARepeat], 1);
+
+    
+    KHTMLView *widget = _private->widget;
+    if (widget != 0l)
+        widget->keyReleaseEvent(&kEvent);
+}
+
+
 @end
diff --git a/WebKit/WebView.subproj/WebFrameViewPrivate.m b/WebKit/WebView.subproj/WebFrameViewPrivate.m
index 2a180d1..01d1b80 100644
--- a/WebKit/WebView.subproj/WebFrameViewPrivate.m
+++ b/WebKit/WebView.subproj/WebFrameViewPrivate.m
@@ -92,7 +92,8 @@
 
 + (NSString *)_nodeHTML: (DOM::NodeImpl *)node
 {
-    return QSTRING_TO_NSSTRING(node->recursive_toHTML(1));
+    NSString *string =  QSTRING_TO_NSSTRING(node->recursive_toHTML(1));
+    return string;
 }
 
 - (khtml::RenderObject *)_renderRoot

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list