[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:35:35 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 0b46dc745b015b9a219b9fb9974403fb0e03a9ab
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Aug 30 18:45:01 2002 +0000
Made decoder more robust wrt nulls in content. Changed use
of QCString to null safe QString rather than modify
content.
* khtml/misc/decoder.cpp:
(Decoder::decode):
(Decoder::flush):
* khtml/misc/decoder.h:
* kwq/KWQString.mm:
(QString::fromStringWithEncoding):
Change link dragging behavior. Drags URL, not URL contents.
Still need to generate better image for dragging, will copy OmniWeb
and drag link text.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView mouseDragged:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 71fd751..ceb8414 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,16 @@
+2002-08-30 Richard Williamson (Home) <rjw at apple.com>
+
+ Made decoder more robust wrt nulls in content. Changed use
+ of QCString to null safe QString rather than modify
+ content.
+
+ * khtml/misc/decoder.cpp:
+ (Decoder::decode):
+ (Decoder::flush):
+ * khtml/misc/decoder.h:
+ * kwq/KWQString.mm:
+ (QString::fromStringWithEncoding):
+
2002-08-30 Darin Adler <darin at apple.com>
- fixed 3027407 -- Console error refers to closed bug
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 71fd751..ceb8414 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,16 @@
+2002-08-30 Richard Williamson (Home) <rjw at apple.com>
+
+ Made decoder more robust wrt nulls in content. Changed use
+ of QCString to null safe QString rather than modify
+ content.
+
+ * khtml/misc/decoder.cpp:
+ (Decoder::decode):
+ (Decoder::flush):
+ * khtml/misc/decoder.h:
+ * kwq/KWQString.mm:
+ (QString::fromStringWithEncoding):
+
2002-08-30 Darin Adler <darin at apple.com>
- fixed 3027407 -- Console error refers to closed bug
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 71fd751..ceb8414 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,16 @@
+2002-08-30 Richard Williamson (Home) <rjw at apple.com>
+
+ Made decoder more robust wrt nulls in content. Changed use
+ of QCString to null safe QString rather than modify
+ content.
+
+ * khtml/misc/decoder.cpp:
+ (Decoder::decode):
+ (Decoder::flush):
+ * khtml/misc/decoder.h:
+ * kwq/KWQString.mm:
+ (QString::fromStringWithEncoding):
+
2002-08-30 Darin Adler <darin at apple.com>
- fixed 3027407 -- Console error refers to closed bug
diff --git a/WebCore/khtml/misc/decoder.cpp b/WebCore/khtml/misc/decoder.cpp
index 8c20e75..021d393 100644
--- a/WebCore/khtml/misc/decoder.cpp
+++ b/WebCore/khtml/misc/decoder.cpp
@@ -356,14 +356,24 @@ QString Decoder::decode(const char *data, int len)
i--;
}
}
+#ifdef APPLE_CHANGES
+ QString appendString(data, len);
+ buffer += appendString;
+#else
buffer += QCString(data, len+1);
-
+#endif
// we still don't have an encoding, and are in the head
// the following tags are allowed in <head>:
// SCRIPT|STYLE|META|LINK|OBJECT|TITLE|BASE
+#ifdef APPLE_CHANGES
+ const char *ptr = buffer.latin1();
+ int pLen = buffer.length();
+ while(pLen--)
+#else
const char *ptr = buffer.data();
while(*ptr != '\0')
+#endif
{
if(*ptr == '<') {
bool end = false;
@@ -461,7 +471,8 @@ QString Decoder::decode(const char *data, int len)
}
#ifdef APPLE_CHANGES
else {
- buffer += QCString(data, len+1);
+ QString appendString(data, len);
+ buffer += appendString;
}
#endif /* APPLE_CHANGES */
@@ -515,7 +526,7 @@ QString Decoder::decode(const char *data, int len)
#else
if(!buffer.isEmpty() && enc != "ISO-10646-UCS-2") {
#endif
- out = m_decoder->toUnicode(buffer, buffer.length());
+ out = m_decoder->toUnicode(buffer.latin1(), buffer.length());
buffer = "";
} else {
if(m_codec->mibEnum() != 1000) // utf16
@@ -550,7 +561,7 @@ QString Decoder::decode(const char *data, int len)
QString Decoder::flush() const
{
- return m_decoder->toUnicode(buffer, buffer.length());
+ return m_decoder->toUnicode(buffer.latin1(), buffer.length());
}
// -----------------------------------------------------------------------------
diff --git a/WebCore/khtml/misc/decoder.h b/WebCore/khtml/misc/decoder.h
index dd5c601..8a34d40 100644
--- a/WebCore/khtml/misc/decoder.h
+++ b/WebCore/khtml/misc/decoder.h
@@ -53,8 +53,11 @@ protected:
QTextDecoder *m_decoder; // only used for utf16
QCString enc;
+#ifdef APPLE_CHANGES
+ QString buffer;
+#else
QCString buffer;
-
+#endif
bool body;
bool beginning;
bool visualRTL;
diff --git a/WebCore/kwq/KWQString.mm b/WebCore/kwq/KWQString.mm
index 7207998..f8a36f2 100644
--- a/WebCore/kwq/KWQString.mm
+++ b/WebCore/kwq/KWQString.mm
@@ -728,26 +728,25 @@ void QString::setBufferFromCFString(CFStringRef cfs)
}
}
+// This function is used by the decoder. It will be replace with TEC eventually.
QString QString::fromStringWithEncoding(const char *chs, int len, CFStringEncoding encoding)
{
QString qs;
+
if (chs && *chs) {
CFMutableStringRef s = CFStringCreateMutable(kCFAllocatorDefault, 0);
- if (s) {
- if (len < 0) {
- // append null-terminated string
- CFStringAppendCString(s, chs, encoding);
- } else {
- // append length-specified string
- char *buf = (char *)CFAllocatorAllocate(kCFAllocatorDefault, len + 1, 0);
- strncpy(buf, chs, len);
- *(buf + len) = '\0';
- CFStringAppendCString(s, buf, encoding);
- qs.setBufferFromCFString(s);
- CFAllocatorDeallocate(kCFAllocatorDefault, buf);
- }
- }
+ CFStringRef decoderString = CFStringCreateWithBytes (kCFAllocatorDefault, (const UInt8 *)chs, len, encoding, false);
+ CFStringAppend (s, decoderString);
+
+ qs.setBufferFromCFString(s);
+
+ fprintf (stderr, "strlen(chs) = %d, CFStringLength (decoderString) = %d, qs.length() = %d, len = %d\n",
+ (int)strlen(chs), (int)CFStringGetLength (decoderString), (int)qs.length(), (int)len);
+
+ CFRelease (s);
+ CFRelease (decoderString);
}
+
return qs;
}
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 537b3e3..2318a66 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,12 @@
+2002-08-30 Richard Williamson (Home) <rjw at apple.com>
+
+ Change link dragging behavior. Drags URL, not URL contents.
+ Still need to generate better image for dragging, will copy OmniWeb
+ and drag link text.
+
+ * WebView.subproj/WebHTMLView.m:
+ (-[WebHTMLView mouseDragged:]):
+
2002-08-30 Darin Adler <darin at apple.com>
* WebKit.pbproj/project.pbxproj: Allowed the new Project Builder to put in
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 537b3e3..2318a66 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,12 @@
+2002-08-30 Richard Williamson (Home) <rjw at apple.com>
+
+ Change link dragging behavior. Drags URL, not URL contents.
+ Still need to generate better image for dragging, will copy OmniWeb
+ and drag link text.
+
+ * WebView.subproj/WebHTMLView.m:
+ (-[WebHTMLView mouseDragged:]):
+
2002-08-30 Darin Adler <darin at apple.com>
* WebKit.pbproj/project.pbxproj: Allowed the new Project Builder to put in
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index ba9d5ed..9414e8b 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -13,6 +13,7 @@
#import <WebKit/WebException.h>
#import <WebKit/WebFrame.h>
#import <WebKit/WebHTMLViewPrivate.h>
+#import <WebKit/WebIconLoader.h>
#import <WebKit/WebKitDebug.h>
#import <WebKit/WebNSViewExtras.h>
#import <WebKit/WebTextRenderer.h>
@@ -435,9 +436,24 @@
_private->draggedURL = linkURL;
[_private->draggedURL retain];
+
+#ifdef DRAG_FILES
NSArray *fileType = [NSArray arrayWithObject:[[_private->draggedURL path] pathExtension]];
NSRect rect = NSMakeRect(point.x + -16, point.y - 16, 32, 32);
[self dragPromisedFilesOfTypes: fileType fromRect: rect source: self slideBack: YES event: event];
+#else
+ NSPasteboard *pasteboard = [NSPasteboard pasteboardWithName:NSDragPboard];
+
+ [pasteboard declareTypes:[NSArray arrayWithObject:NSURLPboardType] owner:nil];
+ [_private->draggedURL writeToPasteboard: pasteboard];
+ [self dragImage:[WebIconLoader defaultIcon]
+ at:[self convertPoint:[event locationInWindow] fromView:nil]
+ offset:NSMakeSize(0.0,0.0)
+ event:event
+ pasteboard:pasteboard
+ source:self
+ slideBack:NO];
+#endif
return;
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list