随笔分类 - Webkit Study
摘要:Introduction1.Statistics Macro"ANDROID_INSTRUMENT"2.Classes for statisticsa.TimeCounterb.TimeCounterAuto3. method for statisticsa. counting the time used for a single function.b. counting the total time used by a kind of Timer.TimerCounter1.TimerCounter type.One counter type stands for one
阅读全文
摘要:There are code in webkit that can dump the dom tree and render tree."RenderObject::showRenderTreeAndMark" and "Node::showTreeAndMark"You can use it or change it. But it will take a lot of time to compile, and the log function doesn't work very well in Windows environment.Belo
阅读全文
摘要:1.KURL:it's the type of String in WTF,we use[html]view plaincopyKURL.string().utf8().data();to return the char * in the KURL.And how does it come out? a KURL is defined in WebCore/Platform/KURL.h, it has a member function string(). b KURL.string(), return a class of String, which was defined in
阅读全文
摘要:1. Introductiona. Language can be written in HTML and XML.b. define processing detail for implementation.c. Improve markup for document.d. Introduced markup and API for merging idioms.The HTML5 specification will not be considered finished before there are at least two complete implementations of th
阅读全文
摘要:script1.DOM object in jsWindows object, the biggest object.Screen,Navigaor,Location,History2.document.frames[0]document.frames[1]return the frame of the Document.(to be continued)webkit1.HTMLDocumentPareser's membershipOwnPtr<HTMLTokenizer> m_tokenizer;OwnPtr<HTMLScriptRunner> m_scri
阅读全文
摘要:DOM level 2 coreNode object hierarchy:DocumentDocumentFragmentDocumentTypeEntityReferenceElementAttrProcessingInstructionCommentTextCDATASectionEntityNotationChanges between DOM Level 1 Core and DOM Level 2 CoreInterface AttrThe Attr interface has one new attribute: ownerElement.Interface DocumentTh
阅读全文
摘要:script1.DOM object in jsWindows object, the biggest object.Screen,Navigaor,Location,History2.document.frames[0]document.frames[1]return the frame of the Document.(to be continued)webkit1.HTMLDocumentPareser's membershipOwnPtr<HTMLTokenizer> m_tokenizer;OwnPtr<HTMLScriptRunner> m_scri
阅读全文
摘要:1.How will the HTML call video player in the webpage?HTMLMediaElement::updatePlayState()->HTMLMediaElement::m_player->play()->MediaPlayer.cpp(in webkit)->play()//(this file use factory create player)->MediaPlayerPrivateInterface->play()->MediaPlayerPrivateAndroid.play()->andr
阅读全文
摘要:video 1.create videoElement HTMLTreeBuilder::processStartTagForInBody HTMLConstructionSite::insertHTMLElement(此时已经解析出了end) cHTMLConstructionSite::createHTMLElement HTMLElementFactory::createHTMLElement HTMLElementFactory::videoConstructor HTMLVideoElement::create 2.get element attribute in "vid
阅读全文
摘要:Plugin files 1. Npapi.hdeclaration of NPP_XXX and NPN_XXX, also NPP and NPStreamin external/webkit/webcore/bridge/Npapi.h2.Npfunctions.hdeclaration function pointer of NPP_XXX and NPN_XXX, like NPP_XXXProcPtr and NPN_XXXProcPtr,also define structor holding these pointersin external/webkit/webcore/pl
阅读全文
摘要:FontSet1.FontCache.cpp[cpp] view plaincopyFontPlatformData*FontCache::getCachedFontPlatformData(constFontDescription&fontDescription,constAtomicString&familyName,boolcheckingAlternateName){...result=createFontPlatformData(fontDescription,familyName);....}2.FontCacheAndroid.cpp[cpp] view plai
阅读全文
摘要:1. receive data to parsea .for chromium stackWebUrlLoaderClient::didReceiveDataResourceLoader::didReceiveDataMainResourceLoader::didReceiveDataResourceLoader::didReceiveDataMainResourceLoader::addDataDocumentLoader::receivedDataDocumentLoader::commitLoadFrameLoaderClient::committedLoad (FrameLoaderC
阅读全文
摘要:steps 1.FrameLoader.cpp didFirstLayout 3.FrameLoaderClientAndroid.cpp dispatchDidFirstLayout 3.WebViewCore.cpp didFirstLayout(); 4.WebViewCore.java// will also callsetupViewport() didFirstLayout(); 5.BrowserFrame.java didFirstLayout(); 6.WebViewCore.java contentDraw(); 7.WebViewCore.java webkitDrawL
阅读全文
摘要:a.webkit to chromium to webkitResourceLoaderAndroid to chromium// for file 1.ResourceLoaderAndroid::start 2.WebUrlLoader::start (convert "ResourceRequest" to "WebRequest") 3.WebUrlLoaderClient::start 4.WebRequest::start 5.URLRequest::start()//chromium 6.URLRequest::StartJob(URLRe
阅读全文
摘要:Plugin files 1. Npapi.hdeclaration of NPP_XXX and NPN_XXX, also NPP and NPStreamin external/webkit/webcore/bridge/Npapi.h2.Npfunctions.hdeclaration function pointer of NPP_XXX and NPN_XXX, like NPP_XXXProcPtr and NPN_XXXProcPtr,also define structor holding these pointersin external/webkit/webcore/pl
阅读全文
摘要:PluginView creationHow is the plugin initialized?it's begin with the PluginView's creation1.PluginView.create()[cpp] view plaincopyPassRefPtr<PluginView>PluginView::create(Frame*parentFrame,constIntSize&size,Element*element,constKURL&url,constVector<String>¶mNames
阅读全文

浙公网安备 33010602011771号