webkit
Our WebKit port reached at the curl layer which issues HTTP request. The request is successfully sent and a response comes. The response is redirected to the parser. Finally we get a title of the web page on FrameLoaderClientMona::setTitle…
We see many classes named xxxClient on WebKit. And also we have to implement them. For example we should implement following classes. ChromeClient ContextMenuClient CookieJarClient DragClient EditorClient FrameLoaderClient Since they have …
We have to implement our own WebView class. I had a quick look at Haiku port WebView. It uses many WebCore classes, I don't understand what they do. Okay, we need to discern the big picture. Found Surfin' Safari - Blog Archive » How WebKit…
WebCore のコンパイルが通るようになった。(たくさんの notImplemented() とともに)。 次のアクションとして libwebcore を使うアプリケーションを作ろうとした。WebView 最小骨格の部分を取り出して全く構造化せずベタ書きしたものを書いて動かそうという作…
Finally stack trace problem was fixed by writing AVL tree. We also expanded kernel heap region to store huge map file. We get a correct stack trace. ================================================================================ Killed ML…
I'm trying an application which uses libwebcore. As we expected, it crashes. We want to know exact where it crashes. So enabled stack trace function on Mona which was introduced by Mr.A. The stack trace function uses a map file which is ge…
With a great help from notImplemented() function, there's no undefined references on MonaLauncher whose source code is following. #include <config.h> #include <Page.h> int main(int argc, char* argv[]) { WebCore::Page::PageClients pageClients; } Size of MLAU</page.h></config.h>…
About 10 days passed after the last article. I was sick in bed with a bad cold. I'm getting better. Ported libcurl which is used internally on WebKit and offers HTTP protocol (and other many protocols). ToDo - Dependencies DragImageRef at …
Built cairo for Mona without any surface. I will add cairo-mona-surface.cpp later when necessary. And also ported pixman library which is used intenrally in cairo. ToDo - Dependencies DragImageRef at Source/WebCore/platform/DragImage.h Nat…
cairo functions used in WebKit are follwing 133 functions. We should support them on Mona. cairo_append_path cairo_arc cairo_arc_negative cairo_clip cairo_clip_extents cairo_close_path cairo_context_get_font_options cairo_create cairo_crea…
There are more sub or subsub directories to build, but I'm not sure what is necessary or not. As jsc on JavaScriptCore, we need to build an application which uses WebCore(libwebcore). It seems that Tools/xxxLauncher is good sample applicat…
Let's build WebKit on OSX, and see what's happening. % Tools/Scripts/build-webkit --debug --no-svg 2>&1|tee webkit.build.osx.log The build process is going as following. ANGLE (necessary?) JavaScriptCore (done) JavaScriptGlue (not yet) Web…
Let's build WebKit on OSX, and see what's happening. % Tools/Scripts/build-webkit --debug --no-svg 2>&1|tee webkit.build.osx.log The build process is going as following. ANGLE (necessary?) JavaScriptCore (done) JavaScriptGlue (not yet) Web…
The next thing I have to do is trying more complex JavaScript programs than "Hello, World". At first tried string-base64.js for this purpose. Yay it runs without an error. And tests some other SunSpider programs. All of them run without an…
Previously on porting Webkit to Mona, jsc.exe is killed. After a long long printf debug, I concluded that malloc(dlmalloc) on Mona seems to have a bug. Since it re-allocates a region which is not free-ed yet. So two objects are allocated o…
jsc.exe is killed on GlobalObject* globalObject = GlobalObject::create(*globalData, GlobalObject::createStructure(*globalData, jsNull()), options.arguments) at jscmain. After some printf debug, I found m_structure member of m_functionProto…
Porting ICU is a hard and tough work? No I'm busy myself with other things :D ICU 4.4.2 is what we are looking for which doen't depend on C++ RTTI. Let's build it for our OS. Since Unicode data files should be generated on compilation time…
Where are we? building JavaScriptCore on Mona OS needs ICU ICU needs RTTI support Have to build libsupc++ to support RTTI On the last article 9. How to support C++ RTTI and exceptions on your hobby OS, I wrote C++ RTTI and exceptions worke…
Where are we? building JavaScriptCore on Mona OS needs ICU ICU needs RTTI support Have to build libsupc++ to support RTTI Requirements and assumptions I explain here how to enable RTTI and exceptions on my hobby OS Mona. We use mingw cross…
Where are we? building JavaScriptCore needs ICU ICU needs RTTI support Have to build libsupc++ to support RTTI Have to build mingw to build libsupc++ binutils % mkdir ~/mingw % cd src % wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1.…
While porting ICU, I found ICU requires C++ rtti. I met a library for the first time which requires C++ rtti. Sigh. Since our OS doesn't support C++ rtti and exceptions, we have two options. support rtti write ICU alternative. Webkit uses …
After walking through JavaScriptCore and jsc.cpp, it seems that we should disable PLATFORM(QT) and remove QT related file from Makfile. Let's start again. ../../../Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h:27:27: error: unicode/uc…
Finally got libjscore.a. The next thing we should do is to use libjscore.a. jsc command uses libjscore.a. So let's build jsc. Modified WebKit/WebKitBuild/Release/JavaScriptCore/Makefile.jsc to use our cross compiler. "make -f Makefile.jsc"…
The prvious problem we fronted was bootstrap hunging up. I've never imagined I should dive into bootstrap code again! Finally I found what was wrong. The bootstrap sequence is firstboot reads and jumps into secondboot secondboot reads KERN…
Since WebKit/Source/JavaScriptCore/wtf/qt/MainThreadQt.cpp is small, I will visit it later. Commented out the following files on Makefile. Source/JavaScriptCore/wtf/qt/MainThreadQt.cpp Source/JavaScriptCore/wtf/qt/StringQt.cpp Source/JavaS…
Okay, let's check the output. 7.0M WebKit/WebKitBuild/Release/JavaScriptCore/release/libjscore.a 56MB WebKit/WebKitBuild/Release/WebCore/release/libwebcore.a As someone said, I think it's better to start from building JavaScriptCore for so…
To see what's happening on build process, just tried to build WebKit on my Ubuntu laptop. At first I've tried to build GTK+ WebKit, but it requires GLIB - version >= 2.27.90. My Ubuntu uses glib 2.0.0, and it seems dangerous to upgrade gli…
I started porting WebKit to my own OS, Mona OS (http://www.monaos.org). Here are some memorandums of the porting process. I wish these would be useful to other OS developers. 1. Building WebKit on Linux 2. Where should I start from? 3. STL…