本文整理汇总了C++中ipc::MessageDecoder类的典型用法代码示例。如果您正苦于以下问题:C++ MessageDecoder类的具体用法?C++ MessageDecoder怎么用?C++ MessageDecoder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MessageDecoder类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: didReceiveSyncMessage
void WebProcessConnection::didReceiveSyncMessage(IPC::Connection* connection, IPC::MessageDecoder& decoder, std::unique_ptr<IPC::MessageEncoder>& replyEncoder)
{
// Force all timers to run at full speed when processing a synchronous message
ActivityAssertion activityAssertion(PluginProcess::shared().connectionActivity());
ConnectionStack::CurrentConnectionPusher currentConnection(ConnectionStack::shared(), connection);
uint64_t destinationID = decoder.destinationID();
if (!destinationID) {
didReceiveSyncWebProcessConnectionMessage(connection, decoder, replyEncoder);
return;
}
if (decoder.messageReceiverName() == Messages::NPObjectMessageReceiver::messageReceiverName()) {
m_npRemoteObjectMap->didReceiveSyncMessage(connection, decoder, replyEncoder);
return;
}
PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(decoder.destinationID());
if (!pluginControllerProxy)
return;
PluginController::PluginDestructionProtector protector(pluginControllerProxy->asPluginController());
pluginControllerProxy->didReceiveSyncPluginControllerProxyMessage(connection, decoder, replyEncoder);
}
开发者ID:MYSHLIFE,项目名称:webkit,代码行数:26,代码来源:WebProcessConnection.cpp
示例2: didReceiveMessage
void WebProcess::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
{
if (messageReceiverMap().dispatchMessage(connection, decoder))
return;
if (decoder.messageReceiverName() == Messages::WebProcess::messageReceiverName()) {
didReceiveWebProcessMessage(connection, decoder);
return;
}
if (decoder.messageReceiverName() == Messages::WebPageGroupProxy::messageReceiverName()) {
uint64_t pageGroupID = decoder.destinationID();
if (!pageGroupID)
return;
WebPageGroupProxy* pageGroupProxy = webPageGroup(pageGroupID);
if (!pageGroupProxy)
return;
pageGroupProxy->didReceiveMessage(connection, decoder);
return;
}
if (decoder.messageReceiverName() == Messages::ChildProcess::messageReceiverName()) {
ChildProcess::didReceiveMessage(connection, decoder);
return;
}
LOG_ERROR("Unhandled web process message '%s:%s'", decoder.messageReceiverName().toString().data(), decoder.messageName().toString().data());
}
开发者ID:GaoHuijian,项目名称:webkit,代码行数:30,代码来源:WebProcess.cpp
示例3: didReceiveSyncMessage
void WebContext::didReceiveSyncMessage(IPC::Connection* connection, IPC::MessageDecoder& decoder, std::unique_ptr<IPC::MessageEncoder>& replyEncoder)
{
if (decoder.messageReceiverName() == Messages::WebContext::messageReceiverName()) {
didReceiveSyncWebContextMessage(connection, decoder, replyEncoder);
return;
}
if (decoder.messageReceiverName() == WebContextLegacyMessages::messageReceiverName()
&& decoder.messageName() == WebContextLegacyMessages::postSynchronousMessageMessageName()) {
// FIXME: We should probably encode something in the case that the arguments do not decode correctly.
WebProcessProxy* process = WebProcessProxy::fromConnection(connection);
String messageName;
RefPtr<API::Object> messageBody;
WebContextUserMessageDecoder messageBodyDecoder(messageBody, *process);
if (!decoder.decode(messageName))
return;
if (!decoder.decode(messageBodyDecoder))
return;
RefPtr<API::Object> returnData;
didReceiveSynchronousMessageFromInjectedBundle(messageName, messageBody.get(), returnData);
replyEncoder->encode(WebContextUserMessageEncoder(returnData.get(), *process));
return;
}
ASSERT_NOT_REACHED();
}
开发者ID:,项目名称:,代码行数:29,代码来源:
示例4: didReceiveMessage
void PluginProcessConnection::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
{
if (!decoder.destinationID()) {
didReceivePluginProcessConnectionMessage(connection, decoder);
return;
}
ASSERT(decoder.destinationID());
PluginProxy* pluginProxy = m_plugins.get(decoder.destinationID());
if (!pluginProxy)
return;
pluginProxy->didReceivePluginProxyMessage(connection, decoder);
}
开发者ID:fanghongjia,项目名称:JavaScriptCore,代码行数:15,代码来源:PluginProcessConnection.cpp
示例5: didReceiveMessage
void NetworkConnectionToWebProcess::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
{
if (decoder.messageReceiverName() == Messages::NetworkConnectionToWebProcess::messageReceiverName()) {
didReceiveNetworkConnectionToWebProcessMessage(connection, decoder);
return;
}
if (decoder.messageReceiverName() == Messages::NetworkResourceLoader::messageReceiverName()) {
HashMap<ResourceLoadIdentifier, RefPtr<NetworkResourceLoader>>::iterator loaderIterator = m_networkResourceLoaders.find(decoder.destinationID());
if (loaderIterator != m_networkResourceLoaders.end())
loaderIterator->value->didReceiveNetworkResourceLoaderMessage(connection, decoder);
return;
}
ASSERT_NOT_REACHED();
}
开发者ID:cheekiatng,项目名称:webkit,代码行数:16,代码来源:NetworkConnectionToWebProcess.cpp
示例6: didReceiveMessage
void DatabaseProcessProxy::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
{
if (decoder.messageReceiverName() == Messages::DatabaseProcessProxy::messageReceiverName()) {
didReceiveDatabaseProcessProxyMessage(connection, decoder);
return;
}
}
开发者ID:mu326668629,项目名称:webkit,代码行数:7,代码来源:DatabaseProcessProxy.cpp
示例7: didReceiveSyncMessage
void NetworkConnectionToWebProcess::didReceiveSyncMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder, std::unique_ptr<IPC::MessageEncoder>& reply)
{
if (decoder.messageReceiverName() == Messages::NetworkConnectionToWebProcess::messageReceiverName()) {
didReceiveSyncNetworkConnectionToWebProcessMessage(connection, decoder, reply);
return;
}
ASSERT_NOT_REACHED();
}
开发者ID:cheekiatng,项目名称:webkit,代码行数:8,代码来源:NetworkConnectionToWebProcess.cpp
示例8: didReceiveMessage
void DatabaseProcess::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
{
if (messageReceiverMap().dispatchMessage(connection, decoder))
return;
if (decoder.messageReceiverName() == Messages::DatabaseProcess::messageReceiverName()) {
didReceiveDatabaseProcessMessage(connection, decoder);
return;
}
}
开发者ID:houzhenggang,项目名称:webkit,代码行数:10,代码来源:DatabaseProcess.cpp
示例9: didReceiveMessage
void NetworkProcessConnection::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
{
if (decoder.messageReceiverName() == Messages::WebResourceLoader::messageReceiverName()) {
if (WebResourceLoader* webResourceLoader = WebProcess::singleton().webLoaderStrategy().webResourceLoaderForIdentifier(decoder.destinationID()))
webResourceLoader->didReceiveWebResourceLoaderMessage(connection, decoder);
return;
}
didReceiveNetworkProcessConnectionMessage(connection, decoder);
}
开发者ID:,项目名称:,代码行数:11,代码来源:
示例10: didReceiveSyncMessage
void PluginProcessConnection::didReceiveSyncMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder, std::unique_ptr<IPC::MessageEncoder>& replyEncoder)
{
if (decoder.messageReceiverName() == Messages::NPObjectMessageReceiver::messageReceiverName()) {
m_npRemoteObjectMap->didReceiveSyncMessage(connection, decoder, replyEncoder);
return;
}
uint64_t destinationID = decoder.destinationID();
if (!destinationID) {
didReceiveSyncPluginProcessConnectionMessage(connection, decoder, replyEncoder);
return;
}
PluginProxy* pluginProxy = m_plugins.get(destinationID);
if (!pluginProxy)
return;
pluginProxy->didReceiveSyncPluginProxyMessage(connection, decoder, replyEncoder);
}
开发者ID:fanghongjia,项目名称:JavaScriptCore,代码行数:20,代码来源:PluginProcessConnection.cpp
示例11: didReceiveMessage
void WebProcessConnection::didReceiveMessage(IPC::Connection* connection, IPC::MessageDecoder& decoder)
{
ConnectionStack::CurrentConnectionPusher currentConnection(ConnectionStack::shared(), connection);
if (decoder.messageReceiverName() == Messages::WebProcessConnection::messageReceiverName()) {
didReceiveWebProcessConnectionMessage(connection, decoder);
return;
}
if (!decoder.destinationID()) {
ASSERT_NOT_REACHED();
return;
}
PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(decoder.destinationID());
if (!pluginControllerProxy)
return;
PluginController::PluginDestructionProtector protector(pluginControllerProxy->asPluginController());
pluginControllerProxy->didReceivePluginControllerProxyMessage(connection, decoder);
}
开发者ID:MYSHLIFE,项目名称:webkit,代码行数:21,代码来源:WebProcessConnection.cpp
示例12: didReceiveMessage
void NetworkProcess::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
{
if (messageReceiverMap().dispatchMessage(connection, decoder))
return;
if (decoder.messageReceiverName() == Messages::ChildProcess::messageReceiverName()) {
ChildProcess::didReceiveMessage(connection, decoder);
return;
}
didReceiveNetworkProcessMessage(connection, decoder);
}
开发者ID:valbok,项目名称:WebKitForWayland,代码行数:12,代码来源:NetworkProcess.cpp
示例13: didReceiveSyncMessage
void WebPage::didReceiveSyncMessage(IPC::Connection* connection, IPC::MessageDecoder& decoder, std::unique_ptr<IPC::MessageEncoder>& replyEncoder)
{
if (decoder.messageName() == Messages::WebPage::CreatePlugin::name()) {
IPC::handleMessage<Messages::WebPage::CreatePlugin>(decoder, *replyEncoder, this, &WebPage::createPlugin);
return;
}
if (decoder.messageName() == Messages::WebPage::RunJavaScriptAlert::name()) {
IPC::handleMessage<Messages::WebPage::RunJavaScriptAlert>(decoder, *replyEncoder, this, &WebPage::runJavaScriptAlert);
return;
}
if (decoder.messageName() == Messages::WebPage::GetPlugins::name()) {
IPC::handleMessage<Messages::WebPage::GetPlugins>(decoder, *replyEncoder, this, &WebPage::getPlugins);
return;
}
if (decoder.messageName() == Messages::WebPage::GetPluginProcessConnection::name()) {
IPC::handleMessageDelayed<Messages::WebPage::GetPluginProcessConnection>(connection, decoder, replyEncoder, this, &WebPage::getPluginProcessConnection);
return;
}
if (decoder.messageName() == Messages::WebPage::TestMultipleAttributes::name()) {
IPC::handleMessageDelayed<Messages::WebPage::TestMultipleAttributes>(connection, decoder, replyEncoder, this, &WebPage::testMultipleAttributes);
return;
}
#if PLATFORM(MAC)
if (decoder.messageName() == Messages::WebPage::InterpretKeyEvent::name()) {
IPC::handleMessage<Messages::WebPage::InterpretKeyEvent>(decoder, *replyEncoder, this, &WebPage::interpretKeyEvent);
return;
}
#endif
UNUSED_PARAM(connection);
ASSERT_NOT_REACHED();
}
开发者ID:Happy-Ferret,项目名称:webkit.js,代码行数:31,代码来源:MessageReceiver-expected.cpp
示例14: didReceiveMessage
void WebToDatabaseProcessConnection::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
{
#if ENABLE(INDEXED_DATABASE)
if (decoder.messageReceiverName() == Messages::WebIDBServerConnection::messageReceiverName()) {
HashMap<uint64_t, WebIDBServerConnection*>::iterator connectionIterator = m_webIDBServerConnections.find(decoder.destinationID());
if (connectionIterator != m_webIDBServerConnections.end())
connectionIterator->value->didReceiveWebIDBServerConnectionMessage(connection, decoder);
return;
}
#endif
ASSERT_NOT_REACHED();
}
开发者ID:rhythmkay,项目名称:webkit,代码行数:13,代码来源:WebToDatabaseProcessConnection.cpp
示例15: didReceiveSyncMessage
void WebProcessProxy::didReceiveSyncMessage(IPC::Connection* connection, IPC::MessageDecoder& decoder, std::unique_ptr<IPC::MessageEncoder>& replyEncoder)
{
if (dispatchSyncMessage(connection, decoder, replyEncoder))
return;
if (m_context->dispatchSyncMessage(connection, decoder, replyEncoder))
return;
if (decoder.messageReceiverName() == Messages::WebProcessProxy::messageReceiverName()) {
didReceiveSyncWebProcessProxyMessage(connection, decoder, replyEncoder);
return;
}
// FIXME: Add unhandled message logging.
}
开发者ID:Happy-Ferret,项目名称:webkit.js,代码行数:15,代码来源:WebProcessProxy.cpp
示例16: didReceiveMessage
void WebProcessProxy::didReceiveMessage(IPC::Connection* connection, IPC::MessageDecoder& decoder)
{
if (dispatchMessage(connection, decoder))
return;
if (m_context->dispatchMessage(connection, decoder))
return;
if (decoder.messageReceiverName() == Messages::WebProcessProxy::messageReceiverName()) {
didReceiveWebProcessProxyMessage(connection, decoder);
return;
}
// FIXME: Add unhandled message logging.
}
开发者ID:Happy-Ferret,项目名称:webkit.js,代码行数:15,代码来源:WebProcessProxy.cpp
示例17: didReceiveMessage
void WebPage::didReceiveMessage(IPC::Connection* connection, IPC::MessageDecoder& decoder)
{
if (decoder.messageName() == Messages::WebPage::LoadURL::name()) {
IPC::handleMessage<Messages::WebPage::LoadURL>(decoder, this, &WebPage::loadURL);
return;
}
#if ENABLE(TOUCH_EVENTS)
if (decoder.messageName() == Messages::WebPage::LoadSomething::name()) {
IPC::handleMessage<Messages::WebPage::LoadSomething>(decoder, this, &WebPage::loadSomething);
return;
}
#endif
#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
if (decoder.messageName() == Messages::WebPage::TouchEvent::name()) {
IPC::handleMessage<Messages::WebPage::TouchEvent>(decoder, this, &WebPage::touchEvent);
return;
}
#endif
#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
if (decoder.messageName() == Messages::WebPage::AddEvent::name()) {
IPC::handleMessage<Messages::WebPage::AddEvent>(decoder, this, &WebPage::addEvent);
return;
}
#endif
#if ENABLE(TOUCH_EVENTS)
if (decoder.messageName() == Messages::WebPage::LoadSomethingElse::name()) {
IPC::handleMessage<Messages::WebPage::LoadSomethingElse>(decoder, this, &WebPage::loadSomethingElse);
return;
}
#endif
if (decoder.messageName() == Messages::WebPage::DidReceivePolicyDecision::name()) {
IPC::handleMessage<Messages::WebPage::DidReceivePolicyDecision>(decoder, this, &WebPage::didReceivePolicyDecision);
return;
}
if (decoder.messageName() == Messages::WebPage::Close::name()) {
IPC::handleMessage<Messages::WebPage::Close>(decoder, this, &WebPage::close);
return;
}
if (decoder.messageName() == Messages::WebPage::PreferencesDidChange::name()) {
IPC::handleMessage<Messages::WebPage::PreferencesDidChange>(decoder, this, &WebPage::preferencesDidChange);
return;
}
if (decoder.messageName() == Messages::WebPage::SendDoubleAndFloat::name()) {
IPC::handleMessage<Messages::WebPage::SendDoubleAndFloat>(decoder, this, &WebPage::sendDoubleAndFloat);
return;
}
if (decoder.messageName() == Messages::WebPage::SendInts::name()) {
IPC::handleMessage<Messages::WebPage::SendInts>(decoder, this, &WebPage::sendInts);
return;
}
if (decoder.messageName() == Messages::WebPage::TestParameterAttributes::name()) {
IPC::handleMessage<Messages::WebPage::TestParameterAttributes>(decoder, this, &WebPage::testParameterAttributes);
return;
}
if (decoder.messageName() == Messages::WebPage::TemplateTest::name()) {
IPC::handleMessage<Messages::WebPage::TemplateTest>(decoder, this, &WebPage::templateTest);
return;
}
#if PLATFORM(MAC)
if (decoder.messageName() == Messages::WebPage::DidCreateWebProcessConnection::name()) {
IPC::handleMessage<Messages::WebPage::DidCreateWebProcessConnection>(decoder, this, &WebPage::didCreateWebProcessConnection);
return;
}
#endif
#if ENABLE(DEPRECATED_FEATURE)
if (decoder.messageName() == Messages::WebPage::DeprecatedOperation::name()) {
IPC::handleMessage<Messages::WebPage::DeprecatedOperation>(decoder, this, &WebPage::deprecatedOperation);
return;
}
#endif
#if ENABLE(EXPERIMENTAL_FEATURE)
if (decoder.messageName() == Messages::WebPage::ExperimentalOperation::name()) {
IPC::handleMessage<Messages::WebPage::ExperimentalOperation>(decoder, this, &WebPage::experimentalOperation);
return;
}
#endif
UNUSED_PARAM(connection);
ASSERT_NOT_REACHED();
}
开发者ID:Happy-Ferret,项目名称:webkit.js,代码行数:79,代码来源:MessageReceiver-expected.cpp
注:本文中的ipc::MessageDecoder类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论