Changeset 83350 in webkit
- Timestamp:
- Apr 8, 2011 3:39:00 PM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r83342 r83350 1 2011-04-08 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Adam Roben. 4 5 Parse 'DispatchOnConnectionQueue' in messages.in files 6 https://bugs.webkit.org/show_bug.cgi?id=58168 7 8 Handle parsing multiple, space-separated attributes in .messages.in files. Keep track of 9 'DispatchOnConnectionQueue' and rename 'delayed' to 'Delayed'. 10 11 * Scripts/webkit2/messages.py: 12 * Scripts/webkit2/messages_unittest.py: 13 1 14 2011-04-08 Alpha Lam <hclam@chromium.org> 2 15 -
trunk/Source/WebKit2/Scripts/webkit2/messages.py
r83232 r83350 82 82 condition = None 83 83 continue 84 match = re.search(r'([A-Za-z_0-9]+)\((.*?)\)(?:(?:\s+->\s+)\((.*?)\)(?:\s+( delayed))?)?', line)84 match = re.search(r'([A-Za-z_0-9]+)\((.*?)\)(?:(?:\s+->\s+)\((.*?)\)(?:\s+(.*))?)?', line) 85 85 if match: 86 name, parameters_string, reply_parameters_string, delayed_string = match.groups()86 name, parameters_string, reply_parameters_string, attributes_string = match.groups() 87 87 if parameters_string: 88 88 parameters = parse_parameter_string(parameters_string) … … 93 93 parameter.condition = condition 94 94 95 delayed = delayed_string == 'delayed' 95 if attributes_string: 96 attributes = frozenset(attributes_string.split()) 97 delayed = "Delayed" in attributes 98 dispatch_on_connection_queue = "DispatchOnConnectionQueue" in attributes 99 else: 100 delayed = False 101 dispatch_on_connection_queue = False 96 102 97 103 if reply_parameters_string: … … 102 108 reply_parameters = None 103 109 104 messages.append(Message(name, parameters, reply_parameters, delayed, condition))110 messages.append(Message(name, parameters, reply_parameters, delayed, dispatch_on_connection_queue, condition)) 105 111 return MessageReceiver(destination, messages, master_condition) 106 112 107 113 108 114 class Message(object): 109 def __init__(self, name, parameters, reply_parameters, delayed, condition):115 def __init__(self, name, parameters, reply_parameters, delayed, dispatch_on_connection_queue, condition): 110 116 self.name = name 111 117 self.parameters = parameters … … 113 119 if self.reply_parameters is not None: 114 120 self.delayed = delayed 121 self.dispatch_on_connection_queue = dispatch_on_connection_queue 115 122 self.condition = condition 116 123 if len(self.parameters) != 0: -
trunk/Source/WebKit2/Scripts/webkit2/messages_unittest.py
r81362 r83350 66 66 CreatePlugin(uint64_t pluginInstanceID, WebKit::Plugin::Parameters parameters) -> (bool result) 67 67 RunJavaScriptAlert(uint64_t frameID, WTF::String message) -> () 68 GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins) 69 GetPluginProcessConnection(WTF::String pluginPath) -> (CoreIPC::Connection::Handle connectionHandle) delayed 68 GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins) DispatchOnConnectionQueue 69 GetPluginProcessConnection(WTF::String pluginPath) -> (CoreIPC::Connection::Handle connectionHandle) Delayed 70 71 TestMultipleAttributes() -> () DispatchOnConnectionQueue Delayed 70 72 71 73 #if PLATFORM(MAC) … … 174 176 'reply_parameters': ( 175 177 ('CoreIPC::Connection::Handle', 'connectionHandle'), 178 ), 179 'condition': None, 180 }, 181 { 182 'name': 'TestMultipleAttributes', 183 'parameters': ( 184 ), 185 'reply_parameters': ( 176 186 ), 177 187 'condition': None, … … 294 304 GetPluginsID, 295 305 GetPluginProcessConnectionID, 306 TestMultipleAttributesID, 296 307 #if PLATFORM(MAC) 297 308 DidCreateWebProcessConnectionID, … … 421 432 { 422 433 } 434 }; 435 436 struct TestMultipleAttributes : CoreIPC::Arguments0 { 437 static const Kind messageID = TestMultipleAttributesID; 438 struct DelayedReply { 439 DelayedReply(PassRefPtr<CoreIPC::Connection> connection, PassOwnPtr<CoreIPC::ArgumentDecoder> arguments) 440 : m_connection(connection) 441 , m_arguments(arguments) 442 { 443 } 444 445 bool send() 446 { 447 ASSERT(m_arguments); 448 bool result = m_connection->sendSyncReply(m_arguments.release()); 449 m_connection = nullptr; 450 return result; 451 } 452 453 private: 454 RefPtr<CoreIPC::Connection> m_connection; 455 OwnPtr<CoreIPC::ArgumentDecoder> m_arguments; 456 }; 457 458 typedef CoreIPC::Arguments0 DecodeType; 423 459 }; 424 460 … … 567 603 CoreIPC::handleMessage<Messages::WebPage::GetPluginProcessConnection>(arguments, reply, this, &WebPage::getPluginProcessConnection); 568 604 return CoreIPC::AutomaticReply; 605 case Messages::WebPage::TestMultipleAttributesID: 606 CoreIPC::handleMessage<Messages::WebPage::TestMultipleAttributes>(arguments, reply, this, &WebPage::testMultipleAttributes); 607 return CoreIPC::AutomaticReply; 569 608 #if PLATFORM(MAC) 570 609 case Messages::WebPage::InterpretKeyEventID:
Note: See TracChangeset
for help on using the changeset viewer.