• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/WebKit2-7537.78.2/Platform/CoreIPC/

Lines Matching refs:message

54     // Returns true if this message will be handled on a client thread that is currently
55 // waiting for a reply to a synchronous message.
94 MessageDecoder* message;
104 // The reply decoder, will be null if there was an error processing the sync message on the other side.
142 bool Connection::SyncMessageState::processIncomingMessage(Connection* connection, OwnPtr<MessageDecoder>& message)
144 if (!message->shouldDispatchMessageWhenWaitingForSyncReply())
149 connectionAndIncomingMessage.message = message.leakPtr();
182 // This incoming message belongs to another connection and we don't want to dispatch it now
183 // so mark it to be put back in the message queue.
188 connectionAndIncomingMessage.connection->dispatchMessage(adoptPtr(connectionAndIncomingMessage.message));
300 // We received an invalid sync message.
308 // Hand off both the decoder and encoder to the work queue message receiver.
311 // FIXME: If the message was invalid, we should send back a SyncMessageError.
340 // This should only be called while processing a message.
386 // First, check if this message is already in the incoming messages queue.
391 OwnPtr<MessageDecoder>& message = *it;
393 if (message->messageReceiverName() == messageReceiverName && message->messageName() == messageName && message->destinationID() == destinationID) {
394 OwnPtr<MessageDecoder> returnedMessage = message.release();
409 // We don't support having multiple clients wait for the same message.
466 // First send the message.
553 // Processing a sync message could cause the connection to be invalidated.
561 // This allows the WebProcess to still serve clients while waiting for the message to return.
595 // We got a reply to the last send message, wake up the client run loop so it can be processed.
602 // If it's not a reply to any primary thread message, check if it is a reply to a secondary thread one.
611 // If we get here, it means we got a reply for a message that wasn't in the sync request stack or map.
617 OwnPtr<MessageDecoder> message = incomingMessage;
619 ASSERT(!message->messageReceiverName().isEmpty());
620 ASSERT(!message->messageName().isEmpty());
622 if (message->messageReceiverName() == "IPC" && message->messageName() == "SyncMessageReply") {
623 processIncomingSyncReply(message.release());
627 if (!m_workQueueMessageReceivers.isValidKey(message->messageReceiverName())) {
628 if (message->messageReceiverName().isEmpty() && message->messageName().isEmpty()) {
629 // Something went wrong when decoding the message. Encode the message length so we can figure out if this
630 // happens for certain message lengths.
631 CString messageReceiverName = "<unknown message>";
632 CString messageName = String::format("<message length: %zu bytes>", message->length()).utf8();
638 m_clientRunLoop->dispatch(bind(&Connection::dispatchDidReceiveInvalidMessage, this, message->messageReceiverName().toString(), message->messageName().toString()));
642 HashMap<StringReference, std::pair<RefPtr<WorkQueue>, RefPtr<WorkQueueMessageReceiver>>>::const_iterator it = m_workQueueMessageReceivers.find(message->messageReceiverName());
644 it->value.first->dispatch(bind(&Connection::dispatchWorkQueueMessageReceiverMessage, this, it->value.second, message.release().leakPtr()));
648 // Check if this is a sync message or if it's a message that should be dispatched even when waiting for
649 // a sync reply. If it is, and we're waiting for a sync reply this message needs to be dispatched.
650 // If we don't we'll end up with a deadlock where both sync message senders are stuck waiting for a reply.
651 if (m_syncMessageState->processIncomingMessage(this, message))
654 // Check if we're waiting for this message.
658 HashMap<std::pair<std::pair<StringReference, StringReference>, uint64_t>, OwnPtr<MessageDecoder>>::iterator it = m_waitForMessageMap.find(std::make_pair(std::make_pair(message->messageReceiverName(), message->messageName()), message->destinationID()));
660 it->value = message.release();
668 enqueueIncomingMessage(message.release());
708 // the client before calling didClose here. Otherwise, sendSync will try to send a message to the connection and
727 OwnPtr<MessageEncoder> message;
732 message = m_outgoingMessages.takeFirst();
735 if (!sendOutgoingMessage(message.release()))
746 // We received an invalid sync message.
756 // FIXME: If the message was invalid, we should send back a SyncMessageError.
798 OwnPtr<MessageDecoder> message = incomingMessage;
801 // the ArgumentDecoder message will be freed.
807 if (message->shouldDispatchMessageWhenWaitingForSyncReply())
813 if (message->isSyncMessage())
814 dispatchSyncMessage(*message);
816 dispatchMessage(*message);
818 m_didReceiveInvalidMessage |= message->isInvalid();
821 if (message->shouldDispatchMessageWhenWaitingForSyncReply())
825 m_client->didReceiveInvalidMessage(this, message->messageReceiverName(), message->messageName());
832 OwnPtr<MessageDecoder> message;
839 message = m_incomingMessages.takeFirst();
842 dispatchMessage(message.release());