Embedding/IPCLiteAPI: Difference between revisions

 
(12 intermediate revisions by the same user not shown)
Line 31: Line 31:
     embedapp->Start(EmbedLiteApp::EMBED_THREAD/PROCESS);
     embedapp->Start(EmbedLiteApp::EMBED_THREAD/PROCESS);


   [https://github.com/romaxa/mozilla-central/blob/embedlite/embedding/embedlite/tests/embedLiteCoreInitTest.cpp Core Embed Initialization example]
   [https://github.com/tmeshkova/gecko-dev/blob/embedlite/embedding/embedlite/tests/embedLiteCoreInitTest.cpp Core Embed Initialization example]


  6. After EmbedLiteAppListener[Derived] received "Initialized" notification, new EmbedLiteView can be created with:
  6. After EmbedLiteAppListener[Derived] received "Initialized" notification, new EmbedLiteView can be created with:
Line 38: Line 38:
     view->SetListener(MyEmbedLiteViewListener);
     view->SetListener(MyEmbedLiteViewListener);
   
   
   [https://github.com/romaxa/mozilla-central/blob/embedlite/embedding/embedlite/tests/embedLiteViewInitTest.cpp View Embed Initialization example]
   [https://github.com/tmeshkova/gecko-dev/blob/embedlite/embedding/embedlite/tests/embedLiteViewInitTest.cpp View Embed Initialization example]


   
   
Line 51: Line 51:
== [https://bugzilla.mozilla.org/show_bug.cgi?id=746800 BMO Bug 746800(OMTC)]  ==
== [https://bugzilla.mozilla.org/show_bug.cgi?id=746800 BMO Bug 746800(OMTC)]  ==


== Build instructions: ==
== Development Build instructions: ==
 
Clone repository with submodules structure
 
<pre>
git clone git://github.com/tmeshkova/xulrunner-package.git
</pre>
 
Build it with simple script run:
<pre>
cd xulrunner-package
 
# Pull all latest changes
./pull.all.sh
 
# Not after each pull.all especially after major engine updates it make sense to do rm -f objdir-xxxx-xxx/full_*
 
# Check list of available options
./build.sh -h
 
# Haramttan
./build.sh -t harmattan
 
# Fremantle
./build.sh -t fremantle
 
# Desktop - Qt is default
./build.sh -t desktop
 
# For debug builds add -d argument
 
After build is finished you fill see inline message about how to run test UI
You can also export SWRENDER=1 - if your desktop or device does not support HW acceleration
 
 
</pre>
 
== Packaged Build instructions (debian desktop, N9): ==
 
Clone repositories
 
<pre>
mkdir ~/mozembed
cd ~/mozembed
# Gecko Engine with EmbedLite API
git clone git://github.com/tmeshkova/gecko-dev.git
 
# Embedlite toolkit independent components (History,prompt et.c.)
git clone git@github.com:tmeshkova/embedlite-components.git
 
# qtmozembed - Qt wrapper library around EmbedLite API for quick integration into QML.
git clone git@github.com:tmeshkova/qtmozembed.git
 
# qmlmozbrowser UI application which works as simple reference UI
git clone git@github.com:tmeshkova/qmlmozbrowser.git
</pre>
 
Build with dpkg-buildpackage
<pre>
cd ~/mozembed/mozilla-central
dpkg-buildpackage -us -uc -b -nc
dpkg -i ../xulrunner*.deb
 
cd ~/mozembed/embedlite-components
dpkg-buildpackage -us -uc -b -nc
dpkg -i ../embedlite-components*.deb
 
cd ~/mozembed/qtmozembed
dpkg-buildpackage -us -uc -b -nc
dpkg -i ../libqtmozembed*.deb
 
cd ~/mozembed/qmlmozbrowser
dpkg-buildpackage -us -uc -b -nc
dpkg -i ../qmlmozbrowser*.deb
</pre>
 
# Simple test to check
<pre>
/usr/lib/xulrunner-21.0a1/embedLiteCoreInitTest
</pre>
 
# For development it is better to link xulrunner objdir to system (on desktop or on device with ~/mozembed mounted via NFS)
<pre>
<pre>
git clone git://github.com/tmeshkova/mozilla-central.git
cd ~/mozembed/mozilla-central
cd mozilla-central
./link_to_system.sh obj-xr-qt /usr
git checkout embedlite
# for embedlite-components, qtmozembed, qmlmozbrowser just run
./link_to_system.sh
</pre>


cp embedding/embedlite/config/mozconfig.gtkdesktop  mozconfig
Finally run test example:
# or
<pre>
# for harmattan
qmlMozEmbedTest -url about:license
# cp embedding/embedlite/config/mozconfig.qtN9-qt mozconfig
MOZCONFIG=$(pwd)/mozconfig make -f client.mk build_all
</pre>
</pre>


Line 90: Line 171:
./qmlMozEmbedTest -url linux.org.ru
./qmlMozEmbedTest -url linux.org.ru


</pre>
=== Troubleshooting: ===
* If embedding does not start and libxul.so location differs from what has been used while building QtMozEmbed, then export path to GRE_HOME (path to folder with libxul.so)
<pre>
ex: export GRE_HOME=/opt/mozilla/xulrunner
</pre>
</pre>


Confirmed users
180

edits