webkit
Improved our Window System. Added clipping support. Decreased frequency of repaint(). Also performed refactoring around WebView/WebPage. Now it becomes much faster. TOC 0. Table of Contents - WebKit porting to Mona OS
Using Twitter on our WebKit is not comfortable, because it's slow. So the next step is make it faster. At first I thought renderring was slow. Yes it was slow, but HTTP GET is much slower than it. As you know, to make Twitter work, WebKit …
The Tweet Hello, World2012-05-03 17:36:43 via web How we tweeted! TOC 0. Table of Contents - WebKit porting to Mona OS
Found we were not able to tweet from our Webkit port. After investigating, we found iframe load failed. We probary missed setting up subframes, but we're not sure what was wrong. So I asked about it at #webkit IRC channel. One of developer…
Ported libjpeg. We can enjoy flickr. TOC 0. Table of Contents - WebKit porting to Mona OS
I got tired of doing the same thing over and over, typing username and pasword :D So enabled cookie jar file. Now cookies are save to "/USER/COOKIE.TXT". Since our Webkit port is using curl, it's easy to support cookie jar. ResourceHandleM…
Logged out http://twitter.com/ is rendered very slowly on my WebKit port. I did printf debugging. And finally found ShadowBlur::blurLayerImage took a few hundreds msec. It's extremely slow! Following three loops are slow. "sum+= ..." was e…
Yay, logged in successfully at twitter.com from my WebKit port. But we have still many many errors. And it takes about 30 seconds to log in, which I should check what is wrong. TOC 0. Table of Contents - WebKit porting to Mona OS
Finally, I understand why my WebKit port crashes on doDeferredRepaints. Here are steps to repaint. (1) FrameView::doDeferredRepaints (2) ScrollView::scrollContents (3) ChromeClient::invalidateContentsAndWindow (4) WevView::paint (5) FrameV…
Supported JavaScript console, which show console.log and errors. It's easy, just override ChromeClient::addMessageToConsole function. Thanks to @filil_tech. TOC 0. Table of Contents - WebKit porting to Mona OS
When you click one of links on your browser, you will see some kind of loading status such as "Sending request..." or "Waiting...". They are much more important than you think. Without them, you can't know whether loading starts or not, an…
TOC 0. Table of Contents - WebKit porting to Mona OS
When you move mouse cursor to a link on browser, the cursor changes. This should be implemented on Webkit for MonaOS.At first step, design you cursor. Using M-x picture-mode on Emacs, drawn and designed a cursor. Then added API for changin…
Handling mouse event is almost same as keyboard event. All you have to do is Define PlatformMouseEvent constructor for your port Handle your native MouseEvent on WebView then convert it PlatformMouseEvent Pass PlatformMouseEvent to Focused…
On some of WebKit ports, layout function such as FormView::updateLayoutAndStyleIfNeededRecursive() is called in ChromeClient::invalidateContentsAndWindow. But in at least Mona port, it causes some kind of bad recursive call of void FrameVi…
We have "textbox" and "key event handler". Let's try Google Search. Yay! TOC 0. Table of Contents - WebKit porting to Mona OS
On tab key press, focus on a element changes to another one. This behaviour is written in EventHandler::defaultTabHandler.cpp. And works for my browser. So the next step is type search keyword on google.com. It crashes now.. TOC 0. Table o…
Tools/Scripts/build-webkit --debug
LTNS. Our first step of text editing works. We wrap os-dependent key events in PlatformKeyboardEvent, then handle them on EditorClient. Does it sound easy? No, it much more difficult than I expected. TOC 0. Table of Contents - WebKit porti…
うーむ。RenderText のデストラクト時には m_firstTextBox = 0 になるべきなのになってない。さてはて。
Fixed image loading bug. Our select function has a bug on the readfds paramter. Here are the latest screenshots. TOC 0. Table of Contents - WebKit porting to Mona OS
Enabled JavaScript Ported zlib and libpng Enabled PNG image load Enabled JavaScript Enabled libpng TOC 0. Table of Contents - WebKit porting to Mona OS
When we access more real website such as http://facebook.com and http://google.com, the browser crashes. The backtrace shows a crash on ICU library. I found two bugs. The one is easy to find, one fuction returns 1 which should be return co…
With a help of the previous TOFU font showing, we finally succeeded in showing system font. Font size and type are just ignore for now. TOC 0. Table of Contents - WebKit porting to Mona OS
Succeeded showing TOHU font, which is just a filled rectangle. The reason why no fonts was shown is FontMetrics::height() returned always zero. We should have set ascent and descent on SimpleFontData::platformInit as follows. void SimpleFo…
Since Mona has a poor debug feature, we want a stable debuggable WebKit. I think the OSX WebKit MiniBrowser is suitable for this usage. Building % Tools/Scripts/set-webkit-configuration --debug % make -C Source/JavaScriptCore % make -C Sou…
Our local WebKit repository was unintentionally removed. 6-day-commit was lost. So we moved to github. Here is our branch https://github.com/higepon/webkit/tree/monaos-port. Our branch is 6608 commits behind!. TOC 0. Table of Contents - We…
Hajime Morrita strongly recommend me to use more high-spec machine or EC2 for building WebKit. I think he is right, but we should also improve whole turn around time. Almost time is spent on making an OS image and booting from it. Fortunat…
Succeeded in showing an image. For now we support only bmp format, but it's easy to support other formats. What we have done are Added setting and changed some. page_->settings()->setLoadsImagesAutomatically(true); Called forceLayout() Int…
Finally I found a way to fetch a image buffer from WebKit. I was sure that Webkit was ready to draw, but it was really hard to find the point. The code to draw is as following. The point is to pass GraphicsContext to FrameView::paint() fun…