[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