本文整理汇总了C++中coreipc::MessageDecoder类的典型用法代码示例。如果您正苦于以下问题:C++ MessageDecoder类的具体用法?C++ MessageDecoder怎么用?C++ MessageDecoder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MessageDecoder类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: didReceiveMessage
void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
{
if (m_messageReceiverMap.dispatchMessage(connection, messageID, decoder))
return;
if (m_context->dispatchMessage(connection, messageID, decoder))
return;
if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
didReceiveWebProcessProxyMessage(connection, messageID, decoder);
return;
}
#if ENABLE(CUSTOM_PROTOCOLS)
if (messageID.is<CoreIPC::MessageClassCustomProtocolManagerProxy>()) {
#if ENABLE(NETWORK_PROCESS)
ASSERT(!context()->usesNetworkProcess());
#endif
m_customProtocolManagerProxy.didReceiveMessage(connection, messageID, decoder);
return;
}
#endif
uint64_t pageID = decoder.destinationID();
if (!pageID)
return;
WebPageProxy* pageProxy = webPage(pageID);
if (!pageProxy)
return;
pageProxy->didReceiveMessage(connection, messageID, decoder);
}
开发者ID:jiezh,项目名称:h5vcc,代码行数:33,代码来源:WebProcessProxy.cpp
示例2: didReceiveMessage
void NetworkConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder)
{
if (decoder.messageReceiverName() == Messages::NetworkConnectionToWebProcess::messageReceiverName()) {
didReceiveNetworkConnectionToWebProcessMessage(connection, decoder);
return;
}
ASSERT_NOT_REACHED();
}
开发者ID:jbat100,项目名称:webkit,代码行数:9,代码来源:NetworkConnectionToWebProcess.cpp
示例3: didReceiveMessage
void WebToDatabaseProcessConnection::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder)
{
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;
}
ASSERT_NOT_REACHED();
}
开发者ID:liudengyong,项目名称:webkit,代码行数:11,代码来源:WebToDatabaseProcessConnection.cpp
示例4: didReceiveMessage
void NetworkProcessConnection::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder)
{
if (decoder.messageReceiverName() == Messages::WebResourceLoader::messageReceiverName()) {
if (WebResourceLoader* webResourceLoader = WebProcess::shared().webResourceLoadScheduler().webResourceLoaderForIdentifier(decoder.destinationID()))
webResourceLoader->didReceiveWebResourceLoaderMessage(connection, decoder);
return;
}
didReceiveNetworkProcessConnectionMessage(connection, decoder);
}
开发者ID:3163504123,项目名称:phantomjs,代码行数:11,代码来源:NetworkProcessConnection.cpp
示例5: didReceiveMessage
void WebProcessConnection::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::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:kodybrown,项目名称:webkit,代码行数:21,代码来源:WebProcessConnection.cpp
示例6: didReceiveMessage
void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
{
if (messageReceiverMap().dispatchMessage(connection, messageID, decoder))
return;
if (messageID.is<CoreIPC::MessageClassWebProcess>()) {
didReceiveWebProcessMessage(connection, messageID, decoder);
return;
}
if (messageID.is<CoreIPC::MessageClassWebPageGroupProxy>()) {
uint64_t pageGroupID = decoder.destinationID();
if (!pageGroupID)
return;
WebPageGroupProxy* pageGroupProxy = webPageGroup(pageGroupID);
if (!pageGroupProxy)
return;
pageGroupProxy->didReceiveMessage(connection, messageID, decoder);
}
}
开发者ID:awong-chromium,项目名称:webkit,代码行数:22,代码来源:WebProcess.cpp
示例7: initializeWebProcess
void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::MessageDecoder& decoder)
{
ASSERT(m_pageMap.isEmpty());
platformInitializeWebProcess(parameters, decoder);
memoryPressureHandler().install();
RefPtr<APIObject> injectedBundleInitializationUserData;
InjectedBundleUserMessageDecoder messageDecoder(injectedBundleInitializationUserData);
if (!decoder.decode(messageDecoder))
return;
if (!parameters.injectedBundlePath.isEmpty()) {
m_injectedBundle = InjectedBundle::create(parameters.injectedBundlePath);
m_injectedBundle->setSandboxExtension(SandboxExtension::create(parameters.injectedBundlePathExtensionHandle));
if (!m_injectedBundle->load(injectedBundleInitializationUserData.get())) {
// Don't keep around the InjectedBundle reference if the load fails.
m_injectedBundle.clear();
}
}
#if ENABLE(SQL_DATABASE)
// Make sure the WebDatabaseManager is initialized so that the Database directory is set.
WebDatabaseManager::initialize(parameters.databaseDirectory);
#endif
#if ENABLE(ICONDATABASE)
m_iconDatabaseProxy.setEnabled(parameters.iconDatabaseEnabled);
#endif
StorageTracker::initializeTracker(parameters.localStorageDirectory, &WebKeyValueStorageManager::shared());
m_localStorageDirectory = parameters.localStorageDirectory;
if (!parameters.applicationCacheDirectory.isEmpty())
cacheStorage().setCacheDirectory(parameters.applicationCacheDirectory);
setShouldTrackVisitedLinks(parameters.shouldTrackVisitedLinks);
setCacheModel(static_cast<uint32_t>(parameters.cacheModel));
if (!parameters.languages.isEmpty())
overrideUserPreferredLanguages(parameters.languages);
m_textCheckerState = parameters.textCheckerState;
m_fullKeyboardAccessEnabled = parameters.fullKeyboardAccessEnabled;
for (size_t i = 0; i < parameters.urlSchemesRegistererdAsEmptyDocument.size(); ++i)
registerURLSchemeAsEmptyDocument(parameters.urlSchemesRegistererdAsEmptyDocument[i]);
for (size_t i = 0; i < parameters.urlSchemesRegisteredAsSecure.size(); ++i)
registerURLSchemeAsSecure(parameters.urlSchemesRegisteredAsSecure[i]);
for (size_t i = 0; i < parameters.urlSchemesForWhichDomainRelaxationIsForbidden.size(); ++i)
setDomainRelaxationForbiddenForURLScheme(parameters.urlSchemesForWhichDomainRelaxationIsForbidden[i]);
for (size_t i = 0; i < parameters.urlSchemesRegisteredAsLocal.size(); ++i)
registerURLSchemeAsLocal(parameters.urlSchemesRegisteredAsLocal[i]);
for (size_t i = 0; i < parameters.urlSchemesRegisteredAsNoAccess.size(); ++i)
registerURLSchemeAsNoAccess(parameters.urlSchemesRegisteredAsNoAccess[i]);
for (size_t i = 0; i < parameters.urlSchemesRegisteredAsDisplayIsolated.size(); ++i)
registerURLSchemeAsDisplayIsolated(parameters.urlSchemesRegisteredAsDisplayIsolated[i]);
for (size_t i = 0; i < parameters.urlSchemesRegisteredAsCORSEnabled.size(); ++i)
registerURLSchemeAsCORSEnabled(parameters.urlSchemesRegisteredAsCORSEnabled[i]);
setDefaultRequestTimeoutInterval(parameters.defaultRequestTimeoutInterval);
if (parameters.shouldAlwaysUseComplexTextCodePath)
setAlwaysUsesComplexTextCodePath(true);
if (parameters.shouldUseFontSmoothing)
setShouldUseFontSmoothing(true);
#if (PLATFORM(MAC) || USE(CFNETWORK)) && !PLATFORM(WIN)
WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase(parameters.uiProcessBundleIdentifier);
#endif
#if ENABLE(NETWORK_PROCESS)
m_usesNetworkProcess = parameters.usesNetworkProcess;
ensureNetworkProcessConnection();
#endif
setTerminationTimeout(parameters.terminationTimeout);
for (size_t i = 0; i < parameters.plugInAutoStartOrigins.size(); ++i)
didAddPlugInAutoStartOrigin(parameters.plugInAutoStartOrigins[i]);
#if ENABLE(CUSTOM_PROTOCOLS)
initializeCustomProtocolManager(parameters);
#endif
}
开发者ID:jiezh,项目名称:h5vcc,代码行数:94,代码来源:WebProcess.cpp
示例8: didReceiveMessage
void NetworkConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
{
if (messageID.is<CoreIPC::MessageClassNetworkConnectionToWebProcess>()) {
didReceiveNetworkConnectionToWebProcessMessage(connection, messageID, decoder);
return;
}
if (messageID.is<CoreIPC::MessageClassNetworkResourceLoader>()) {
NetworkResourceLoader* loader = NetworkProcess::shared().networkResourceLoadScheduler().networkResourceLoaderForIdentifier(decoder.destinationID());
if (loader)
loader->didReceiveNetworkResourceLoaderMessage(connection, messageID, decoder);
return;
}
ASSERT_NOT_REACHED();
}
开发者ID:jiezh,项目名称:h5vcc,代码行数:15,代码来源:NetworkConnectionToWebProcess.cpp
注:本文中的coreipc::MessageDecoder类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论