从JAVA来,
static JNINativeMethod gBrowserFrameNativeMethods[] = {"nativeLoadUrl", "(Ljava/lang/String;Ljava/util/Map;)V",
(void*) LoadUrl },
@WebCoreFrameBridge.cpp
pFrame->loader()->load(request, false);
load>>load>>load>>
loadWithDocumentLoader(newDocumentLoader, type, 0); @FrameLoader.cpp
continueAfterNavigationPolicy@FrameLoader.cpp
FrameLoader::continueLoadAfterWillSubmitForm()
DocumentLoader::startLoadingMainResource(unsigned long identifier)
m_mainResourceLoader->load(m_request, m_substituteData)
MainResourceLoader::loadNow(ResourceRequest& r)
MainResourceLoader::handleDataLoadSoon(const ResourceRequest& r)
MainResourceLoader::handleDataLoadNow(MainResourceLoaderTimer*)
MainResourceLoader::didReceiveResponse(const ResourceResponse& r)
MainResourceLoader::callContinueAfterContentPolicy(void* argument, PolicyAction policy)
continueAfterContentPolicy(policy, m_response);
MainResourceLoader::didReceiveData()
ResourceLoader::addData()
文件资源下载到buffer的流程
期间需要CFNetWork网络接口
webkit2/webprocess/downloads/
startDownload@DownloadManager.cpp
webkit2/webprocess/downloads/cfnet
Download::start@DownloadCFNet.cpp
CFURLDownloadStart(m_download.get());
解析JAVA中JNINativeMethod在WebKit框架下的应用
本文深入探讨了JAVA语言中JNINativeMethod在WebKit框架中的具体实现,包括如何加载URL、资源下载流程及与CFNetWork网络接口的交互。详细分析了WebKit框架下资源加载、导航政策执行以及文件资源下载的机制。
604

被折叠的 条评论
为什么被折叠?



