WebKit.dll!WebCore::BlobURL::createBlobURL(const WTF::String & originString) 行 76
C++
WebKit.dll!WebCore::BlobURL::createPublicURL(WebCore::SecurityOrigin * securityOrigin) 行 47
C++
>
WebKit.dll!WebCore::FileReaderLoader::start(WebCore::ScriptExecutionContext * scriptExecutionContext, WebCore::Blob * blob) 行 81
C++
WebKit.dll!WebCore::FileReader::readInternal(WebCore::Blob * blob, WebCore::FileReaderLoader::ReadType type, int & ec) 行 149
C++
WebKit.dll!WebCore::FileReader::readAsText(WebCore::Blob * blob, const WTF::String & encoding, int & ec) 行 113
C++
WebKit.dll!WebCore::jsFileReaderPrototypeFunctionReadAsText(JSC::ExecState * exec) 行 565
C++
>
WebKit.dll!WebCore::BlobResourceHandle::BlobResourceHandle(WebCore::BlobData * blobData, const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client, bool async) 行 173
C++
WebKit.dll!WebCore::BlobResourceHandle::createAsync(WebCore::BlobData * blobData, const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client) 行 143
C++
WebKit.dll!WebCore::BlobRegistryImpl::createResourceHandle(const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client) 行 80
C++
WebKit.dll!WebCore::createResourceHandle(const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client) 行 59
C++
WebKit.dll!WebCore::ResourceHandle::create(WebCore::NetworkingContext * context, const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client, bool defersLoading, bool shouldContentSniff) 行 92
C++
WebKit.dll!WebCore::ResourceLoader::start() 行 218
C++
WebKit.dll!WebCore::ResourceLoadScheduler::servePendingRequests(WebCore::ResourceLoadScheduler::HostInformation * host, WebCore::ResourceLoadPriority minimumPriority) 行 285
C++
WebKit.dll!WebCore::ResourceLoadScheduler::scheduleLoad(WebCore::ResourceLoader * resourceLoader) 行 189
C++
WebKit.dll!WebCore::ResourceLoadScheduler::scheduleSubresourceLoad(WebCore::Frame * frame, WebCore::CachedResource * resource, const WebCore::ResourceRequest & request, const WebCore::ResourceLoaderOptions & options) 行 129
C++
WebKit.dll!WebCore::CachedResource::load(WebCore::CachedResourceLoader & cachedResourceLoader, const WebCore::ResourceLoaderOptions & options) 行 281
C++
WebKit.dll!WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type type, WebCore::CachedResourceRequest & request) 行 577
C++
WebKit.dll!WebCore::CachedResourceLoader::requestRawResource(WebCore::CachedResourceRequest & request) 行 269
C++
WebKit.dll!WebCore::DocumentThreadableLoader::loadRequest(const WebCore::ResourceRequest & request, WebCore::SecurityCheckPolicy securityCheck) 行 370
C++
WebKit.dll!WebCore::DocumentThreadableLoader::DocumentThreadableLoader(WebCore::Document & document, WebCore::ThreadableLoaderClient & client, WebCore::DocumentThreadableLoader::BlockingBehavior blockingBehavior, const WebCore::ResourceRequest & request, const WebCore::ThreadableLoaderOptions & options) 行 84
C++
WebKit.dll!WebCore::DocumentThreadableLoader::create(WebCore::Document & document, WebCore::ThreadableLoaderClient & client, const WebCore::ResourceRequest & request, const WebCore::ThreadableLoaderOptions & options) 行 65
C++
WebKit.dll!WebCore::ThreadableLoader::create(WebCore::ScriptExecutionContext * context, WebCore::ThreadableLoaderClient * client, const WebCore::ResourceRequest & request, const WebCore::ThreadableLoaderOptions & options) 行 80
C++
WebKit.dll!WebCore::FileReaderLoader::start(WebCore::ScriptExecutionContext * scriptExecutionContext, WebCore::Blob * blob) 行 103
C++
WebKit.dll!WebCore::FileReader::readInternal(WebCore::Blob * blob, WebCore::FileReaderLoader::ReadType type, int & ec) 行 149
C++
WebKit.dll!WebCore::FileReader::readAsText(WebCore::Blob * blob, const WTF::String & encoding, int & ec) 行 113
C++
WebKit.dll!WebCore::jsFileReaderPrototypeFunctionReadAsText(JSC::ExecState * exec) 行 565
C++
WebKit.dll!_vmEntryToJavaScript()
未知
WebKit.dll!JSC::JITCode::execute(JSC::VM * vm, JSC::ProtoCallFrame * protoCallFrame) 行 81
C++
WebKit.dll!JSC::Interpreter::executeCall(JSC::ExecState * callFrame, JSC::JSObject * function, JSC::CallType callType, const JSC::CallData & callData, JSC::JSValue thisValue, const JSC::ArgList & args) 行 965
C++
WebKit.dll!JSC::call(JSC::ExecState * exec, JSC::JSValue functionObject, JSC::CallType callType, const JSC::CallData & callData, JSC::JSValue thisValue, const JSC::ArgList & args) 行 39
C++
WebKit.dll!JSC::JSJobMicrotask::run(JSC::ExecState * exec) 行 73
C++
WebKit.dll!WebCore::JSMainThreadExecState::runTask(JSC::ExecState * exec, JSC::Microtask & task) 行 75
C++
WebKit.dll!WebCore::JSGlobalObjectCallback::call() 行 64
C++
WebKit.dll!WebCore::JSGlobalObjectTask::{ctor}::__l2::
(WebCore::ScriptExecutionContext & __formal) 行 88
C++
WebKit.dll!std::_Invoker_functor::_Call(WebCore::ScriptExecutionContext &) &,WebCore::ScriptExecutionContext &>(WebCore::JSGlobalObjectTask::{ctor}::__l2::void (WebCore::ScriptExecutionContext &) & _Obj, WebCore::ScriptExecutionContext & <_Args_0>) 行 1410
C++
WebKit.dll!std::invoke(WebCore::ScriptExecutionContext &) &,WebCore::ScriptExecutionContext &>(WebCore::JSGlobalObjectTask::{ctor}::__l2::void (WebCore::ScriptExecutionContext &) & _Obj, WebCore::ScriptExecutionContext & <_Args_0>) 行 1476
C++
WebKit.dll!std::_Invoke_ret(WebCore::ScriptExecutionContext &) &,WebCore::ScriptExecutionContext &>(std::_Forced __formal, WebCore::JSGlobalObjectTask::{ctor}::__l2::void (WebCore::ScriptExecutionContext &) & <_Vals_0>, WebCore::ScriptExecutionContext & <_Vals_1>) 行 1494
C++
WebKit.dll!std::_Func_impl(WebCore::ScriptExecutionContext &),std::allocator,void,WebCore::ScriptExecutionContext &>::_Do_call(WebCore::ScriptExecutionContext & <_Args_0>) 行 209
C++
WebKit.dll!std::_Func_class::operator()(WebCore::DOMWindow & <_Args_0>) 行 276
C++
WebKit.dll!WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext & context) 行 151
C++
WebKit.dll!WebCore::Document::postTask::__l2::() 行 5208
C++
WebKit.dll!std::_Invoker_functor::_Call(void) &>(WebCore::Document::postTask::__l2::void (void) & _Obj) 行 1410
C++
WebKit.dll!std::invoke(void) &>(WebCore::Document::postTask::__l2::void (void) & _Obj) 行 1476
C++
WebKit.dll!std::_Invoke_ret(void) &>(std::_Forced __formal, WebCore::Document::postTask::__l2::void (void) & <_Vals_0>) 行 1494
C++
WebKit.dll!std::_Func_impl(void),std::allocator,void>::_Do_call() 行 209
C++
WebKit.dll!std::_Func_class::operator()() 行 276
C++
WebKit.dll!WTF::dispatchFunctionsFromMainThread() 行 140
C++
WebKit.dll!WTF::ThreadingWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned int wParam, long lParam) 行 47
C++
WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) 行 97
C++
MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) 行 200
C++
webkit的代码是在XMLHttpRequest::didReceiveData里收到数据后,存到Blob里,然后在BlobResourceHandle里创建异步回调,模拟网络请求给FileReaderLoader去加载
>
WebKit.dll!WebCore::FileReaderLoader::didReceiveData(const char * data, int dataLength) 行 179
C++
WebKit.dll!WebCore::DocumentThreadableLoader::didReceiveData(unsigned long identifier, const char * data, int dataLength) 行 290
C++
WebKit.dll!WebCore::DocumentThreadableLoader::dataReceived(WebCore::CachedResource * resource, const char * data, int dataLength) 行 277
C++
WebKit.dll!WebCore::CachedRawResource::notifyClientsDataWasReceived(const char * data, unsigned int length) 行 119
C++
WebKit.dll!WebCore::CachedRawResource::addData(const char * data, unsigned int length) 行 84
C++
WebKit.dll!WebCore::SubresourceLoader::didReceiveDataOrBuffer(const char * data, int length, WTF::PassRefPtr prpBuffer, __int64 encodedDataLength, WebCore::DataPayloadType dataPayloadType) 行 296
C++
WebKit.dll!WebCore::SubresourceLoader::didReceiveBuffer(WTF::PassRefPtr buffer, __int64 encodedDataLength, WebCore::DataPayloadType dataPayloadType) 行 274
C++
WebKit.dll!WebCore::ResourceLoader::didReceiveBuffer(WebCore::ResourceHandle * __formal, WTF::PassRefPtr buffer, int encodedDataLength) 行 623
C++
WebKit.dll!WebCore::BlobResourceHandle::notifyReceiveData(const char * data, int bytesRead) 行 639
C++
WebKit.dll!WebCore::BlobResourceHandle::consumeData(const char * data, int bytesRead) 行 535
C++
WebKit.dll!WebCore::BlobResourceHandle::readDataAsync(const WebCore::BlobDataItem & item) 行 480
C++
WebKit.dll!WebCore::BlobResourceHandle::readAsync() 行 463
C++
WebKit.dll!WebCore::BlobResourceHandle::getSizeForNext() 行 259
C++
WebKit.dll!WebCore::BlobResourceHandle::didGetSize(__int64 size) 行 308
C++
WebKit.dll!WebCore::BlobResourceHandle::getSizeForNext() 行 267
C++
WebKit.dll!WebCore::BlobResourceHandle::doStart() 行 237
C++
WebKit.dll!WebCore::BlobResourceHandle::start::__l2::() 行 209
C++
而blink是先在XMLHttpRequest里存成一个临时文件再关联上一个blob,并在content层记录在BlobStorageHost里,再在FileReaderLoader里发起网络请求,content层
>
content.dll!content::AsyncResourceHandler::OnReadCompleted(int bytes_read, bool * defer) 行 330
C++
content.dll!content::MimeTypeResourceHandler::OnReadCompleted(int bytes_read, bool * defer) 行 170
C++
content.dll!content::LayeredResourceHandler::OnReadCompleted(int bytes_read, bool * defer) 行 67
C++
content.dll!content::ResourceLoader::CompleteRead(int bytes_read) 行 627
C++
content.dll!content::ResourceLoader::OnReadCompleted(net::URLRequest * unused, int bytes_read) 行 382
C++
net.dll!net::URLRequest::NotifyReadCompleted(int bytes_read) 行 1136
C++
net.dll!net::URLRequestJob::NotifyReadComplete(int bytes_read) 行 527
C++
storage.dll!storage::BlobURLRequestJob::DidReadRawData(int result) 行 231
C++
storage.dll!base::internal::RunnableAdapter::Run(storage::BlobURLRequestJob * object, const int & ) 行 176
C++
storage.dll!base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter,base::internal::TypeList const &,int const &> >::MakeItSo(base::internal::RunnableAdapter runnable, const base::WeakPtr & weak_ptr, const int & ) 行 304
C++
storage.dll!base::internal::Invoker,base::internal::BindState,void __cdecl(storage::BlobURLRequestJob *,int),base::internal::TypeList > >,base::internal::TypeList > >,base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter,base::internal::TypeList const &,int const &> >,void __cdecl(int const &)>::Run(base::internal::BindStateBase * base, const int & ) 行 343
C++
storage.dll!base::Callback::Run(const int & ) 行 396
C++
storage.dll!storage::BlobReader::ContinueAsyncReadLoop() 行 426
C++
storage.dll!storage::BlobReader::DidReadItem(int result) 行 478
C++
storage.dll!storage::BlobReader::DidReadFile(int result) 行 416
C++
发起响应把数据给FileReaderLoader
在这里把blob存在文件里
>
content.dll!content::RedirectToFileResourceHandler::OnResponseStarted(content::ResourceResponse * response, bool * defer) 行 162
C++
content.dll!content::MimeTypeResourceHandler::ProcessResponse(bool * defer) 行 238
C++
content.dll!content::MimeTypeResourceHandler::OnReadCompleted(int bytes_read, bool * defer) 行 180
C++
content.dll!content::LayeredResourceHandler::OnReadCompleted(int bytes_read, bool * defer) 行 67
C++
content.dll!content::ResourceLoader::CompleteRead(int bytes_read) 行 627
C++
content.dll!content::ResourceLoader::OnReadCompleted(net::URLRequest * unused, int bytes_read) 行 382
C++
content.dll!content::ResourceLoader::StartReading(bool is_continuation) 行 564
C++
content.dll!content::ResourceLoader::OnReadCompleted(net::URLRequest * unused, int bytes_read) 行 387
C++
content.dll!content::ResourceLoader::StartReading(bool is_continuation) 行 564
C++
content.dll!content::ResourceLoader::OnResponseStarted(net::URLRequest * unused) 行 358
C++
net.dll!net::URLRequest::NotifyResponseStarted() 行 819
C++
net.dll!net::URLRequestJob::NotifyHeadersComplete() 行 481
C++
net.dll!net::URLRequestHttpJob::NotifyHeadersComplete() 行 415
C++
net.dll!net::URLRequestHttpJob::SaveNextCookie() 行 783
C++
net.dll!net::URLRequestHttpJob::SaveCookiesAndNotifyHeadersComplete(int result) 行 730
C++
net.dll!net::URLRequestHttpJob::OnStartCompleted(int result) 行 960
C++
net.dll!base::internal::RunnableAdapter::Run(net::URLRequestHttpJob * object, const int & ) 行 176
C++
net.dll!base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter,base::internal::TypeList >::MakeItSo(base::internal::RunnableAdapter runnable, net::URLRequestHttpJob * , const int & ) 行 294
C++
net.dll!base::internal::Invoker,base::internal::BindState,void __cdecl(net::URLRequestHttpJob *,int),base::internal::TypeList > >,base::internal::TypeList > >,base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter,base::internal::TypeList >,void __cdecl(int const &)>::Run(base::internal::BindStateBase * base, const int & ) 行 343
C++
net.dll!base::Callback::Run(const int & ) 行 396
C++
net.dll!net::HttpCache::Transaction::DoLoop(int result) 行 960
C++
net.dll!net::HttpCache::Transaction::OnIOComplete(int result) 行 2940
C++
net.dll!base::Callback::Run(const int & ) 行 396
C++
net.dll!net::HttpNetworkTransaction::DoCallback(int rv) 行 631
C++
net.dll!net::HttpNetworkTransaction::OnIOComplete(int result) 行 637
C++
net.dll!base::internal::Invoker,base::internal::BindState,void __cdecl(net::HttpNetworkTransaction *,int),base::internal::TypeList > >,base::internal::TypeList > >,base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter,base::internal::TypeList >,void __cdecl(int const &)>::Run(base::internal::BindStateBase * base, const int & ) 行 343
C++
net.dll!base::Callback::Run(const int & ) 行 396
C++
net.dll!net::HttpStreamParser::OnIOComplete(int result) 行 391
C++
net.dll!base::internal::Invoker,base::internal::BindState,void __cdecl(net::HttpStreamParser *,int),base::internal::TypeList > >,base::internal::TypeList > >,base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter,base::internal::TypeList const &,int const &> >,void __cdecl(int const &)>::Run(base::internal::BindStateBase * base, const int & ) 行 343
C++
net.dll!base::Callback::Run(const int & ) 行 396
C++
net.dll!net::TCPClientSocket::DidCompleteReadWrite(const base::Callback & callback, int result) 行 364
C++
net.dll!net::TCPClientSocket::DidCompleteRead(const base::Callback & callback, int result) 行 347
C++
net.dll!base::Callback::Run(const int & ) 行 396
C++
net.dll!net::TCPSocketWin::DidSignalRead() 行 1048
C++
net.dll!net::TCPSocketWin::Core::ReadDelegate::OnObjectSignaled(void * object) 行 258
C++
base.dll!base::win::ObjectWatcher::Signal(base::win::ObjectWatcher::Delegate * delegate) 行 121
C++
base.dll!base::internal::RunnableAdapter::Run(base::win::ObjectWatcher * object, base::win::ObjectWatcher::Delegate * const & ) 行 176
C++
xhr发出send blob请求:
XMLHttpRequest::createRequest
此时设置 request.setDownloadToFile(true);,告诉net层这玩意需要存在文件里
在xhr发出send blob请求后,content层根据request.setDownloadToFile标志,转到文件里,并且在repose里设置一个文件路径
>
content.dll!content::RedirectToFileResourceHandler::OnWillStart(const GURL & url, bool * defer) 行 173
C++
content.dll!content::LayeredResourceHandler::OnWillStart(const GURL & url, bool * defer) 行 49
C++
content.dll!content::ThrottlingResourceHandler::OnWillStart(const GURL & url, bool * defer) 行 81
C++
content.dll!content::ResourceLoader::StartRequest() 行 161
C++
content.dll!content::ResourceDispatcherHostImpl::StartLoading(content::ResourceRequestInfoImpl * info, const linked_ptr & loader) 行 2208
C++
content.dll!content::ResourceDispatcherHostImpl::BeginRequestInternal(scoped_ptr > request, scoped_ptr > handler) 行 2196
C++
content.dll!content::ResourceDispatcherHostImpl::BeginRequest(int request_id, const ResourceHostMsg_Request & request_data, IPC::Message * sync_result, int route_id) 行 1398
C++
content.dll!content::ResourceDispatcherHostImpl::OnRequestResource(int routing_id, int request_id, const ResourceHostMsg_Request & request_data) 行 1072
C++
在xhr发出send blob请求后,content层转到文件里
>
content.dll!content::RedirectToFileResourceHandler::Writer::Writer(content::RedirectToFileResourceHandler * handler, scoped_ptr > file_stream, storage::ShareableFileReference * deletable_file) 行 68
C++
content.dll!content::RedirectToFileResourceHandler::DidCreateTemporaryFile(base::File::Error error_code, scoped_ptr > file_stream, storage::ShareableFileReference * deletable_file) 行 252
C++
content.dll!base::internal::RunnableAdapter >,storage::ShareableFileReference *)>::Run(content::RedirectToFileResourceHandler * object, const base::File::Error & , scoped_ptr > , storage::ShareableFileReference * const & ) 行 176
C++
然后在xhr结束后,在FileLoader发起网络请求后,storage层开始读取之前的本地路径
>
storage.dll!storage::FileStreamReader::CreateForLocalFile(base::TaskRunner * task_runner, const base::FilePath & file_path, __int64 initial_offset, const base::Time & expected_modification_time) 行 31
C++
storage.dll!storage::`anonymous namespace'::FileStreamReaderProviderImpl::CreateForLocalFile(base::TaskRunner * task_runner, const base::FilePath & file_path, __int64 initial_offset, const base::Time & expected_modification_time) 行 37
C++
storage.dll!storage::BlobReader::CreateFileStreamReader(const storage::BlobDataItem & item, unsigned __int64 additional_offset) 行 526
C++
storage.dll!storage::BlobReader::GetOrCreateFileReaderAtIndex(unsigned int index) 行 511
C++
storage.dll!storage::BlobReader::CalculateSize(const base::Callback & done) 行 74
C++
storage.dll!storage::BlobURLRequestJob::DidStart() 行 176
C++
storage.dll!base::internal::RunnableAdapter::Run(storage::BlobURLRequestJob * object) 行 176
C++
读到了本地路径下的blob内容
>
storage.dll!storage::BlobReader::ReadFileItem(storage::FileStreamReader * reader, int bytes_to_read) 行 392
C++
storage.dll!storage::BlobReader::ReadItem() 行 352
C++
storage.dll!storage::BlobReader::ReadLoop(int * bytes_read) 行 301
C++
storage.dll!storage::BlobReader::Read(net::IOBuffer * buffer, unsigned int dest_size, int * bytes_read, base::Callback done) 行 181
C++
storage.dll!storage::BlobURLRequestJob::ReadRawData(net::IOBuffer * dest, int dest_size, int * bytes_read) 行 93
C++
net.dll!net::URLRequestJob::ReadRawDataHelper(net::IOBuffer * buf, int buf_size, int * bytes_read) 行 838
C++
net.dll!net::URLRequestJob::Read(net::IOBuffer * buf, int buf_size, int * bytes_read) 行 120
C++
net.dll!net::URLRequest::Read(net::IOBuffer * dest, int dest_size, int * bytes_read) 行 744
C++
content.dll!content::ResourceLoader::ReadMore(int * bytes_read) 行 612
C++
content.dll!content::ResourceLoader::StartReading(bool is_continuation) 行 560
C++
content.dll!content::ResourceLoader::OnResponseStarted(net::URLRequest * unused) 行 358
C++
net.dll!net::URLRequest::NotifyResponseStarted() 行 819
C++
net.dll!net::URLRequestJob::NotifyHeadersComplete() 行 481
C++
storage.dll!storage::BlobURLRequestJob::HeadersCompleted(net::HttpStatusCode status_code) 行 314
C++
storage.dll!storage::BlobURLRequestJob::DidCalculateSize(int result) 行 220
C++
storage.dll!base::internal::RunnableAdapter::Run(storage::BlobURLRequestJob * object, const int & ) 行 176
C++
storage.dll!base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter,base::internal::TypeList const &,int const &> >::MakeItSo(base::internal::RunnableAdapter runnable, const base::WeakPtr & weak_ptr, const int & ) 行 304
C++
storage.dll!base::internal::Invoker,base::internal::BindState,void __cdecl(storage::BlobURLRequestJob *,int),base::internal::TypeList > >,base::internal::TypeList > >,base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter,base::internal::TypeList const &,int const &> >,void __cdecl(int const &)>::Run(base::internal::BindStateBase * base, const int & ) 行 343
C++
storage.dll!base::Callback::Run(const int & ) 行 396
C++
storage.dll!storage::BlobReader::DidCountSize() 行 295
C++
storage.dll!storage::BlobReader::DidGetFileItemLength(unsigned int index, __int64 result) 行 284
C++
storage.dll!base::internal::RunnableAdapter::Run(storage::BlobReader * object, const unsigned int & , const __int64 & ) 行 176
C++
然后发消息给blink
>
webcore_shared.dll!blink::FileReaderLoader::didReceiveData(const char * data, unsigned int dataLength) 行 237
C++
webcore_shared.dll!blink::DocumentThreadableLoader::handleReceivedData(const char * data, unsigned int dataLength) 行 659
C++
webcore_shared.dll!blink::DocumentThreadableLoader::dataReceived(blink::Resource * resource, const char * data, unsigned int dataLength) 行 647
C++
webcore_shared.dll!blink::RawResource::appendData(const char * data, unsigned int length) 行 95
C++
webcore_shared.dll!blink::ResourceLoader::didReceiveData(blink::WebURLLoader * __formal, const char * data, int length, int encodedDataLength) 行 421
C++
content.dll!content::WebURLLoaderImpl::Context::OnReceivedData(scoped_ptr > data) 行 698
C++
content.dll!content::ResourceDispatcher::OnReceivedData(int request_id, int data_offset, int data_length, int encoded_data_length) 行 262
C++