summaryrefslogtreecommitdiff
path: root/Source/WebKit2/Scripts/webkit2/messages.py
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-01-11 10:03:25 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2012-01-11 10:03:25 +0100
commitd11f84f5b5cdc0d92a08af01b13472fdd5f9acb9 (patch)
treeb318cf594dc1da2fa48224005945c9157f35bb41 /Source/WebKit2/Scripts/webkit2/messages.py
parent6300a96eca9f152b379f1bcf3d9efdc5572d989a (diff)
downloadqtwebkit-d11f84f5b5cdc0d92a08af01b13472fdd5f9acb9.tar.gz
Imported WebKit commit 75bb2fc5882d2e1b3d5572c2961507996cbca5e3 (http://svn.webkit.org/repository/webkit/trunk@104681)
Diffstat (limited to 'Source/WebKit2/Scripts/webkit2/messages.py')
-rw-r--r--Source/WebKit2/Scripts/webkit2/messages.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/Source/WebKit2/Scripts/webkit2/messages.py b/Source/WebKit2/Scripts/webkit2/messages.py
index cf9d5ec01..456cb100a 100644
--- a/Source/WebKit2/Scripts/webkit2/messages.py
+++ b/Source/WebKit2/Scripts/webkit2/messages.py
@@ -311,16 +311,21 @@ def handler_function(receiver, message):
return '%s::%s' % (receiver.name, message.name[0].lower() + message.name[1:])
-def async_case_statement(receiver, message, statement_before_return=None):
+def async_case_statement(receiver, message):
+ dispatch_function_args = ['arguments', 'this', '&%s' % handler_function(receiver, message)]
dispatch_function = 'handleMessage'
if message_is_variadic(message):
dispatch_function += 'Variadic'
-
+ if message.has_attribute(DISPATCH_ON_CONNECTION_QUEUE_ATTRIBUTE):
+ dispatch_function += 'OnConnectionQueue'
+ dispatch_function_args.insert(0, 'connection')
+
result = []
result.append(' case Messages::%s::%s:\n' % (receiver.name, message.id()))
- result.append(' CoreIPC::%s<Messages::%s::%s>(arguments, this, &%s);\n' % (dispatch_function, receiver.name, message.name, handler_function(receiver, message)))
- if statement_before_return:
- result.append(' %s\n' % statement_before_return)
+
+ result.append(' CoreIPC::%s<Messages::%s::%s>(%s);\n' % (dispatch_function, receiver.name, message.name, ', '.join(dispatch_function_args)))
+ if message.has_attribute(DISPATCH_ON_CONNECTION_QUEUE_ATTRIBUTE):
+ result.append(' didHandleMessage = true;\n')
result.append(' return;\n')
return surround_in_condition(''.join(result), message.condition)
@@ -533,14 +538,14 @@ def generate_message_handler(file):
async_messages.append(message)
if async_dispatch_on_connection_queue_messages:
- result.append('void %s::didReceive%sMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage)\n' % (receiver.name, receiver.name))
+ result.append('void %s::didReceive%sMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage)\n' % (receiver.name, receiver.name))
result.append('{\n')
result.append('#if COMPILER(MSVC)\n')
result.append('#pragma warning(push)\n')
result.append('#pragma warning(disable: 4065)\n')
result.append('#endif\n')
result.append(' switch (messageID.get<Messages::%s::Kind>()) {\n' % receiver.name)
- result += [async_case_statement(receiver, message, 'didHandleMessage = true;') for message in async_dispatch_on_connection_queue_messages]
+ result += [async_case_statement(receiver, message) for message in async_dispatch_on_connection_queue_messages]
result.append(' default:\n')
result.append(' return;\n')
result.append(' }\n')