maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   MeeGo / Harmattan (https://talk.maemo.org/forumdisplay.php?f=45)
-   -   Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast! (https://talk.maemo.org/showthread.php?t=85191)

wolke 2013-01-16 00:32

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
broken links

https://wiki.mozilla.org/Embedding/IPCLiteAPI

http://romaxa.info/mer/mozbuildhm.tar.gz
http://romaxa.info/mer/mozbuild.tar.gz

they both point to wrong places in the actual document {http://romaxa.info/fennec/MozEmbeddingHarmattan and http://romaxa.info/fennec/MozEmbeddingMerArm}

shmerl 2013-01-16 00:42

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Fixed that.

romaxa 2013-01-16 00:43

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by freemangordon (Post 1315302)
So far the only dependency to Qt 4.8 is:

Code:

QApplication::setAttribute(Qt::AA_X11InitThreads, true);
which is easily replaceable with:
Code:

.
.
.
#if defined(Q_WS_X11)
#include <X11/Xlib.h>
#endif
.
.
.

#if QT_VERSION >= 0x040800
    QApplication::setAttribute(Qt::AA_X11InitThreads, true);
#else
    XInitThreads();
    QApplication::setAttribute(static_cast<Qt::ApplicationAttribute>(10), true);
#endif

Of course -lX11 should be added to make scripts too

@romaxa - would you consider adding that code to your branch?

Yep, that make sense. I guess it also make sense to figure out some bug tracking system, probably simple is enough... also grant access to repository to people who willing to contribute...

Makeclick 2013-01-16 05:24

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
So.. We will get new "SuperFox" (this combined with Firefox) to harmattan and maybe on Maemo too? :O

freemangordon 2013-01-16 07:55

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Well, Fremantle version will take a while :)

Code:

Nokia-N900:/opt/maemo/usr/local/lib/fennec-21.0a1$ gdb ./qmlMozEmbedTest
GNU gdb (GDB) 6.8.50.20090417-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
(gdb) r
Starting program: /opt/maemo/usr/local/lib/fennec-21.0a1/qmlMozEmbedTest
int main(int, char**) Warning! Running without booster. This may be a bit slower.
Preloading theme "base" from cache
EmbedLiteExt QGraphicsMozView:QGraphicsMozView:238:
greHome from PWD:/opt/maemo/usr/local/lib/fennec-21.0a1
Created LOG for EmbedLiteTrace
EmbedLiteExt QDeclarativeMozView:updateContentsSize:108: sz:[800,0]
EmbedLiteExt QDeclarativeMozView:updateContentsSize:108: sz:[800,600]
QML On Completed>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>Func:virtual bool QGraphicsMozView::event(QEvent*)::453 Event Hide
>>>>>>Func:virtual bool QGraphicsMozView::event(QEvent*)::449 Event Show
Starting Application!!!
Found SGX/MBX driver, enabling FullClearOnEveryFrame
Found v1.3 driver, enabling brokenFBOReadBack
>>>>>>Func:virtual bool QGraphicsMozView::event(QEvent*)::449 Event Show
EmbedLiteExt ExecuteChildThread:56:
Loaded xulDir:/opt/maemo/usr/local/lib/fennec-21.0a1/libxpcom.so, appDir:/opt/maemo/usr/local/lib/fennec-21.0a1
Created LOG for EmbedLite
EmbedLiteExt setDefaultPrefs:87:

###!!! [Child][AsyncChannel] Error: Processing error: message was deserialized, but the handler returned false (indicating failure)

EmbedLiteExt QGraphicsMozView:onInitialized:270:
QPixmap: It is not safe to use pixmaps outside the GUI thread
[New LWP 5346]

Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 5346]
0x44d94352 in ?? () from ./libxul.so
0x44d94352:    ldr    r3, [r0, #0]
(gdb) bt
#0  0x44d94352 in ?? () from ./libxul.so
#1  0x44795cde in ?? () from ./libxul.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

Nevertheless, I'll debug into this.

EDIT:
seems Qt in Fremantle is missing this patch:
https://bzattachment.mandriva.com/at...t.cgi?id=18754

Makeclick 2013-01-16 08:19

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by freemangordon (Post 1315364)
Well, Fremantle version will take a while :)

But... The Harmattan will :)? Can we get flash working with it too? It's fine without, but just asking.

freemangordon 2013-01-16 08:27

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by Makeclick (Post 1315366)
But... The Harmattan will :)? Can we get flash working with it too? It's fine without, but just asking.

I have NFC if stock Qt in Harmattan has this patch backported from 4.8. However, flash should work OOTB, after all this is fennec without xul AIUI.

reinob 2013-01-16 08:47

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by thedead1440 (Post 1315099)
Either cd to dest dir first or export lib path...

You have to use LD_LIBRARY_PATH. This is not Windows. In Unix/Linux, unless you explicitly add the current directory (".") to the PATH/LD_LIBRARY_PATH, it will *NOT* be searched.

And it's a good thing that it was designed like that.

reinob 2013-01-16 08:51

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by qwazix (Post 1315283)
@freemangordon in my understanding the philosophy behind qml is "disposable UI's". As there are no ifdefs in qml it's better to just build two of them. Maybe two git branches with a common base would be the way to go.

Even if everything works perfectly from one platform to another, the import statements are enough to break everything.

Thank god QML was designed to be portable. QT has already become the new Java.

thedead1440 2013-01-16 08:55

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by reinob (Post 1315372)
You have to use LD_LIBRARY_PATH. This is not Windows. In Unix/Linux, unless you explicitly add the current directory (".") to the PATH/LD_LIBRARY_PATH, it will *NOT* be searched.

And it's a good thing that it was designed like that.

That's what I meant... Did I imply Windows unknowingly? :confused:

reinob 2013-01-16 09:45

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by thedead1440 (Post 1315375)
That's what I meant... Did I imply Windows unknowingly? :confused:

It was the "or" that I didn't like (cd _or_ use LD_LIBRARY PATH). Should have been an "and".

Windows implicitly adds "." when searching executables or libraries, and a lot of people expect that Linux will behave that way as well. Hence my comment.

thedead1440 2013-01-16 10:04

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by reinob (Post 1315391)
It was the "or" that I didn't like (cd _or_ use LD_LIBRARY PATH). Should have been an "and".

Windows implicitly adds "." when searching executables or libraries, and a lot of people expect that Linux will behave that way as well. Hence my comment.

Ah; didn't know that as I've never really done such a thing on Windows :o

I meant what you had implied but yeah the message can be confusing... Apologies for that...

Morpog 2013-01-16 21:25

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by Morpog (Post 1315301)
I've got some great ideas for UI, will share them tomorrow.

Concept will take a lot longer to do than I expected. On weekend I got more time for it. Meanwhile three teasers:

http://www.abload.de/thumb/unbenannt-1ncq2r.jpg

b-rockSA 2013-01-16 21:39

Excited for the final build. Any beta .deb files coming soon?

Vromoth 2013-01-16 21:40

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Nice work! Just a suggestion though, with the multitabs, they tend to take up a lot of space. So it would be good if they only appeared when you held down the menu button instead of being there all the time.

Morpog 2013-01-16 21:44

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
You should know that I can't code at all, so this is just graphical artwork based on my ideas.

Oh and no, those tabs would not be showed all the time. Wait for the video where it's animated to see how it will work ;)

sandy_locke 2013-01-16 21:51

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by Morpog (Post 1315581)
Concept will take a lot longer to do than I expected. On weekend I got more time for it. Meanwhile three teasers:

http://www.abload.de/thumb/unbenannt-1ncq2r.jpg

Neat :) Can't wait to see it on our N9's !

You should do sth for the "X" to close the tabs though. Make it more integrated. Other than that it's very good.

Did dev's say sth about putting your work inside the code ? Hope it will happen !

Morpog 2013-01-16 21:56

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Well, I just showed it 10 mins ago. Hopefully a coder picks the ideas up or contacts me to get the job done together.

Maybe the coders got even better ideas than I do, or just dislike mine :-)
Let's see what happens. But I will continue working on the concept, so hopefully I can get it done on weekend.

ashish 2013-01-16 23:03

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
I work with mozilla engine day in and day out. I can help. How do I?

shmerl 2013-01-16 23:10

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
I actually like implementation of current XUL Fennec tabs, which shows previews of each tab in the pane which you can pull from the side. I didn't see anything neater than that yet.

shmerl 2013-01-16 23:14

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Originally Posted by ashish (Post 1315614)
I work with mozilla engine day in and day out. I can help. How do I?

You can try building Mozilla with Mer SDK and see what needs fixing there (for example WebRTC doesn't build as of now). Try running the result on some actual device (some useful targets can be for example Nemo/N900, Nemo/N9 and PlasmaActive/Nexus7). Building IPCLite is a similar process (you can check it out from Romaxa's repo). Building/testing the whole thing with Qt5 would be also good.

sandy_locke 2013-01-16 23:42

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Previews on the side is certainly harder to implement imho, although I like it too. I'm curious to watch Morpog's video to see how the tabs appear. Alternatives are alway nice :)

@shmerl : wait, you mean one needs Nemo to have Qt based Firefox on N9 and N900 ?

Morpog 2013-01-16 23:45

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
No, reread the thread, you can run QML Firefox now on your N9 with a very minimalistic UI.

shmerl 2013-01-16 23:48

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
sandy_locke: Mer/Nemo or Mer/PA are just good environments to test stuff if you are building Mozilla tree with Qt, and Mer SDK is rather easy to set up and it's up to date tools wise and maintained by the community. It's also shared by all Mer based projects, so you don't need to adjust it too much for each target (most probably armv7hl build will work on both Nemo and PlasmaActive, though you can set up both targets in Mer SDK).

If you need to work with Harmattan or Fermantle - you can probably do that their way, but it's not necessary, unless you specifically want to build for them. (We are talking about building Mozilla tree itself, not about just writing the QML UI for embedlite).

sandy_locke 2013-01-16 23:54

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Ah ok, thanks. So a Mer build can be adjusted easily for Harmattan or Fremantle by tweaking some code ? Sorry but I'm fairly new with my freshly bought N9 and am just discovering all the possibilites, so I'm still not really sure what exactly is the link between Mer and Fremantle&Meego... for now I assume it's a fork taken back by a larger community to build Jolla and other OS's.

shmerl 2013-01-16 23:59

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
The code presumably doesn't need tweaking. Or at least not supposed to. What you need to set up is mostly your build environment and your mozconfig.

For MerSDK - see https://wiki.mozilla.org/How_To_Buil...c_with_Mer_SDK
For Harmattan you need to use its own SDK: https://wiki.mozilla.org/How_To_Buil..._Harmattan_SDK

I think Harmattan SDK in general isn't maintained anymore (so don't expect tools upgrades there - it's in the frozen state). It's basically Nokia's legacy build system.

Mer SDK is updated regularly - Mer is not associated with Nokia, it's a community project. Jolla's Sailfish is based on Mer, so you will be able to use Mer SDK for it as well.

If you are a bit fuzzy about history, here is the short version:
Nokia had Maemo project, which they decided to merge with Intel's Mobiln. They created the Meego project. Meanwhile they released N9 with Harmattan OS, which isn't exactly Meego, but it's their Maemo in transition to Meego (in some intermediate state which is really closer to Maemo than to Meego). After that Nokia basically dropped the whole thing. Community forked some parts of Meego (not Harmattan - that's important), and created a Mer project which is a core distribution. Now other projects like Nemo (which also inherits Meego Handset subproject), Plasma Active and Sailfish use Mer as their base.

So on N9 you can either run Harmattan which Nokia ships with it, or you can install Mer based Nemo OS there. If you use the device only for development and testing, rather than everyday use - I'd recommend using Nemo, since you essentially train how to use Mer SDK and it'll be helpful for the upcoming Sailfish.

But if you use it as your primary device, Harmattan is still probably more useful.

Kozzi 2013-01-18 18:25

I really hope that instead of using tabs, this browser will implement N9's default browser style instead, this time with real time thumbnails instead of blank page while loading. Configurations will be added directly into system Settings and with first page similar to the one posted by Morpog but with swiping left to get bookmarks , i.e
1. Run browser
2. Top sites and history show upes
3. Swipe left to get to Bookmarks, right to go back to Top sites.

coderus 2013-01-18 20:13

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
asked for desktop shorcut, so here is script for launching Fennec from shortcut:
Code:

#!/bin/sh
#mozlauncher.sh
url=$1
cd /home/user/mozbuildhm
export LD_LIBRARY_PATH=./
if [ "$url" = "" ]; then url="http://www.google.ru/firefox"; fi
./qmlMozEmbedTest -url $url

Code:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Name=Fennec
Icon=/home/user/mozbuildhm/fennec.png
Exec=/home/user/mozbuildhm/mozlauncher.sh %U
X-Window-Icon=
X-HildonDesk-ShowInToolbar=true
X-Osso-Type=application/x-executable


shmerl 2013-01-20 00:24

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Tabs are good to have, but not in the manner of a desktop browser, rather like XUL Fennec tabs with preview.

By the way - bad news. Mozilla decided to kill XUL Fennec off, since they are too engrossed in Android:

https://bugzilla.mozilla.org/show_bug.cgi?id=831236

Looks like IPC embedlite remains the only option for normal mobile Linux to use Gecko.

n950 2013-01-20 04:08

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
How to install flash plugin with it (to read some video on internet) or is it already installed?

coderus 2013-01-20 05:19

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
@shmerl sadly !
@romaxa !?

Morpog 2013-01-20 15:14

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
I posted the UI-Concept here:
http://talk.maemo.org/showthread.php...92#post1316092


If any coder is interested feel free to contact me for artwork.


Teaser picture ;)
http://www.abload.de/img/01-maemouqinq.jpg

coderus 2013-01-20 16:08

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
i'm interesting in Fennec future.
read #149 post

Morpog 2013-01-20 16:19

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
I don't see the problem, as romaxas qml firefox isn't based on xul fennec.

n950 2013-01-20 16:32

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
How can I resolve this error please?

http://img11.hostingpics.net/pics/642525error.jpg

Thanks in advance

coderus 2013-01-20 17:20

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
@n950 use copy/paste, don't be noob with screenshots.
and the solution few pages ago.
@Morpog really? check package, it using xulrunner.

coderus 2013-01-20 17:22

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
about:config page isn't clickable...

Edit: all about: pages isn't clickable.

Morpog 2013-01-20 17:32

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
Quote:

Oleg Romashin (:romaxa) 2013-01-16 08:19:34 PST >
romaxa, are you still keeping XUL Fennec for Meego up to date?

No, I don't, currently I'm using mobile/android and b2g code in order to create embedding base for building meaningful Mozilla browser with native UI for other platforms.

Also xulrunner isn't a mobile only application. Desktop UI is still based on XUL.

shmerl 2013-01-20 19:59

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
coderus: IPC embedlite is not affected by that decision. As well as XULrunner. It's only about closing XUL Fennec (mobile branch). It's the one you could compile with Qt for normal mobile Linux (not Android) like Harmattan, Nemo and Plasma Active. It's still bad, since it limits our options. But supporting it, with keeping UI up to date and in sync with Android Firefox is an enormous task and Mozilla is not interested in doing it at all.

Makeclick 2013-01-20 20:35

Re: Qt based Fennec (Firefox) - IPCLiteAPI - Hell it's fast!
 
I want it now! :)


All times are GMT. The time now is 08:11.

vBulletin® Version 3.8.8