diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-01-11 10:03:25 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-01-11 10:03:25 +0100 |
commit | d11f84f5b5cdc0d92a08af01b13472fdd5f9acb9 (patch) | |
tree | b318cf594dc1da2fa48224005945c9157f35bb41 /Source/WebKit2/Scripts/webkit2/messages.py | |
parent | 6300a96eca9f152b379f1bcf3d9efdc5572d989a (diff) | |
download | qtwebkit-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.py | 19 |
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') |