diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
commit | cfd86b747d32ac22246a1aa908eaa720c63a88c1 (patch) | |
tree | 24d68c6f61c464ecba1e05670b80390ea3b0e50c /Source/WebKit2/Scripts/webkit2/messages.py | |
parent | 69d7c744c9de19d152dbe2d8e46eb7dfd4511d1a (diff) | |
download | qtwebkit-cfd86b747d32ac22246a1aa908eaa720c63a88c1.tar.gz |
Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733)
New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
Diffstat (limited to 'Source/WebKit2/Scripts/webkit2/messages.py')
-rw-r--r-- | Source/WebKit2/Scripts/webkit2/messages.py | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/Source/WebKit2/Scripts/webkit2/messages.py b/Source/WebKit2/Scripts/webkit2/messages.py index f1cd50389..69a9e352e 100644 --- a/Source/WebKit2/Scripts/webkit2/messages.py +++ b/Source/WebKit2/Scripts/webkit2/messages.py @@ -131,6 +131,7 @@ def message_to_struct_declaration(message): result.append(' static const Kind messageID = %s;\n' % message.id()) result.append(' static CoreIPC::StringReference receiverName() { return messageReceiverName(); }\n') result.append(' static CoreIPC::StringReference name() { return CoreIPC::StringReference("%s"); }\n' % message.name) + result.append(' static const bool isSync = %s;\n' % ('false', 'true')[message.reply_parameters != None]) result.append('\n') if message.reply_parameters != None: if message.has_attribute(DELAYED_ATTRIBUTE): @@ -317,7 +318,7 @@ def handler_function(receiver, message): return '%s::%s' % (receiver.name, message.name[0].lower() + message.name[1:]) -def async_case_statement(receiver, message): +def async_message_statement(receiver, message): dispatch_function_args = ['decoder', 'this', '&%s' % handler_function(receiver, message)] dispatch_function = 'handleMessage' if message.has_attribute(VARIADIC_ATTRIBUTE): @@ -327,16 +328,16 @@ def async_case_statement(receiver, message): dispatch_function_args.insert(0, 'connection') result = [] - result.append(' case Messages::%s::%s:\n' % (receiver.name, message.id())) - + result.append(' if (decoder.messageName() == Messages::%s::%s::name()) {\n' % (receiver.name, message.name)) 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') + result.append(' }\n') return surround_in_condition(''.join(result), message.condition) -def sync_case_statement(receiver, message): +def sync_message_statement(receiver, message): dispatch_function = 'handleMessage' if message.has_attribute(DELAYED_ATTRIBUTE): dispatch_function += 'Delayed' @@ -344,10 +345,10 @@ def sync_case_statement(receiver, message): dispatch_function += 'Variadic' result = [] - result.append(' case Messages::%s::%s:\n' % (receiver.name, message.id())) + result.append(' if (decoder.messageName() == Messages::%s::%s::name()) {\n' % (receiver.name, message.name)) result.append(' CoreIPC::%s<Messages::%s::%s>(%sdecoder, %sreplyEncoder, this, &%s);\n' % (dispatch_function, receiver.name, message.name, 'connection, ' if message.has_attribute(DELAYED_ATTRIBUTE) else '', '' if message.has_attribute(DELAYED_ATTRIBUTE) else '*', handler_function(receiver, message))) result.append(' return;\n') - + result.append(' }\n') return surround_in_condition(''.join(result), message.condition) @@ -387,6 +388,7 @@ def headers_for_type(type): 'WTF::String': ['<wtf/text/WTFString.h>'], 'WebCore::CompositionUnderline': ['<WebCore/Editor.h>'], 'WebCore::GrammarDetail': ['<WebCore/TextCheckerClient.h>'], + 'WebCore::GraphicsLayerAnimations': ['<WebCore/GraphicsLayerAnimation.h>'], 'WebCore::KeyframeValueList': ['<WebCore/GraphicsLayer.h>'], 'WebCore::KeypressCommand': ['<WebCore/KeyboardEvent.h>'], 'WebCore::FileChooserSettings': ['<WebCore/FileChooser.h>'], @@ -545,42 +547,30 @@ def generate_message_handler(file): async_messages.append(message) if async_dispatch_on_connection_queue_messages: - result.append('void %s::didReceive%sMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, bool& didHandleMessage)\n' % (receiver.name, receiver.name)) + result.append('void %s::didReceive%sMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, CoreIPC::MessageID, CoreIPC::MessageDecoder& decoder, 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) for message in async_dispatch_on_connection_queue_messages] - result.append(' default:\n') - result.append(' return;\n') - result.append(' }\n') + result += [async_message_statement(receiver, message) for message in async_dispatch_on_connection_queue_messages] result.append('#if COMPILER(MSVC)\n') result.append('#pragma warning(pop)\n') result.append('#endif\n') result.append('}\n\n') if async_messages: - result.append('void %s::didReceive%sMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)\n' % (receiver.name, receiver.name)) + result.append('void %s::didReceive%sMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder& decoder)\n' % (receiver.name, receiver.name)) result.append('{\n') - result.append(' switch (messageID.get<Messages::%s::Kind>()) {\n' % receiver.name) - result += [async_case_statement(receiver, message) for message in async_messages] - result.append(' default:\n') - result.append(' break;\n') - result.append(' }\n\n') + result += [async_message_statement(receiver, message) for message in async_messages] result.append(' ASSERT_NOT_REACHED();\n') result.append('}\n') if sync_messages: result.append('\n') - result.append('void %s::didReceiveSync%sMessage(CoreIPC::Connection*%s, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder)\n' % (receiver.name, receiver.name, ' connection' if sync_delayed_messages else '')) + result.append('void %s::didReceiveSync%sMessage(CoreIPC::Connection*%s, CoreIPC::MessageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder)\n' % (receiver.name, receiver.name, ' connection' if sync_delayed_messages else '')) result.append('{\n') - result.append(' switch (messageID.get<Messages::%s::Kind>()) {\n' % receiver.name) - result += [sync_case_statement(receiver, message) for message in sync_messages] - result.append(' default:\n') - result.append(' break;\n') - result.append(' }\n\n') + result += [sync_message_statement(receiver, message) for message in sync_messages] result.append(' ASSERT_NOT_REACHED();\n') result.append('}\n') |