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

andersca at apple.com andersca at apple.com
Wed Dec 22 13:46:35 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 2952e55bb6600462d24f3d570c1044f751e02799
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Sep 26 21:47:57 2010 +0000

    Generated message handlers should include argument coder headers for some types
    https://bugs.webkit.org/show_bug.cgi?id=46582
    
    Reviewed by Sam Weinig.
    
    * Scripts/webkit2/messages.py:
    When determining which headers to use when generating a message handler, consider the
    argument coder headers.
    
    * Scripts/webkit2/messages_unittest.py:
    Update test result.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68349 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 7a1bb83..c671e0a 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,17 @@
+2010-09-26  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Generated message handlers should include argument coder headers for some types
+        https://bugs.webkit.org/show_bug.cgi?id=46582
+
+        * Scripts/webkit2/messages.py:
+        When determining which headers to use when generating a message handler, consider the
+        argument coder headers.
+
+        * Scripts/webkit2/messages_unittest.py:
+        Update test result.
+
 2010-09-24  Sam Weinig  <sam at webkit.org>
 
         Fix release build.
diff --git a/WebKit2/Scripts/webkit2/messages.py b/WebKit2/Scripts/webkit2/messages.py
index 4a6e12f..b246d75 100644
--- a/WebKit2/Scripts/webkit2/messages.py
+++ b/WebKit2/Scripts/webkit2/messages.py
@@ -280,7 +280,18 @@ def case_statement(receiver, message):
     return surround_in_condition(''.join(result), message.condition)
 
 
-def header_for_type(type):
+def argument_coder_headers_for_type(type):
+    special_cases = {
+        'WTF::String': '"WebCoreArgumentCoders.h"',
+    }
+
+    if type in special_cases:
+        return [special_cases[type]]
+
+    return []
+
+
+def headers_for_type(type):
     special_cases = {
         'CoreIPC::MachPort': '"MachPort.h"',
         'WTF::String': '<wtf/text/WTFString.h>',
@@ -290,16 +301,16 @@ def header_for_type(type):
         'WebKit::WebTouchEvent': '"WebEvent.h"',
     }
     if type in special_cases:
-        return special_cases[type]
+        return [special_cases[type]]
 
     # We assume that we must include a header for a type iff it has a scope
     # resolution operator (::).
     split = type.split('::')
     if len(split) != 2:
-        return None
+        return []
     if split[0] == 'WebKit':
-        return '"%s.h"' % split[1]
-    return '<%s/%s.h>' % tuple(split)
+        return ['"%s.h"' % split[1]]
+    return ['<%s/%s.h>' % tuple(split)]
 
 
 def generate_message_handler(file):
@@ -309,7 +320,16 @@ def generate_message_handler(file):
         '"HandleMessage.h"',
         '"ArgumentDecoder.h"',
     ])
-    [headers.add(header) for header in [header_for_type(parameter.type) for parameter in receiver.iterparameters()] if header]
+
+    for parameter in receiver.iterparameters():
+        type = parameter.type
+        argument_encoder_headers = argument_coder_headers_for_type(parameter.type)
+        if argument_encoder_headers:
+            headers.update(argument_encoder_headers)
+            continue
+
+        type_headers = headers_for_type(type)
+        headers.update(type_headers)
 
     result = []
 
diff --git a/WebKit2/Scripts/webkit2/messages_unittest.py b/WebKit2/Scripts/webkit2/messages_unittest.py
index fc391c5..76dbc86 100644
--- a/WebKit2/Scripts/webkit2/messages_unittest.py
+++ b/WebKit2/Scripts/webkit2/messages_unittest.py
@@ -388,9 +388,9 @@ _expected_receiver_implementation = """/*
 #include "ArgumentDecoder.h"
 #include "HandleMessage.h"
 #include "MachPort.h"
+#include "WebCoreArgumentCoders.h"
 #include "WebEvent.h"
 #include "WebPageMessages.h"
-#include <wtf/text/WTFString.h>
 
 namespace WebKit {
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list