[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:15:44 UTC 2010


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

    2010-07-15  Victor Wang  <victorw at chromium.org>
    
            Reviewed by David Levin.
    
            [Chromium] Disable c4291 for chromium windows multi dll build.
    
            https://bugs.webkit.org/show_bug.cgi?id=42177
    
            * JavaScriptCore.gyp/JavaScriptCore.gyp:
    2010-07-15  Victor Wang  <victorw at chromium.org>
    
            Reviewed by David Levin.
    
           [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.
    
            https://bugs.webkit.org/show_bug.cgi?id=42177
    
            * WebKit.gyp:
            * public/WebCommon.h:
    2010-07-15  Victor Wang  <victorw at chromium.org>
    
            Reviewed by David Levin.
    
            [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):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63516 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 55423f7..afcb343 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-15  Victor Wang  <victorw at chromium.org>
+
+        Reviewed by David Levin.
+
+        [Chromium] Disable c4291 for chromium windows multi dll build.
+
+        https://bugs.webkit.org/show_bug.cgi?id=42177
+
+        * JavaScriptCore.gyp/JavaScriptCore.gyp:
+
 2010-07-15  Geoffrey Garen  <ggaren at apple.com>
 
         Reviewed by Maciej Stachowiak.
diff --git a/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp b/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp
index 9e014dd..32270e8 100644
--- a/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp
+++ b/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp
@@ -142,6 +142,18 @@
           'include_dirs!': [
             '<(SHARED_INTERMEDIATE_DIR)/webkit',
           ],
+          'conditions': [
+            ['inside_chromium_build==1 and component=="shared_library"', {
+              # Chromium windows multi-dll build enables c++ exception and this
+              # causes wtf generates 4291 warning due to operator new/delete
+              # implementations. Disable the warning for chromium windows
+              # multi-dll build.
+              'msvs_disabled_warnings': [4291],
+              'direct_dependent_settings': {
+                'msvs_disabled_warnings': [4291],
+              },
+            }],
+          ],
         }],
       ],
     },
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 73ee1fd..099ece2 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-07-15  Victor Wang  <victorw at chromium.org>
+
+        Reviewed by David Levin.
+
+        [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-15  Kent Tamura  <tkent at chromium.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 5c48757..e005ba8 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,18 @@
+2010-07-15  Victor Wang  <victorw at chromium.org>
+
+        Reviewed by David Levin.
+
+       [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.
+
+        https://bugs.webkit.org/show_bug.cgi?id=42177
+
+        * WebKit.gyp:
+        * public/WebCommon.h:
+
 2010-07-13  Zhenyao Mo  <zmo at google.com>
 
         Reviewed by Nate Chapin.
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 366c6d1..dbb9dda 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',
@@ -488,10 +488,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',
@@ -504,6 +504,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