source: x/lib/qtwebengine.xml@ 00032e41

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 00032e41 was 00032e41, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Tag qtwebengine and add a warning.
This is the largest BLFS package. It can overload system memory
if all cores are used. Add a warning about this.

Note: Build failed at about the 90% point on a system with 24 cores
and 32 GB of RAM + 2 GB of swap due to out-of-memory. The
solution is to limit cores with NINJAJOBS ir add RAM or swap space.

  • Property mode set to 100644
File size: 26.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY qtwebengine-major "5.15">
8<!-- URL if there is a public release
9 <!ENTITY qtwebengine-download-http "https://download.qt.io/archive/qt/&qtwebengine-major;/&qtwebengine-version;/submodules/qtwebengine-everywhere-src-&qtwebengine-version;.tar.xz">
10 URL for a prepared git version -->
11 <!ENTITY qtwebengine-download-http "&sources-anduin-http;/qtwebengine/qtwebengine-&qtwebengine-version;.tar.xz">
12 <!ENTITY qtwebengine-download-ftp " ">
13 <!ENTITY qtwebengine-md5sum "af799617842cca0b765102c312fbdd46">
14 <!ENTITY qtwebengine-size "306 MB">
15 <!ENTITY qtwebengine-buildsize "5.1 GB (154 MB installed)">
16 <!ENTITY qtwebengine-time "97 SBU (typical, Using parallelism=4)">
17]>
18
19<sect1 id="qtwebengine" xreflabel="qtwebengine-&qtwebengine-version;">
20 <?dbhtml filename="qtwebengine.html"?>
21
22 <sect1info>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>QtWebEngine-&qtwebengine-version;</title>
27
28 <indexterm zone="qtwebengine">
29 <primary sortas="a-qtwebengine">qtwebengine</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to QtWebEngine</title>
34
35 <para>
36 <application>QtWebEngine</application> integrates
37 <application>chromium</application>'s web capabilities into Qt. It
38 ships with its own copy of ninja which it uses for the build if it cannot
39 find a system copy, and various copies of libraries from ffmpeg, icu,
40 libvpx, and zlib (including libminizip) which have been forked by the
41 <application>chromium</application> developers.
42 </para>
43
44 <para>
45 This package and browsers using it may be useful if you need to use a
46 website designed for google chrome, or chromium, browsers.
47 </para>
48
49 <!-- Note for editors re switching between git versions and releases:
50 If a public release of Qt 5.15.3 (or later) appears in a meaningful
51 time frame, please keep the notes re the git build, as comments, so
52 that updating for later fixes will be easier: in the past, updates
53 of 'stable' versions (i.e. 5.12 when 5.14, 5.15 were the newest)
54 happened much later than updates to the newest version (now Qt6)
55 and it seems likely we might again need to use a git version to fix
56 future chromium vulnerabilities. -->
57
58 <warning>
59 <para>
60 QtWebEngine uses a forked copy of chromium, and is therefore vulnerable
61 to many issues found there. The Qt developers have always preferred to
62 make releases at the same time as the rest of Qt (rather than adding
63 emergency fixes), but with stable versions getting released after the
64 current development version. Now that they are keen to move to Qt6, the
65 5.15.3 and later Qt-5.15 releases are initially only available to paying
66 customers. QtWebEngine is something of an exception because of its LGPL
67 licence, but getting the git sources (with the forked chromium submodule)
68 to a position where they will successfully build on a current BLFS system
69 can take a lot of effort and therefore updates to the book may be delayed.
70 </para>
71
72 <para>
73 It seems likely that future 5.15-series versions will also be released
74 long after the chromium vulnerabilities are known, but fixes for
75 QtWebEngine can be found in git and the editors take the view that
76 known vulnerabilities in browsers should be fixed.
77 </para>
78
79 <para> <!-- for git versions -->
80 The tarball linked to below was created from the 5.15.6 git branch
81 and the 87-branch of the chromium submodule (which is forked from
82 chromium). See the GIT-VERSIONS file in the tarball (after applying
83 any patches) for details of the latest commits.
84 </para>
85 </warning>
86
87 <!-- note for editors on obtaining webengine from git.
88 First (if you do not already have a past version)
89 git clone git://code.qt.io/qt/qtwebengine.git
90 git submodule init -
91 that will report qtwebengine-chromium.git registered for src/3rdparty
92 now find the main branch names:
93 git fetch origin
94 git branch -r
95 after a release is prepared (even if the rest is not public), the 5.15
96 branch now seems to get updated and might be what you want. But in the
97 approach to 5.15.6 the backported CVE and other security fixes were only
98 applied to 5.15.6. So, assuming that a 5.15.7 branch now exists,
99 git checkout origin/5.15.7
100 Confirm that HEAD is where you expected.
101 Now go to src/3rdparty
102 git fetch origin
103 git branch -r
104 The required branch is likely to be 87-branch unless there is a newer one
105 mentioned in the 5.15 cgit web page (below).
106 git checkout origin/87-branch (or whatever)
107 Use git log or git tk to look at its HEAD and check it seems appropriate.
108
109 To decide when it might be worth creating a new tarball, periodically keep
110 an eye on https://code.qt.io/cgit/qt/qtwebengine.git/ (currently, the 5.15.6
111 branch, 5.15.7 might get used later). The interesting items are CVE fixes
112 for known chromium vulnerabilities, as well as numbered Security bugs -
113 again, these relate to chromium.
114
115 When I noticed some updates in late March I was searching for one of the
116 CVEs mentioned, and google found a link to a review page for Michael Brüning
117 at https://codereview.qt.nokia.com/q/owner:michael.bruning%2540qt.io. At that
118 time I could see various unmerged items, so I waited. The items for the
119 90-based chromium module are not relevant to 5.15-series (possibly they will
120 be for qtwebengine-6+). Review queues for other Qt employees might be found
121 in a similar way, but remember that everythng EXCEPT qtwebengine and chromium
122 is private to Qt until they choose to release it.
123
124 NOTE: the 3rdparty/chromium tree may contain more patches than have been
125 merged into the current 5.15.x branch. Any patches after what was in the
126 last 'update chromium' merge in qtwebengine occasionally break the build.
127
128 After merging the contents of the qtwebengine and src/3rdparty git extracts,
129 in the top level please create a GIT-VERSIONS file summarising the HEAD
130 commits of both parts, as a reminder of where we are up to. I've nove added
131 a CVE-fixes to keep track of what has been fixed (comits before 5.15.2 did not
132 mention the CVEs until they were detailed in a release).
133
134 Now create tarballs - 'git archive' does not work across submodule boundaries,
135 so you need to create one archive from the top of qtwebengine/ and another
136 from the top of src/3rdparty (chromium, gn, ninja are apparently all part of
137 the qtwebengine-chromium module). Then in a work area untar the qtwebengine
138 tarball, go down to src/3rdparty and untar the submodule tarball.
139 Decide on what to call the result and create a full xz tarball using tar -cJf.
140
141 UPDATE: Since we have to host the tarball, and it is over 300MB, it makes
142 sense to create a patch for subsequent fixes (for the first version, 314KB
143 including the updates to the GIT-VERSIONS file). For future updates, view
144 the current updates patch to see the previous commits. When the new commits
145 have been applied, rename the updated version to 'b', but untar the
146 unpatched tarball as 'a' and then diff a to b in the usual manner to get
147 all updates since the tarball was created.
148
149 For our own releases, probably best to create a fresh tarball.
150
151 end of note for editors -->
152
153 &lfs110a_checked;
154
155 <warning>
156 <para>
157 By default, ninja will use all online CPUs +2 (if at least 4 exist),
158 even if they are not available to the current task because the build
159 terminal has been restricted with 'taskset'. In BLFS, this package
160 takes more time to build than than any other. In one example,
161 the build of this package crashed at about the 90 percent point
162 due to an out of memory problem on a system with 24 cores and 32 GB
163 of memory.
164 </para>
165
166 <para>
167 To work around this, see the Command Explanations below.
168 </para>
169 </warning>
170
171 <note>
172 <para>
173 Unusually, the shipped GN build system (used to create the Ninja files)
174 requires a static <filename class="libraryfile">libstdc++.a</filename>
175 although the installed libraries correctly use the shared version. If
176 that static library is not present, the build will fail quite quickly.
177 Please note that if you try to build webengine as part of
178 <application>Qt</application> and the static library is not available,
179 that build will either complete without installing webengine, or else
180 fail during the install (both variants were observed in 5.12.0).
181 </para>
182 </note>
183
184 <bridgehead renderas="sect3">Package Information</bridgehead>
185 <itemizedlist spacing="compact">
186 <listitem>
187 <para>
188 Download (HTTP): <ulink url="&qtwebengine-download-http;"/>
189 </para>
190 </listitem>
191 <listitem>
192 <para>
193 Download (FTP): <ulink url="&qtwebengine-download-ftp;"/>
194 </para>
195 </listitem>
196 <listitem>
197 <para>
198 Download MD5 sum: &qtwebengine-md5sum;
199 </para>
200 </listitem>
201 <listitem>
202 <para>
203 Download size: &qtwebengine-size;
204 </para>
205 </listitem>
206 <listitem>
207 <para>
208 Estimated disk space required: &qtwebengine-buildsize;
209 </para>
210 </listitem>
211 <listitem>
212 <para>
213 Estimated build time: &qtwebengine-time;
214 </para>
215 </listitem>
216 </itemizedlist>
217
218 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
219 <itemizedlist spacing="compact">
220 <listitem>
221 <para>
222 Required patch:
223 <!-- keep links for releases and git versions as a reminder
224 that the tarball names names differ
225 <ulink url="&patch-root;/qtwebengine-everywhere-src-&qtwebengine-version;-ICU68-2.patch"/> -->
226 <!--
227 <ulink url="&patch-root;/qtwebengine-&qtwebengine-version;-upstream_fixes-2.patch"/>
228 </para>
229 </listitem>
230 <listitem>
231 <para>
232 Required patch:-->
233 <ulink url="&patch-root;/qtwebengine-&qtwebengine-version;-build_fixes-1.patch"/>
234 </para>
235 </listitem>
236 </itemizedlist>
237
238 <bridgehead renderas="sect3">qtwebengine Dependencies</bridgehead>
239
240 <bridgehead renderas="sect4">Required</bridgehead>
241 <!-- the qmake output tends to be misleading. 'khr' is from Mesa -->
242 <para role="required">
243 <xref linkend="nodejs"/>,
244 <xref linkend="nss"/>,
245 <xref linkend="python2"/>, and
246 <xref linkend='qt5'/>
247 </para>
248
249 <bridgehead renderas="sect4">Recommended</bridgehead>
250 <note>
251 <para>
252 If these packages are not installed, the build process will compile and
253 install its own (perhaps older) version, with the side effect of
254 increasing build and installed disk space and build time.
255 </para>
256 </note>
257
258 <para role="recommended">
259 either <xref linkend="alsa-lib"/> or
260 <xref linkend="pulseaudio"/> (or both),
261 <xref linkend="ffmpeg"/>,
262 <!-- awkward wording - libxslt needs libxml2, if libxml2 is built
263 before icu then the *shipped* icu will be used -->
264 <xref linkend="icu"/> (built before <xref linkend="libxml2"/>) ,
265 <xref linkend="libwebp"/>,
266 <xref linkend="libxslt"/>, and
267 <xref linkend="opus"/>
268 </para>
269
270 <bridgehead renderas="sect4">Optional</bridgehead>
271 <para role="optional">
272 <xref linkend="libevent"/>,
273 <xref linkend="pipewire"/>,
274 <xref linkend="poppler"/>,
275 <ulink url="https://github.com/open-source-parsers/jsoncpp/releases">jsoncpp</ulink>,
276 <ulink url="https://github.com/cisco/libsrtp/releases">libsrtp</ulink>,
277 <ulink url="http://google.github.io/snappy/">snappy</ulink>
278 </para>
279
280 <para condition="html" role="usernotes">
281 User Notes: <ulink url="&blfs-wiki;/qtwebengine"/>
282 </para>
283 </sect2>
284
285 <sect2 role="installation">
286 <title>Installation of qtwebengine</title>
287
288 <note>
289 <para>
290 Unlike version 5.15.2, the chromium-derived build system now needs
291 <command>python</command> to be available and to be python2. In
292 BLFS-10.1 the creation of the python symlink was removed as a step
293 towards eventually getting rid of python2 (other old packages which
294 need python2 usually work by invoking python2). If you are still
295 using an earlier version of BLFS where
296 <filename>/usr/bin/python</filename> exists, you can skip the
297 commands to create the symlink, and to later remove it.
298 </para>
299 </note>
300
301 <para>
302 First, as the <systemitem class="username">root</systemitem>
303 user, create the python symlink:
304 </para>
305
306<screen role="root"><userinput>ln -svf /usr/bin/python{2,}</userinput></screen>
307
308<!-- retain, there might later be a patch rather than a full 306MB tarball
309 <para>
310 Now apply a patch for security and other fixes:
311 </para>
312
313<screen><userinput remap="pre">patch -Np1 -i ../qtwebengine-&qtwebengine-version;-upstream_fixes-2.patch</userinput></screen>-->
314
315 <para>
316 Apply apply a patch to fix several issues that can prevent the build working:
317 </para>
318
319<screen><userinput remap="pre">patch -Np1 -i ../qtwebengine-&qtwebengine-version;-build_fixes-1.patch</userinput></screen>
320
321<!-- start of commands for git versions only -->
322 <para>
323 Although the patch has ensured that git is not invoked during the build,
324 the build system has labyrinthine rules of byzantine complexity, and in
325 particular trying to build without two <filename>.git</filename> directories
326 will lead to it eventually falling into unexpected and unbuildable code
327 which references a private header that has not been created. Avoid this
328 by creating the required directories:
329 </para>
330
331<screen><userinput>mkdir -pv .git src/3rdparty/chromium/.git</userinput></screen>
332
333 <para>
334 Because this version of qtwebengine is aimed at a later release than the
335 current public releases, change it to build for qt-&qt5-version; using a
336 sed:
337 </para>
338
339<screen><userinput>sed -e '/^MODULE_VERSION/s/5.*/&qt5-version;/' -i .qmake.conf</userinput></screen>
340<!-- end of commands for git versions only -->
341
342 <para>
343 Now, ensure that the local headers are available when not building as
344 part of the complete <xref linkend="qt5"/>:
345 </para>
346
347<screen><userinput>find -type f -name "*.pr[io]" |
348 xargs sed -i -e 's|INCLUDEPATH += |&amp;$$QTWEBENGINE_ROOT/include |'</userinput></screen>
349
350 <para>
351 Next, allow the pulseaudio library to be linked at build time, instead
352 of run time. This also prevents an issue with newer pulseaudio:
353 </para>
354
355<screen><userinput>sed -e '/link_pulseaudio/s/false/true/' \
356 -i src/3rdparty/chromium/media/media_options.gni</userinput></screen>
357
358 <para>
359 Finally, fix a change in the build system which allows its developers to
360 pass e.g. -j20 to make (for quick tests of some areas) but breaks the
361 build with LFS's use of the NINJAJOBS environment variable:
362 </para>
363
364<!-- editors: See thread at
365http://lists.linuxfromscratch.org/pipermail/blfs-dev/2019-December/036996.html
366et.seq, particularly 037002.html which shows the commit near the end. -->
367
368<screen><userinput>sed -i 's/NINJAJOBS/NINJA_JOBS/' src/core/gn_run.pro</userinput></screen>
369
370<!-- now that we always install this as 5.15.2, this seems to be redundant
371 <para>
372 If an older version of the package's main library has been installed,
373 when the package is built separately it will link to that in preference
374 to its own not-yet-installed version, and fail because of missing symbols.
375 Prevent that by, as the <systemitem class="username">root</systemitem>
376 user, moving the symlink out of the way:
377 </para>
378
379<screen role="root"><userinput>if [ -e ${QT5DIR}/lib/libQt5WebEngineCore.so ]; then
380 mv -v ${QT5DIR}/lib/libQt5WebEngineCore.so{,.old}
381fi</userinput></screen>-->
382
383 <para>
384 Install <application>qtwebengine</application> by running the following
385 commands:
386 </para>
387
388<screen><userinput>mkdir build &amp;&amp;
389cd build &amp;&amp;
390qmake .. -- -system-ffmpeg -webengine-icu &amp;&amp;
391make</userinput></screen>
392
393<!--
394 <para>
395 if you wish to build the HTML documentation, issue:
396 </para>
397
398<screen><userinput>make docs</userinput></screen>
399-->
400 <para>
401 This package does not come with a test suite.
402 </para>
403
404 <para>
405 Now, as the <systemitem class="username">root</systemitem> user:
406 </para>
407
408<screen role="root"><userinput>make install</userinput></screen>
409
410 <!-- EDITORS NOTE: If you are updating this package, use INSTALL_ROOT=
411 instead of DESTDIR= -->
412<!--
413 <para>
414 If you built the HTML documentation, install it with:
415 </para>
416
417<screen role="root"><userinput>make install_docs</userinput></screen>
418-->
419 <para>
420 Remove references to the build directory from installed library
421 dependency (prl) files by running the following
422 commands as the <systemitem class="username">root</systemitem> user:
423 </para>
424
425<screen role="root"><userinput>find $QT5DIR/ -name \*.prl \
426 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
427
428 <para>
429 Finally, as the <systemitem class="username">root</systemitem>
430 user, remove the python symlink:
431 </para>
432
433<screen role="root"><userinput>rm -v /usr/bin/python</userinput></screen>
434 </sect2>
435
436 <sect2 role="commands">
437 <title>Command Explanations</title>
438
439 <para>
440 <command>qmake</command>: This will build the included copy of
441 <application>ninja</application> if it is not already installed
442 and use it to configure the build.
443 </para>
444
445 <para>
446 <command>-- -system-ffmpeg -webengine-icu</command>: If any options are
447 passed to qmake they must come after '--' which must follow '..' that points
448 to the main directory. The options here cause it to use system ffmpeg and
449 system icu. If built as part of full Qt5, the system icu is automatically
450 used (only) by Qt5Core if it is available, but unless this option is used
451 webengine will always use its shipped copy of icu, adding time and space
452 to the build.
453 </para>
454
455 <para>
456 <option>-webengine-jumbo-build 0</option>: If this is added to the qmake
457 command it will cause the 'Jumbo Build Merge Limit' to be reported as 'no'
458 instead of 8. That turns off the jumbo build. Some distros do that to get
459 a smaller build on some architectures such as MIPS. On x86_64 it might save
460 a little space in the build, but the build time will increase by a very
461 large amount.
462 </para>
463
464 <!--
465 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
466 href="../../xincludes/SIOCGSTAMP.xml"/>
467 -->
468
469 <para>
470 <option>NINJAJOBS=4 make</option>: If you patched system ninja in LFS to
471 recognize the NINJAJOBS environment variable, this command will run system
472 ninja with the specified number of jobs (i.e. 4).
473 There are several reasons why you might want to use options like this this:
474 </para>
475
476 <itemizedlist>
477 <listitem>
478 <para>
479 Building on a subset of CPUs allows measuring the build time
480 for a smaller number of processors, and/or running other
481 CPU-intensive tasks at the same time. For an editor on a machine
482 with a lot of CPUs, trying to measure the build time for a 4-CPU
483 machine, <option>NINJAJOBS=4 make</option> will give a reasonable
484 approximation (there is a short period where N+2 python2 and node
485 jobs run).
486 </para>
487 </listitem>
488 <listitem>
489 <para>
490 On a machine with only 4 CPUs online, the default of scheduling
491 N+2 jobsi for qtwebengine is slower by between 3% and 7%, probably
492 because of the size of the C++ files and their many includes and
493 templates. Therefore, if in doubt set NINJAJOBS to the number of CPUs.
494 </para>
495 </listitem>
496 <listitem>
497 <para>
498 Reducing the number of cores being used on long running, CPU
499 intensive packages may alleviate heat problems.
500 </para>
501 </listitem>
502 <listitem>
503 <para>
504 Reducing the number of cores will prevent potential out-of-memory
505 problems on systems that do not have enough memory (or swap)
506 when all cores are active. A suggested approach is to limit
507 the number of cores to about one core for each 1.5 GB of
508 combined RAM and swap space.
509 </para>
510 </listitem>
511 </itemizedlist>
512
513 </sect2>
514
515 <sect2 role="configuration">
516 <title>Configuring QtWebEngine</title>
517
518 <sect3 id="qtwebengine-config">
519 <title>Configuration Information</title>
520
521 <para>
522 If you are upgrading from an older minor version of this
523 application, for some webpages to load you may need to
524 clear the <emphasis>browser</emphasis> caches, e.g. for
525 <application>falkon</application> they will be found in
526 <filename class="directory">~/.cache/falkon/</filename>.
527 You will need to do this if the browser starts to render
528 the page and then changes to a blank tab with a message
529 that something went wrong, and a button to Retry. Even
530 after removing the old caches, you may need to retry a
531 few times for each affected tab.
532 </para>
533
534 <para>
535 If a browser using this package fails to run and when run
536 from a term it reports 'Trace/breakpoint trap' that is
537 probably a kernel configuration issue - there is no need
538 to rebuild QtWebEngine, see the next section, recompile
539 the kernel and reboot to the new kernel.
540 </para>
541
542 </sect3>
543
544 </sect2>
545
546 <sect2 role="kernel" id="qtwebengine-kernel">
547 <title>Kernel Configuration</title>
548
549 <para>
550 This package does not require any of the optional kernel namespace items,
551 but if User namespace is enabled <phrase revision="systemd">(as happens
552 in some unit files, for hardening)</phrase> PID namespace must also be
553 enabled. In that case enable the following options in the kernel
554 configuration and recompile the kernel if necessary:
555 </para>
556
557<!-- Spaces are significant in <screen> sections -->
558<screen><literal>General setup ---&gt;
559 -*- Namespaces support ---&gt;
560 [ ] User namespace [CONFIG_USER_NS]
561 [*] PID namespace [CONFIG_PID_NS]</literal></screen>
562
563 <indexterm zone="qtwebengine qtwebengine-kernel">
564 <primary sortas="d-qtwebengine">qtwebengine</primary>
565 </indexterm>
566 </sect2>
567
568 <sect2 role="content">
569 <title>Contents</title>
570
571 <segmentedlist>
572 <segtitle>Installed Programs</segtitle>
573 <segtitle>Installed Libraries</segtitle>
574 <segtitle>Installed Directories</segtitle>
575
576 <seglistitem>
577 <seg>
578 qtwebengine_convert_dict and
579 QtWebEngineProcess (in $QT5DIR/libexec)
580 </seg>
581 <seg>
582 libQt5Pdf.so,
583 libQt5PdfWidgets.so,
584 libQt5WebEngineCore.so,
585 libQt5WebEngine.so, and
586 libQt5WebEngineWidgets.so
587 </seg>
588 <seg>
589 $QT5DIR/include/QtPdf,
590 $QT5DIR/include/QtPdfWidgets,
591 $QT5DIR/include/QtWebEngine,
592 $QT5DIR/include/QtWebEngineCore,
593 $QT5DIR/include/QtWebEngineWidgets,
594 $QT5DIR/qml/QtWebEngine, and
595 $QT5DIR/translations/qtwebengine_locales
596 </seg>
597 </seglistitem>
598 </segmentedlist>
599
600 <variablelist>
601 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
602 <?dbfo list-presentation="list"?>
603 <?dbhtml list-presentation="table"?>
604
605 <varlistentry id="qtwebengine_convert_dict">
606 <term><command>qtwebengine_convert_dict</command></term>
607 <listitem>
608 <para>
609 converts hunspell dictionaries (<literal>.dic</literal>) to chromium
610 format (<literal>.bdic</literal>)
611 </para>
612 <indexterm zone="qtwebengine qtwebengine_convert_dict">
613 <primary sortas="b-qtwebengine_convert_dict">qtwebengine_convert_dict</primary>
614 </indexterm>
615 </listitem>
616 </varlistentry>
617
618 <varlistentry id="QtWebEngineProcess">
619 <term><command>QtWebEngineProcess</command></term>
620 <listitem>
621 <para>
622 is a libexec program which runs a zygote process (one that listens
623 for spawn requests from a master process and will fork itself in
624 response)
625 </para>
626 <indexterm zone="qtwebengine QtWebEngineProcess">
627 <primary sortas="b-QtWebEngineProcess">QtWebEngineProcess</primary>
628 </indexterm>
629 </listitem>
630 </varlistentry>
631
632 <varlistentry id="libQtWebEngine-lib">
633 <term><filename class="libraryfile">libQtWebEngine.so</filename></term>
634 <listitem>
635 <para>
636 provides QML types for rendering web content within a QML application
637 </para>
638 <indexterm zone="qtwebengine libQtWebEngine-lib">
639 <primary sortas="c-libQtWebEngine">libQtWebEngine.so</primary>
640 </indexterm>
641 </listitem>
642 </varlistentry>
643
644 <varlistentry id="libQtWebEngineCore">
645 <term><filename class="libraryfile">libQtWebEngineCore.so</filename></term>
646 <listitem>
647 <para>
648 provides public API shared by both QtWebEngine and QtWebEngineWidgets
649 </para>
650 <indexterm zone="qtwebengine libQtWebEngineCore">
651 <primary sortas="c-libQtWebEngineCore">libQtWebEngineCore.so</primary>
652 </indexterm>
653 </listitem>
654 </varlistentry>
655
656 <varlistentry id="libQtWebEngineWidgets">
657 <term><filename class="libraryfile">libQtWebEngineWidgets.so</filename></term>
658 <listitem>
659 <para>
660 provides a web browser engine as well as C++ classes to render and
661 interact with web content
662 </para>
663 <indexterm zone="qtwebengine libQtWebEngineWidgets">
664 <primary sortas="c-libQtWebEngineWidgets">libQtWebEngineWidgets.so</primary>
665 </indexterm>
666 </listitem>
667 </varlistentry>
668
669 </variablelist>
670 </sect2>
671
672</sect1>
Note: See TracBrowser for help on using the repository browser.