[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