webkit

54. Draw Optimization - WebKit porting to Mona OS

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

53. HTTP GET is slow - 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 …

52.Our First Tweet! - WebKit porting to Mona OS

The Tweet Hello, World2012-05-03 17:36:43 via web How we tweeted! TOC 0. Table of Contents - WebKit porting to Mona OS

51.iframe - 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…

50.libjpeg - WebKit porting to Mona OS

Ported libjpeg. We can enjoy flickr. TOC 0. Table of Contents - WebKit porting to Mona OS

49.Cookie Jar - 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…

48.Slow Rendering - WebKit porting to Mona OS

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…

47.Logged in at twitter.com - WebKit porting to Mona OS

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

46. A bug on repaint flow - 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…

45. JavaScript Console - WebKit porting to Mona OS

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

44. Show loading status on status bar - 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…

43. Status bar - WebKit porting to Mona OS

TOC 0. Table of Contents - WebKit porting to Mona OS

42. Changing Mouse Cursor when hover- 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…

41. Handling Mouse Event - WebKit porting to Mona OS

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…

40. A problem on invalidateContentsAndWindow() - WebKit porting to Mona OS

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…

39. Google Search - WebKit porting to Mona OS

We have "textbox" and "key event handler". Let's try Google Search. Yay! TOC 0. Table of Contents - WebKit porting to Mona OS

38. Change focus when tab key is pressed- 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…

webkit build memo

Tools/Scripts/build-webkit --debug

37. Start working on Text Editing - WebKit porting to Mona OS

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

うーむ。RenderText のデストラクト時には m_firstTextBox = 0 になるべきなのになってない。さてはて。

36. Fixed image loading bug - WebKit porting to Mona OS

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

35. JavaScript/PNG images - 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

34. Crash on ICU library - 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…

33. Hello font - WebKit porting to Mona OS

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

32. Hello TOFU font - 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…

31. Can't debug OSX WebKit MiniBrowser with GDB - WebKit porting to Mona OS

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…

30. Moved to github - WebKit porting to Mona OS

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…

29. Improving turn around time - WebKit porting to Mona OS

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…

28. Show an image - WebKit porting to Mona OS

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…

27. A first screenshot of our browser - WebKit porting to Mona OS

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…