Skip navigation

fancy awesomium logo

fancy awesomium logo

I’m very proud to announce the very first release of Awesomium!

Version: v0.5
License: LGPL
Platform: Windows & MSVC8 only (for now)
Demo: Download here *

* Try this alternative version if the demo instantly closes upon startup.

The source code is now online at its SVN repository. Please be aware that this release is really only for hardcore developers only– it lacks documentation and is a little tough gathering the necessary dependencies. Nevertheless, if you’re too impatient for an SDK release or just eager to start hacking at the source yourself, to build Awesomium you will need to first obtain Chromium and build it (I used a Sept. 6th revision so try to sync with that date). Then, check Awesomium out into the directory adjacent to your chromium distribution (the project assumes you’ve named your chromium folder “chromium”), open the solution, and compile the ‘Awesomium’ project. If you wish to build the demo (project ‘App’), you will need to have installed the Ogre3D SDK.

For the most part, this release is quite stable however I’m still working on a few issues, in no particular order: node memory leaks, support for transparent backgrounds, minor stall during a clipboard copy, and support for certain plugins.

I would write a much longer and more eloquent article detailing all of my thoughts about the current state and future plans of Awesomium but I’m frankly exhausted due to my pulling an all-nighter to get this release out. Anyways, I hope yall have fun trying out the demo and good luck to those who wish to try compiling it from source!

17 Comments

  1. I think something is missing in the demo zip because when i launch the demo.exe it shuts down immediatly without any log (so Ogre is not initialized yet)…

  2. The demo worked for me.

    This is stupid fast. I couldn’t tell the framerate once I was searching google but everything was very responsive. This is very promising!

  3. The demo works for me out of the box. I have Ogre SDK installed. The demo worked as smooth as silk except it did not support any Flash play back.

    Good job, man. It is very exciting to see Navi moving to a new direction.

  4. Cool! Glad yall like it! To see the current FPS while browsing, hit F1 to print the stats to the console.

    @ Klaim, are you using Vista or Windows XP?

    There shouldn’t be any redistributable issues as I’m using /MT, could you please try out this alternative release (it uses a static lib instead of a DLL for Awesomium): http://awesomium.googlecode.com/files/Awesomium%20Demo%20v0.5b.zip

  5. It seems to me that the demo has memory leak. After browsing several web pages, I found the memory footprint of the demo went up from around 60 M to 90 M.

  6. Oh man……… A+!

  7. Do you have a plan for plugins / Flash?

  8. Awesome work =)
    First version didn’t work, same symptom Klaim described, second version did. (Vista 64)

  9. aj> i tried on my computer at work that is under Xp and with VS2005 & VS2008 installed so i think it wouldn’t need the redistribuable dll (and it would have prompt an error if it was).
    I’ll try now with my computer at home…

  10. Can’t run it here, same exit of the application after just showing the console…
    It’s an Xp with VS2005/2008 too but i don’t think it’s related.
    I tried to put dlls from redist folder of the two versions of VS with no success.

    Then i tried the static version and thanks, it works šŸ˜€
    It’s really fast! Clean and responsive!!!

    Now, when i pressed escape and i got an error. I was in full screen so i couldn’t see the error dialog and had to close it blindly. I tried to reproduce that error multiple times without success…

    Anyway that’s really great šŸ˜€

  11. @ dude_3d, yeah WebKit is reporting that we have a ‘node’ leak however I fail to see what I’m doing wrong– I’ve made doubly sure that each WebView, PopupWidget, and frame is properly destroyed and yet it still persists.

    The memory actually seems to be reclaimed intermittently (I notice it may peak at like 80MB and then fall down to 70MB)– I’ll have to do some more snooping.

    What might also be a probable cause is the fact that I’ve linked Awesomium as a DLL using /MT (static runtime)– I couldn’t get it to link any other way due to duplicate symbols. I’m aware that this means the DLL has its own, separate CRT state and that may be causing part of this issue.

    @ Blake,

    Well this is the issue– plugins like Flash require a handle to the native window, are rendered separately (in their own HDC), and are composited using the platform’s windowing system (thus giving the illusion that the plugin is actually inlined on the page).

    This makes getting plugins working in an off-screen context (independent of the platform’s windowing system) very hard, if not impossible.

    The only possible solution to this problem would be for us to write our own windowless Flash plugin, capture invalidations, inject input, and composite it directly to the in-memory buffer during a web-view render.

    On Windows at least, I’ve already written a library to handle off-screen Flash embedding (using ActiveX and OLE)– so implementing such a plugin to interface with it is feasible on that platform. As for Linux and Mac, that’s an entirely other story– we would probably need to look at Mozilla’s Flash plugin implementations on those platforms to get an idea of where to start.

  12. @ajeanius, thanks for the fantastic job. Take some good rest over the weekend :->

  13. I tried for some time to emulate some sort of NPAPI to get the Flash plugin (not the ActiveX one) to run on its own without any browser. The final goal was to use that to render Flash offscreen and use it as UI in games.
    I couldn’t get it to work, maybe someone can help me on this… just email me.

  14. Version of uBrowser that uses Awesomium to render:

    http://ubrowser.com/downloads/ubrowser_awesomium_bin_2008-09-29_1747.zip

  15. ajeanius – is there going to be a way that we can set the mouse cursor properly according to what the user is currently hovering over? For example, callbacks or something for when to change the cursor to a hand, a pointer, a text entry cursor, etc.?

  16. @ Pierre,

    Nice work! If you want to get text-inputs working, you’ll also need to include the ICU DLL.

    @ Falagard,

    Sure, I think I can manage implementing that.

  17. This is awesome! If you get this thing running with the support of standard plug ins (such as Flash and so on), this would be soooo great.

    I would love to use this to write a Chromium-based web browser control for Windows Presentation Foundation (WPF). The reason is that Microsoft’s WPF browser control can not be put properly on a 3d surface and cannot be rotated or scaled, which makes it entirely useless for writing a next generation web browser.

    There are a lot of people looking for such a browser control out there, so please keep up the good work!


Leave a comment