[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 11:28:15 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 7c5d40d2b6323c00c241afb480ae6126f16b1ecc
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jul 26 19:30:38 2010 +0000
2010-07-26 Patrick Gansterer <paroga at paroga.com>
Reviewed by Kent Tamura.
[WINCE] Port ClipboardUtilities to WinCE
https://bugs.webkit.org/show_bug.cgi?id=42929
Make ClipboardUtilitiesWin more portable and remove the global namespace prefix
from GlobalLock/GlobalUnlock, since they are only macros on WinCE.
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::urlFromPath):
(WebCore::getWebLocData):
(WebCore::createGlobalData):
(WebCore::getURL):
(WebCore::getPlainText):
(WebCore::fragmentFromHTML):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index e751e3c..d6425d1 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,5 +1,23 @@
2010-07-26 Patrick Gansterer <paroga at paroga.com>
+ Reviewed by Kent Tamura.
+
+ [WINCE] Port ClipboardUtilities to WinCE
+ https://bugs.webkit.org/show_bug.cgi?id=42929
+
+ Make ClipboardUtilitiesWin more portable and remove the global namespace prefix
+ from GlobalLock/GlobalUnlock, since they are only macros on WinCE.
+
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::urlFromPath):
+ (WebCore::getWebLocData):
+ (WebCore::createGlobalData):
+ (WebCore::getURL):
+ (WebCore::getPlainText):
+ (WebCore::fragmentFromHTML):
+
+2010-07-26 Patrick Gansterer <paroga at paroga.com>
+
Reviewed by Adam Roben.
[WINCE] Buildfix for BitmapImage.h
diff --git a/WebCore/platform/win/ClipboardUtilitiesWin.cpp b/WebCore/platform/win/ClipboardUtilitiesWin.cpp
index e6af7ef..f96882c 100644
--- a/WebCore/platform/win/ClipboardUtilitiesWin.cpp
+++ b/WebCore/platform/win/ClipboardUtilitiesWin.cpp
@@ -31,23 +31,47 @@
#include "PlatformString.h"
#include "TextEncoding.h"
#include "markup.h"
-#include <CoreFoundation/CoreFoundation.h>
#include <shlwapi.h>
#include <wininet.h> // for INTERNET_MAX_URL_LENGTH
-#include <wtf/RetainPtr.h>
#include <wtf/text/CString.h>
+#if PLATFORM(CF)
+#include <CoreFoundation/CoreFoundation.h>
+#include <wtf/RetainPtr.h>
+#endif
+
namespace WebCore {
+#if PLATFORM(CF)
FORMATETC* cfHDropFormat()
{
static FORMATETC urlFormat = {CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};
return &urlFormat;
}
+static bool urlFromPath(CFStringRef path, String& url)
+{
+ if (!path)
+ return false;
+
+ RetainPtr<CFURLRef> cfURL(AdoptCF, CFURLCreateWithFileSystemPath(0, path, kCFURLWindowsPathStyle, false));
+ if (!cfURL)
+ return false;
+
+ url = CFURLGetString(cfURL.get());
+
+ // Work around <rdar://problem/6708300>, where CFURLCreateWithFileSystemPath makes URLs with "localhost".
+ if (url.startsWith("file://localhost/"))
+ url.remove(7, 9);
+
+ return true;
+}
+#endif
+
static bool getWebLocData(IDataObject* dataObject, String& url, String* title)
{
bool succeeded = false;
+#if PLATFORM(CF)
WCHAR filename[MAX_PATH];
WCHAR urlBuffer[INTERNET_MAX_URL_LENGTH];
@@ -55,8 +79,8 @@ static bool getWebLocData(IDataObject* dataObject, String& url, String* title)
if (FAILED(dataObject->GetData(cfHDropFormat(), &medium)))
return false;
- HDROP hdrop = (HDROP)GlobalLock(medium.hGlobal);
-
+ HDROP hdrop = static_cast<HDROP>(GlobalLock(medium.hGlobal));
+
if (!hdrop)
return false;
@@ -81,6 +105,7 @@ exit:
// Free up memory.
DragFinish(hdrop);
GlobalUnlock(medium.hGlobal);
+#endif
return succeeded;
}
@@ -113,9 +138,9 @@ HGLOBAL createGlobalData(const KURL& url, const String& title)
HGLOBAL cbData = ::GlobalAlloc(GPTR, size * sizeof(UChar));
if (cbData) {
- PWSTR buffer = (PWSTR)::GlobalLock(cbData);
- swprintf_s(buffer, size, L"%s\n%s", mutableURL.charactersWithNullTermination(), mutableTitle.charactersWithNullTermination());
- ::GlobalUnlock(cbData);
+ PWSTR buffer = static_cast<PWSTR>(GlobalLock(cbData));
+ _snwprintf(buffer, size, L"%s\n%s", mutableURL.charactersWithNullTermination(), mutableTitle.charactersWithNullTermination());
+ GlobalUnlock(cbData);
}
return cbData;
}
@@ -125,10 +150,10 @@ HGLOBAL createGlobalData(const String& str)
HGLOBAL globalData = ::GlobalAlloc(GPTR, (str.length() + 1) * sizeof(UChar));
if (!globalData)
return 0;
- UChar* buffer = static_cast<UChar*>(::GlobalLock(globalData));
+ UChar* buffer = static_cast<UChar*>(GlobalLock(globalData));
memcpy(buffer, str.characters(), str.length() * sizeof(UChar));
buffer[str.length()] = 0;
- ::GlobalUnlock(globalData);
+ GlobalUnlock(globalData);
return globalData;
}
@@ -137,10 +162,10 @@ HGLOBAL createGlobalData(const Vector<char>& vector)
HGLOBAL globalData = ::GlobalAlloc(GPTR, vector.size() + 1);
if (!globalData)
return 0;
- char* buffer = static_cast<char*>(::GlobalLock(globalData));
+ char* buffer = static_cast<char*>(GlobalLock(globalData));
memcpy(buffer, vector.data(), vector.size());
buffer[vector.size()] = 0;
- ::GlobalUnlock(globalData);
+ GlobalUnlock(globalData);
return globalData;
}
@@ -271,24 +296,6 @@ FORMATETC* smartPasteFormat()
return &htmlFormat;
}
-static bool urlFromPath(CFStringRef path, String& url)
-{
- if (!path)
- return false;
-
- RetainPtr<CFURLRef> cfURL(AdoptCF, CFURLCreateWithFileSystemPath(0, path, kCFURLWindowsPathStyle, false));
- if (!cfURL)
- return false;
-
- url = CFURLGetString(cfURL.get());
-
- // Work around <rdar://problem/6708300>, where CFURLCreateWithFileSystemPath makes URLs with "localhost".
- if (url.startsWith("file://localhost/"))
- url.remove(7, 9);
-
- return true;
-}
-
String getURL(IDataObject* dataObject, DragData::FilenameConversionPolicy filenamePolicy, bool& success, String* title)
{
STGMEDIUM store;
@@ -298,22 +305,24 @@ String getURL(IDataObject* dataObject, DragData::FilenameConversionPolicy filena
success = true;
else if (SUCCEEDED(dataObject->GetData(urlWFormat(), &store))) {
// URL using Unicode
- UChar* data = (UChar*)GlobalLock(store.hGlobal);
+ UChar* data = static_cast<UChar*>(GlobalLock(store.hGlobal));
url = extractURL(String(data), title);
- GlobalUnlock(store.hGlobal);
+ GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
success = true;
} else if (SUCCEEDED(dataObject->GetData(urlFormat(), &store))) {
// URL using ASCII
- char* data = (char*)GlobalLock(store.hGlobal);
+ char* data = static_cast<char*>(GlobalLock(store.hGlobal));
url = extractURL(String(data), title);
- GlobalUnlock(store.hGlobal);
+ GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
success = true;
- } else if (filenamePolicy == DragData::ConvertFilenames) {
+ }
+#if PLATFORM(CF)
+ else if (filenamePolicy == DragData::ConvertFilenames) {
if (SUCCEEDED(dataObject->GetData(filenameWFormat(), &store))) {
// file using unicode
- wchar_t* data = (wchar_t*)GlobalLock(store.hGlobal);
+ wchar_t* data = static_cast<wchar_t*>(GlobalLock(store.hGlobal));
if (data && data[0] && (PathFileExists(data) || PathIsUNC(data))) {
RetainPtr<CFStringRef> pathAsCFString(AdoptCF, CFStringCreateWithCharacters(kCFAllocatorDefault, (const UniChar*)data, wcslen(data)));
if (urlFromPath(pathAsCFString.get(), url)) {
@@ -326,7 +335,7 @@ String getURL(IDataObject* dataObject, DragData::FilenameConversionPolicy filena
ReleaseStgMedium(&store);
} else if (SUCCEEDED(dataObject->GetData(filenameFormat(), &store))) {
// filename using ascii
- char* data = (char*)GlobalLock(store.hGlobal);
+ char* data = static_cast<char*>(GlobalLock(store.hGlobal));
if (data && data[0] && (PathFileExistsA(data) || PathIsUNCA(data))) {
RetainPtr<CFStringRef> pathAsCFString(AdoptCF, CFStringCreateWithCString(kCFAllocatorDefault, data, kCFStringEncodingASCII));
if (urlFromPath(pathAsCFString.get(), url)) {
@@ -339,6 +348,7 @@ String getURL(IDataObject* dataObject, DragData::FilenameConversionPolicy filena
ReleaseStgMedium(&store);
}
}
+#endif
return url;
}
@@ -349,14 +359,14 @@ String getPlainText(IDataObject* dataObject, bool& success)
success = false;
if (SUCCEEDED(dataObject->GetData(plainTextWFormat(), &store))) {
// Unicode text
- UChar* data = (UChar*)GlobalLock(store.hGlobal);
+ UChar* data = static_cast<UChar*>(GlobalLock(store.hGlobal));
text = String(data);
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
success = true;
} else if (SUCCEEDED(dataObject->GetData(plainTextFormat(), &store))) {
// ASCII text
- char* data = (char*)GlobalLock(store.hGlobal);
+ char* data = static_cast<char*>(GlobalLock(store.hGlobal));
text = String(data);
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
@@ -435,9 +445,9 @@ PassRefPtr<DocumentFragment> fragmentFromHTML(Document* doc, IDataObject* data)
String srcURL;
if (SUCCEEDED(data->GetData(htmlFormat(), &store))) {
// MS HTML Format parsing
- char* data = (char*)GlobalLock(store.hGlobal);
+ char* data = static_cast<char*>(GlobalLock(store.hGlobal));
SIZE_T dataSize = ::GlobalSize(store.hGlobal);
- String cfhtml(UTF8Encoding().decode(data, dataSize));
+ String cfhtml(UTF8Encoding().decode(data, dataSize));
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
if (PassRefPtr<DocumentFragment> fragment = fragmentFromCFHTML(doc, cfhtml))
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list