Modifying Chromium

670 views
Skip to first unread message

Alexander

unread,
Oct 9, 2011, 10:17:03 PM10/9/11
to Chromium-dev
Hey folks,
yesterday I had a great idea, while trying to code some portable C++.
I realized what a pain it is compared to writing a website using html
and js, wich just runs "everywhere".
So I wondered, wouldn't it be great if you could write desktop apps
using Javascript and HTML just as you would write websites but with
access to the underlying OS ?
I was hoping I could utilize the Chromium project, for it contains all
necessary parts and thensome.

From what I understood of the architecture, all rendering processes
are sandboxed so any additional OS access is marshalled though the
browser process by using IPC channels. Is this "Browser" section of
the project the correct one to add additional OS access layers ?

Where would I start stripping down Chromium to a bare minimum? An HTML
renderer, a JS backend and a small framework to access OS capabilities
using JS, similar to Node.js.

Since the goal is to create a desktop application framework, many
"browser" features would become obsolete, i.E. cookies, security
restrictions, tabbed browsing, page navigation and history ... all
this stuff has to be removed or at least disabled.

Any help, hints and or suggestions will be greatly appreciated.
Regards
Alexander

Jói Sigurðsson

unread,
Oct 10, 2011, 2:13:01 PM10/10/11
to alexande...@crystalbyte.de, Chromium-dev
Hi Alexander,

If you don't need Chrome's sandboxed, multi-process architecture, you
may just want to embed WebKit directly.

If you do want the multi-process architecture, there is work in
progress to enable use of the core bit of Chrome that does that, see
src/content which is this layer of Chrome, and src/content/shell which
is a test shell based on the layer, and a simple example of how you
can embed Chrome's multi-process browser. As I mentioned, this is
work in progress.

You may also be interested in the Chromium Embedded Framework, which
is a separate open-source project based on Chrome:
http://code.google.com/p/chromiumembedded/

Cheers,
Jói

> --
> Chromium Developers mailing list: chromi...@chromium.org
> View archives, change email options, or unsubscribe:
>    http://groups.google.com/a/chromium.org/group/chromium-dev
>

Marc-Antoine Ruel

unread,
Oct 10, 2011, 3:50:31 PM10/10/11
to j...@chromium.org, alexande...@crystalbyte.de, Chromium-dev
Alexander, what if you asked the wrong question?

What if all you wanted in the first place is a web application, and not a desktop application?

Then shell out chrome.exe --app=http://localhost:<port number>. A lot of applications do that already.


M-A

Alexander

unread,
Oct 11, 2011, 8:33:07 AM10/11/11
to Chromium-dev
First of all, thank you for your suggestions.
@Jói: I already went over the CEF project, unfortunately I don't think
I understand its purpose quite yet. From what I understood, the
projects goal is to create an embeddable WebBrowser Control based upon
the Chromium project. Perhaps I am oversimplifying things, but I have
a hard time grasping the need for additional 1.5 GB project files and
a temporary platform drop (seems to work only on WINDOWS and OS X for
now) merely to wrap the Chromium library into a control.

But I will try to cut out the Webkit solution from the Chromium source
as you suggested, in hopes it builds standalone, for building Webkit
from their native source is a PITA on Windows, since they stopped
upgrading build files after the release of Visual Studio 2005.

@Marc-Antoine: I am a big fan of Google's cloud paradigms, but there
are some applications which do not work well in the cloud.
A sand boxed browser imposes hard security restrictions, which is good
for a website, but undesirable for a desktop app, and sometimes you
just need a desktop app, i.E. if you need access to a COM port a
specific TCP port, a local executable, the GCC for example or
arbitrary database and file access.
All this is currently not possible with a web app without plugins or
browser extensions.
My goal is to create a prototype, for I wanted to see if I could
simplify cross platform development and not make it more complex.

With regards
Alexander

On Oct 10, 9:50 pm, Marc-Antoine Ruel <mar...@chromium.org> wrote:
> Alexander, what if you asked the wrong question?
>
> What if all you wanted in the first place is a web application, and not a
> desktop application?
>
> Then shell out chrome.exe --app=http://localhost:<port number>. A lot of
> applications do that already.
>
> Seehttp://www.google.com/support/chrome/bin/answer.py?answer=95710.
> > > Chromium Developers mailing list: chromium-...@chromium.org
> > > View archives, change email options, or unsubscribe:
> > >    http://groups.google.com/a/chromium.org/group/chromium-dev
>
> > --
> > Chromium Developers mailing list: chromium-...@chromium.org
Reply all
Reply to author
Forward
0 new messages