Guidelines to port webkit

來源:互聯網
上載者:User

As i write this blog the webkit is ported to at least 8 platforms like
gtk,qt,mac,symbian,haiku,wince,android,efl and many more to come..

If some one is new to webkit and wants to know where to start porting from I will try and put some basic guidelines to follow.First and foremost see if you have what is needed to port on your platform:i)
Threading -> pthread equivalent API's if you want multi-threading
(ENABLE_JSC_MULTIPLE_THREADS turn it OFF if you do not have one)ii) Timers -> any platform would have this so it should be fineiii) Drawing surface/Graphics Libraryiv)
Way to integrate widgets with your drawing surface; put it another way
how to provide input to your webpage. Gtk has clean way of doing this,
can be followedv) Theme for widgetsvi) Define API layer -> follow QT/GTK/MAC/Android port for defining one. vii) Porting JSCore by defining classes PageAllocation/Reservationviii) Some other classes/functions are needed like random number function, date etc;ix) I am keeping it very brief but you need a way to take care of plugins -) Plugin Creation -) Plugin Drawing Surfacex) Networking component like curl,soupxi) Need to port the WebCoreSupport classes again follow GTK/QT port for easexii) Image decodersAfter checking if you have got everything { only v) is not mandatory ix) is not mandatory if you do not want plugins}Now after getting the first step right second thing to do is getting your build set up:Start
with javascriptcore, you need to build the source and generate
derivedsources and see if you can get it built right. To do this you
have to port some functions as I mentioned earlier.To test if you got the build right you can run the javscriptcore tests.Once
this is done you can replicate the same for Webcore, you need to create
the stub files/functions for port. Follow one port like GTK/QT for this
like create files in WebCore/platform/xyz folder;Once this is ready, you need to get this port back into open source as later sync up with the open source is necessity. Follow http://trac.webkit.org/wiki/SuccessfulPortHowTo
for creating DRT, automation tests which is needed for getting code back into trunk.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.