随笔分类 -  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 阅读全文
posted @ 2012-05-30 23:52 cascais 阅读(313) 评论(3) 推荐(0)
摘要: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 阅读全文
posted @ 2012-05-30 23:52 cascais 阅读(277) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-05-30 23:51 cascais 阅读(865) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-05-30 23:49 cascais 阅读(221) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-05-30 23:48 cascais 阅读(357) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-05-06 09:55 cascais 阅读(272) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-05-06 09:55 cascais 阅读(155) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-04-08 00:11 cascais 阅读(8794) 评论(0) 推荐(0)
摘要:video 1.create videoElement HTMLTreeBuilder::processStartTagForInBody HTMLConstructionSite::insertHTMLElement(此时已经解析出了end) cHTMLConstructionSite::createHTMLElement HTMLElementFactory::createHTMLElement HTMLElementFactory::videoConstructor HTMLVideoElement::create 2.get element attribute in "vid 阅读全文
posted @ 2012-04-06 22:29 cascais 阅读(346) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-04-06 22:07 cascais 阅读(196) 评论(0) 推荐(0)
摘要:FontSet1.FontCache.cpp[cpp] view plaincopyFontPlatformData*FontCache::getCachedFontPlatformData(constFontDescription&fontDescription,constAtomicString&familyName,boolcheckingAlternateName){...result=createFontPlatformData(fontDescription,familyName);....}2.FontCacheAndroid.cpp[cpp] view plai 阅读全文
posted @ 2012-04-06 21:52 cascais 阅读(966) 评论(0) 推荐(0)
摘要:1. receive data to parsea .for chromium stackWebUrlLoaderClient::didReceiveDataResourceLoader::didReceiveDataMainResourceLoader::didReceiveDataResourceLoader::didReceiveDataMainResourceLoader::addDataDocumentLoader::receivedDataDocumentLoader::commitLoadFrameLoaderClient::committedLoad (FrameLoaderC 阅读全文
posted @ 2012-04-06 21:41 cascais 阅读(231) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-04-05 22:00 cascais 阅读(277) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-04-02 20:26 cascais 阅读(296) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2012-04-02 20:22 cascais 阅读(153) 评论(0) 推荐(0)
摘要: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>&paramNames 阅读全文
posted @ 2012-04-02 20:16 cascais 阅读(391) 评论(0) 推荐(0)