|
|
Home » Developing U++ » U++ Developers corner » Chromium embedded in U++
Chromium embedded in U++ [message #31818] |
Tue, 29 March 2011 18:46 |
|
Hello All,
I propose to integrate Google Chrome (Chromium) browser in U++.
The idea is: U++ application process will run the original Chrome browser process and communicate via IPC (Inter Process Communication).
Let look to Google process architecture:
I hope we need to integrate in U++ only Browser process functionality and wrap RenderViewHost. Render processes will be original Chrome executable(s).
What is good:
- Cross-OS browser in U++;
- The U++ application file size will be less than all Chrome functionality;
- The hard work of the browser will be in separate process - render (Google chrome or Chromium);
- The compile time and hardware requirements for compile will be less (not minim 4 gb of RAM);
- The stability will not be lost in case of browser crash;
- Can control render processes and turn off the unanswerable processes.
But can be some problems:
- Version compatibility
The original idea was posted here
What we need to test:
- If is possible to integrate browser functionality in U++ and wrap only the "RenderViewHost".
- If is possible to get Chrome version and other details via IPC.
Any advice are welcome!
Interesting links can be:
- http://www.chromium.org/developers/design-documents/multi-pr ocess-architecture
- http://code.google.com/p/chromiumembedded/
-
Attachment: arch.png
(Size: 23.78KB, Downloaded 3162 times)
[Updated on: Tue, 29 March 2011 18:54] Report message to a moderator
|
|
|
|
Re: Chromium embedded in U++ [message #31835 is a reply to message #31831] |
Wed, 30 March 2011 11:12 |
|
mirek wrote on Wed, 30 March 2011 10:55 | I guess it would much more useful to integrate webkit... (which was proposed in the past, but never really done).
|
Using chromium renderer is almost the same integrating webkit... you get the same engine plus few cool features as a bonus. The question here is what is simpler to do.
I know I have been talking about webkit integration a lot, but never wrote any code (apart from JavaScriptCore). The main reason why I never started is that I know I don't have enough time to dive into the webkit codebase for several months What Ion proposes could shorten that time, so it is IMHO worthed to think about it.
Honza
|
|
|
Re: Chromium embedded in U++ [message #31838 is a reply to message #31831] |
Wed, 30 March 2011 16:44 |
|
mirek wrote on Wed, 30 March 2011 11:55 |
I guess it would much more useful to integrate webkit... (which was proposed in the past, but never really done).
|
Mirek,
What about V8 JavaScript performance, WebGL accelerate, etc.?
Your idea is to implement a lot of hard work what Google already done and tested.
Or I'm wrong?
|
|
|
Re: Chromium embedded in U++ [message #31839 is a reply to message #31835] |
Wed, 30 March 2011 17:18 |
|
Thanks to Honza for hint to analyze Google Chrome Frame. It is included in Internet Explorer Browser and communicate via IPC.
It seems that IE plug-in runs already reduced render chrome process. by command line: "C:\Program Files\Google\Chrome Frame\Application\chrome.exe" --automation-channel=ChromeTestingInterface:4544.1 --chrome-frame --no-first-run --disable-popup-blocking --user-data-dir="C:\Documents and Settings\ilupascu\Local Settings\Application Data\Google\Chrome Frame\User Data\iexplore" --chrome-version=12.0.712.0 --lang=en-US --flag-switches-begin --flag-switches-end
The interesting part: Is possible to compile google Chrome frame in other OS?
|
|
|
Re: Chromium embedded in U++ [message #31840 is a reply to message #31839] |
Wed, 30 March 2011 17:48 |
|
It is not very likely that Chrome Frame could be compiled under non-windows systems, but even looking at the code can give us a lot of information. Ion, did you look how does the architecture work? I assume that the chrome.exe provides just UI etc. and the rendering is separated in the renderer processes, is that right? If yes, we could just copy the interface and wrap it in U++...
Honza
|
|
|
|
|
|
Re: Chromium Embedded Framework (CEF) [message #35013 is a reply to message #35012] |
Wed, 28 December 2011 10:41 |
|
xtradev wrote on Wed, 28 December 2011 09:50 | There is an interesting project on Google Code: Chromium Embedded Framework (a framework for embedding chromium browser windows in other applications). Please, look at it.
- Roman
|
Hi Roman,
Welcome to the forum
I am following the development of this project quite closely, but for some reason I have trouble building it on my Arch linux box. Any help would be more than welcome, if you ever tried to build it...
It looks like a promising tool that could allow easy webkit integration into U++ (by "easy" I mean orders of magnitude easier than starting with vanilla webkit or chromium sources).
Best regards,
Honza
|
|
|
|
Re: Chromium Embedded Framework (CEF) [message #35021 is a reply to message #35012] |
Thu, 29 December 2011 15:40 |
|
Hello,
This solution, I think, is not the right solution which should be.
A better solution is to "run" already installed chromium browser and communicate throw IPC. In theory is possible. In practice I didn't tested because I work 120% in a project.
xtradev wrote on Wed, 28 December 2011 10:50 | There is an interesting project on Google Code: Chromium Embedded Framework (a framework for embedding chromium browser windows in other applications). Please, look at it.
- Roman
|
|
|
|
Re: Chromium Embedded Framework (CEF) [message #35029 is a reply to message #35021] |
Fri, 30 December 2011 11:33 |
|
tojocky wrote on Thu, 29 December 2011 15:40 | This solution, I think, is not the right solution which should be.
A better solution is to "run" already installed chromium browser and communicate throw IPC. In theory is possible. In practice I didn't tested because I work 120% in a project.
|
I'm afraid that in most cases relying that chromium is installed on the end user system (and has correct version) is not very good idea. CEF is just a library that can be packaged and shipped with your application easily, so you always know that your html rendering will work everywhere.
Honza
|
|
|
Re: Chromium embedded in U++ [message #36571 is a reply to message #31831] |
Sun, 10 June 2012 17:13 |
|
mirek wrote on Wed, 30 March 2011 10:55 |
tojocky wrote on Tue, 29 March 2011 12:46 | Hello All,
I propose to integrate Google Chrome (Chromium) browser in U++.
The idea is: U++ application process will run the original Chrome browser process and communicate via IPC (Inter Process Communication).
Let look to Google process architecture:
I hope we need to integrate in U++ only Browser process functionality and wrap RenderViewHost. Render processes will be original Chrome executable(s).
What is good:
- Cross-OS browser in U++;
- The U++ application file size will be less than all Chrome functionality;
- The hard work of the browser will be in separate process - render (Google chrome or Chromium);
- The compile time and hardware requirements for compile will be less (not minim 4 gb of RAM);
- The stability will not be lost in case of browser crash;
- Can control render processes and turn off the unanswerable processes.
But can be some problems:
- Version compatibility
The original idea was posted here
What we need to test:
- If is possible to integrate browser functionality in U++ and wrap only the "RenderViewHost".
- If is possible to get Chrome version and other details via IPC.
Any advice are welcome!
Interesting links can be:
- http://www.chromium.org/developers/design-documents/multi-pr ocess-architecture
- http://code.google.com/p/chromiumembedded/
|
I guess it would much more useful to integrate webkit... (which was proposed in the past, but never really done).
|
The information is very interesting. Thanks for sharing the info.
|
|
|
Re: Chromium embedded in U++ [message #36573 is a reply to message #36571] |
Sun, 10 June 2012 19:32 |
|
wokari wrote on Sun, 10 June 2012 18:13 |
The information is very interesting. Thanks for sharing the info.
|
You are welcome.
Unfortunately I didn't had a real task to embed a browser in C++... and also I didn't had time for testing this one.
Looking in the Chromium source-code, IPC and display part (browser) is too close/dependent to all the code.
To simplify the things, I would propose to use libuv for IPC and to parse and display data on the C++ layout.
Mirek had proposed to use WebKit but I'm afraid that this is a lot of work. Mirek looks from stability and dependents point of view.
Also you are welcome to share your ideas and your work.
Ion.
|
|
|
Goto Forum:
Current Time: Sat Sep 21 04:58:26 CEST 2024
Total time taken to generate the page: 0.07590 seconds
|
|
|