[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

victorw at chromium.org victorw at chromium.org
Wed Dec 22 11:12:28 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 7a1d1b34358ab1003c780f3a5114fc94c63956a3
Author: victorw at chromium.org <victorw at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jul 15 02:01:19 2010 +0000

    2010-07-14  Victor Wang  <victorw at chromium.org>
    
            Reviewed by Darin Fisher.
    
            [chromium] update KURLGoogle decodeURLEscapeSequences to
            use googleurl public api so it does not access functions in
            url_canon_internal. This is for chromium multi-dll build.
    
            https://bugs.webkit.org/show_bug.cgi?id=42177
    
            Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
    
            * platform/KURLGoogle.cpp:
            (WebCore::decodeURLEscapeSequences):
    2010-07-14  Victor Wang  <victorw at chromium.org>
    
            Reviewed by Darin Fisher.
    
            [Chromium] Chromium webkit dll updates:
            -. Fix WEBKIT_IMPLEMENTATION in WebCommon so
               dllimport works as expected.
            -. Update webkit.gyp so targets that depend on webkit
               has correct macros defined.
            -. Roll forward chromium deps to r52273.
    
            https://bugs.webkit.org/show_bug.cgi?id=42177
    
            * DEPS:
            * WebKit.gyp:
            * public/WebCommon.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 02cf7a2..168c566 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-07-14  Victor Wang  <victorw at chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        [chromium] update KURLGoogle decodeURLEscapeSequences to
+        use googleurl public api so it does not access functions in
+        url_canon_internal. This is for chromium multi-dll build.
+
+        https://bugs.webkit.org/show_bug.cgi?id=42177
+
+        Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
+
+        * platform/KURLGoogle.cpp:
+        (WebCore::decodeURLEscapeSequences):
+
 2010-07-14  Adam Barth  <abarth at webkit.org>
 
         Reviewed by Eric Seidel.
diff --git a/WebCore/platform/KURLGoogle.cpp b/WebCore/platform/KURLGoogle.cpp
index b4c84a6..ac02630 100644
--- a/WebCore/platform/KURLGoogle.cpp
+++ b/WebCore/platform/KURLGoogle.cpp
@@ -48,7 +48,6 @@
 #include <wtf/StdLibExtras.h>
 #include <wtf/text/CString.h>
 
-#include <googleurl/src/url_canon_internal.h>
 #include <googleurl/src/url_util.h>
 
 using WTF::isASCIILower;
@@ -943,55 +942,13 @@ String decodeURLEscapeSequences(const String& str, const TextEncoding& encoding)
 
     const char* input = cstr.data();
     int inputLength = cstr.length();
-    url_canon::RawCanonOutputT<char> unescaped;
-    for (int i = 0; i < inputLength; i++) {
-        if (input[i] == '%') {
-            unsigned char ch;
-            if (url_canon::DecodeEscaped(input, &i, inputLength, &ch))
-                unescaped.push_back(ch);
-            else {
-                // Invalid escape sequence, copy the percent literal.
-                unescaped.push_back('%');
-            }
-        } else {
-            // Regular non-escaped 8-bit character.
-            unescaped.push_back(input[i]);
-        }
-    }
 
-    // Convert that 8-bit to UTF-16. It's not clear IE does this at all to
-    // JavaScript URLs, but Firefox and Safari do.
-    url_canon::RawCanonOutputT<url_parse::UTF16Char> utf16;
-    for (int i = 0; i < unescaped.length(); i++) {
-        unsigned char uch = static_cast<unsigned char>(unescaped.at(i));
-        if (uch < 0x80) {
-            // Non-UTF-8, just append directly
-            utf16.push_back(uch);
-        } else {
-            // next_ch will point to the last character of the decoded
-            // character.
-            int nextCharacter = i;
-            unsigned codePoint;
-            if (url_canon::ReadUTFChar(unescaped.data(), &nextCharacter,
-                                       unescaped.length(), &codePoint)) {
-                // Valid UTF-8 character, convert to UTF-16.
-                url_canon::AppendUTF16Value(codePoint, &utf16);
-                i = nextCharacter;
-            } else {
-                // KURL.cpp strips any sequences that are not valid UTF-8. This
-                // sounds scary. Instead, we just keep those invalid code
-                // points and promote to UTF-16. We copy all characters from
-                // the current position to the end of the identified sqeuqnce.
-                while (i < nextCharacter) {
-                    utf16.push_back(static_cast<unsigned char>(unescaped.at(i)));
-                    i++;
-                }
-                utf16.push_back(static_cast<unsigned char>(unescaped.at(i)));
-            }
-        }
-    }
+    url_canon::RawCanonOutputT<url_parse::UTF16Char> unescaped;
+
+    url_util::DecodeURLEscapeSequences(input, inputLength, &unescaped);
 
-    return String(reinterpret_cast<UChar*>(utf16.data()), utf16.length());
+    return String(reinterpret_cast<UChar*>(unescaped.data()),
+                  unescaped.length());
 }
 
 bool KURL::protocolIs(const char* protocol) const
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 325bb73..4b8b78d 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,20 @@
+2010-07-14  Victor Wang  <victorw at chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        [Chromium] Chromium webkit dll updates:
+        -. Fix WEBKIT_IMPLEMENTATION in WebCommon so
+           dllimport works as expected.
+        -. Update webkit.gyp so targets that depend on webkit
+           has correct macros defined.
+        -. Roll forward chromium deps to r52273.
+
+        https://bugs.webkit.org/show_bug.cgi?id=42177
+
+        * DEPS:
+        * WebKit.gyp:
+        * public/WebCommon.h:
+
 2010-07-14  James Hawkins  <jhawkins at chromium.org>
 
         UNREVIEWED Build Fix.
diff --git a/WebKit/chromium/DEPS b/WebKit/chromium/DEPS
index 63509ff..362c1b5 100644
--- a/WebKit/chromium/DEPS
+++ b/WebKit/chromium/DEPS
@@ -32,7 +32,7 @@
 
 vars = {
   'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
-  'chromium_rev': '51736',
+  'chromium_rev': '52273',
 }
 
 deps = {
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 7198f37..89a317a 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -99,7 +99,7 @@
                 'src',
             ],
             'defines': [
-                'WEBKIT_IMPLEMENTATION',
+                'WEBKIT_IMPLEMENTATION=1',
             ],
             'sources': [
                 'public/gtk/WebInputEventFactory.h',
@@ -486,10 +486,10 @@
                         ['component=="shared_library"', {
                             'defines': [
                                 'WEBKIT_DLL',
-                                'USING_V8_SHARED',
                             ],
                             'dependencies': [
                                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings',
+                                '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
                                 '<(chromium_src_dir)/gpu/gpu.gyp:gles2_c_lib',
                                 '<(chromium_src_dir)/third_party/icu/icu.gyp:*',
                                 '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp:libjpeg',
@@ -502,6 +502,15 @@
                                 '<(chromium_src_dir)/third_party/zlib/zlib.gyp:zlib',
                                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
                             ],
+                            'direct_dependent_settings': {
+                                'defines': [
+                                    'WEBKIT_DLL',
+                                ],
+                            },
+                            'export_dependent_settings': [
+                                '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
+                                '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
+                            ],
                         }],
                     ],
                 }, {
diff --git a/WebKit/chromium/public/WebCommon.h b/WebKit/chromium/public/WebCommon.h
index 5f441b7..2bfa17d 100644
--- a/WebKit/chromium/public/WebCommon.h
+++ b/WebKit/chromium/public/WebCommon.h
@@ -66,7 +66,7 @@
 // Exported symbols need to be annotated with WEBKIT_API
 
 #if defined(WIN32) && defined(WEBKIT_DLL)
-    #if defined(WEBKIT_IMPLEMENTATION)
+    #if WEBKIT_IMPLEMENTATION
         #define WEBKIT_API __declspec(dllexport)
     #else
         #define WEBKIT_API __declspec(dllimport)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list