summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add missing pdf dependency for image pluginv5.15.0-alpha1Michal Klocek2020-02-101-0/+1
| | | | | Change-Id: Iae77cc585257387b401e14b0958d18851ee1eb6b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix build log, qtpdf build clutters logMichal Klocek2020-02-101-0/+1
| | | | | | | Do pdf build after core. Change-Id: I1cb750d6f32cdbc7eb3ff377498391bc015faf94 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Solve FIXME in CustomURLLoaderAllan Sandfeld Jensen2020-02-051-1/+3
| | | | | | | Update the headers as asked for in FollowRedirect. Change-Id: I86d241d52abe8bd9d082b7ad49e921a955dc1403 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Jüri Valdmann2020-02-0410-24/+129
|\
| * Merge remote-tracking branch 'origin/5.14' into 5.15Jüri Valdmann2020-02-0310-24/+129
| |\ | | | | | | | | | Change-Id: I349a4ecbbd9d3d121ca6564db77e417872246554
| | * Doc: Remove info about Sandboxing not being supported on WindowsLeena Miettinen2020-02-021-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 5.14.1, it is supported. List restrictions on Linux and ways of explicitly disabling sandboxing on all platforms. Fixes: QTBUG-81688 Change-Id: I7f8fc08b921cc0e50056cc143cbf63b62be90b4e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Cleanup FrameSinkManagerImpl before shutting down GPU serviceJüri Valdmann2020-01-303-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We changed RootCompositorFrameSinks to be destroyed asynchronously (in HostFrameSinkManager::InvalidateFrameSinkId) which means that one can still exist during shutdown in GpuThreadControllerQt::destroyGpuProcess. This results in a deadlock in single threaded GPU mode: in destroyGpuProcess we wait for the viz thread to exit, but the FrameSinkManagerImpl on the viz thread will try to destroy the RootCompositorFrameSink, which waits for work to be done on the GPU=UI thread, which is waiting for the viz thread to exit. Fix by destroying all RootCompositorFrameSinks before destroyGpuProcess. Change-Id: I4cf135f29b90ae0bf78525d5747567dc10a775e6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Merge remote-tracking branch 'origin/5.14.1' into 5.14Allan Sandfeld Jensen2020-01-281-0/+0
| | |\ | | | | | | | | | | | | Change-Id: I5a856d3976581806e75b775c2f383c6e4ed35530
| | | * Update ChromiumMichal Klocek2020-01-201-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pulls in following changes: * 3bbfff059e3 FIXUP: Support GPU service on UI thread with viz * a9a20127e8a Improve jpeg headers handling Change-Id: I0c81edbb24e984a798bb71444a4a6498a38abb38 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| | * | Fix widget accessibility on macOSPeter Varga2020-01-246-4/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macOS Accessibility queries the window for the focused accessibility element. The window forwards the query to the widget with active focus. This widget is the RWHVQtDelegateWidget if a web element is focused in QWebEngineView. Therefore, a QAccessibleWidget interface has been implemented for the RWHVQtDelegateWidget to forward the request to the QWebEngineView. The focused accessibility element expected to be returned by the QAccessibleInterface::focusChild() method. In case of the macOS accessibility backend, it is called by the accessibilityFocusedUIElement() NSAccessibility API function. It expects the focused web accessibility element otherwise VoiceOver won't focus properly. The focused web accessiblity element is looked up by the new BrowserAccessibilityQt::focusChild() method. RenderWidgetHostviewQtDelegateWidget::focusChild() and QWebengineViewAccessible::focusChild() methods have been also implemented to forward it. This patch depends on a focusChild() fix in qtbase: a132e02540 Fix QAccessibleWidget::focusChild() to return focused descendant Microsoft Narrator also uses focusChild() to query the current focused element when it starts but it is still functional without this fix. Task-number: QTBUG-78284 Task-number: QTBUG-81539 Change-Id: I3c4861e58622ccbb5046c60c4efcc19842400a88 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | | Remove non-NetworkService support classesAllan Sandfeld Jensen2020-02-0423-2365/+59
|/ / / | | | | | | | | | | | | | | | | | | | | | Removes much of the specific code for non-networksupport, classes that won't work or even compile with 78/79 based. Change-Id: I150794a55164998fa3d0031757718081fa7d7d9a Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | | Add getter/signal to get the render process PIDFlorian Bruhin2020-02-0113-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can useful for e.g. implementing something like the "Task manager" in Chromium or otherwise interacting with the render process (e.g. to kill it for some reason while debugging). [ChangeLog] Add a renderProcessPid() getter to (Q)WebEnginePage which allows getting the process ID of the underlying render process. Change-Id: Id5d59be9b6bd46ffc3a6aa480cb5ff7bd3b8aa31 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | FIXUP: Fix qptdf build with system icuMichal Klocek2020-01-301-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | When doing qtpdf build with system icu we might get no static libs. Update checks and remove unnecessary CONFIG lines from pdf core. Change-Id: Ia9e1944b4931d47f2efca58418f430bad800b29f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Add clear method to QQuickWebEngineHistoryJüri Valdmann2020-01-303-0/+16
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-71619 Change-Id: I35c5ecbbe78da3114d30945f8ce030937e17d98e Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | | Switch network-service to default onAllan Sandfeld Jensen2020-01-302-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-79890 Task-number: QTBUG-81556 Task-number: QTBUG-81557 Task-number: QTBUG-81614 Change-Id: I4c81ca1b1fb9c9595c1f670706948fcbe65bcd33 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | FIXUP: fix makefile warnings after qtpdf mergeMichal Klocek2020-01-301-1/+3
| | | | | | | | | | | | | | | | | | | | | Fix "warning: ignoring old recipe for target" Change-Id: Idf86004709a8e5394594f5b6a3138d01c5e48b58 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Update ChromiumAllan Sandfeld Jensen2020-01-301-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: a9a20127e8a Improve jpeg headers handling c1be521d4b0 Create an AudioOutputIPCFactory even without WebRTC 35b6d2c4838 third_party perfetto: add missing include for clang, asan and no_pch 6c2cf4c4571 Fix access after move 86de069171e FIXUP: Fix building with g++ 5 5c2d377121c Suppress racy DCHECK Change-Id: Icd8d71a5c3b12fa8c18b2683729b796701d63c59 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/wip/qtpdf' into 5.15"Michael Brüning2020-01-2762-38/+5717
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/wip/qtpdf' into 5.15Michael Brüning2020-01-2762-38/+5717
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial merge of QtPdf into QtWebEngine. Fixes: QTBUG-69519 Change-Id: I48dc25a59f2c161bb231bd0fa60392eb70fe4e7d
| | * | | Add missing check when doing qpdf buildMichal Klocek2020-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need this, since 5.15 branch adds webrtc check. Change-Id: I40b63bf38ed57562562305d34f9f5ce96dec31dd Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| | * | | Do not share pdf features with webengine-coreMichal Klocek2020-01-275-42/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pdfium build for qtwebengine should not use features set for qtpdf. Change-Id: Ibee97b774dda7e9157cadf28aa4a7a862bcba8ed Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| | * | | Doc: Add periods to the ends of \brief commandsLeena Miettinen2020-01-242-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qdoc no longer adds them automatically. Change-Id: I83463038a515ed7e731795a9a63b3ba48a7c8c94 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | | Doc: Document the \a mode parameter to fix a QDoc warningLeena Miettinen2020-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic6f66d36ab742cebaf7a1425419e3d2a56f9e56f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | | Add rotation actions to the QML pdf viewer exampleShawn Rutledge2020-01-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-77514 Change-Id: Ifa7515dae18b278e038c2e5fad46492ca158b044 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | | Add QPdfSearchModel, QML PdfSearchModel and PdfPageViewShawn Rutledge2020-01-2313-5/+698
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables searching a PDF for a text string and getting the boundaries of the areas where it is found. The boundaries are returned as polygons intended to be rendered with PathMultiline. PdfPageView is a QML component intended to be a drop-in viewer for use in applications that need the most common PDF viewing functionality. More advanced applications are free to use it as a starting point for customization. Task-number: QTBUG-77507 Task-number: QTBUG-77514 Change-Id: Id08ac30224e41b6cdfb9300cc4288d5750259f78 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | Doc: Add QML types from the Qt Quick PDF module to the doc configLeena Miettinen2020-01-222-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add examples, even though the example docs have not been added yet. Task-number: QTBUG-81560 Change-Id: I9ada8e658359788421eda209fffe1eaed967318c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * | | Add QtQuick.Pdf module with QQuickPdfDocument; manual testsShawn Rutledge2020-01-219-5/+514
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickPdfDocument is a wrapper for QPdfDocument providing appropriate QML API. Task-number: QTBUG-77506 Change-Id: Ifa2ef50d3d31179f1955c2f673495e727b962bd1 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | | Add fat lib build support on iosMichal Klocek2020-01-172-19/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fat builds disable NEON for arm, therefore when doing release setting CONFIG-=simulator is preferable. Task-number: QTBUG-77931 Change-Id: I59c99f2a38dbc83d15940a691c17277175b5b935 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | Add support for qtpdf ios buildsMichal Klocek2020-01-173-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix platform checks, add initial gn args, use shared library template for gn to get all the linker objects. This is just debug build. Task-number: QTBUG-77931 Change-Id: I9b3f7d3440aec66433ed19f4976e14506fba45dd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | Factor out qtpdf-support out of core-supportMichal Klocek2020-01-173-10/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make static builds available for ios. Task-number: QTBUG-77931 Change-Id: Id122190f51f03f782fd0ee1c897e5b4ff891f703 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | FIXUP: fix broken rebase of configure.jsonMichal Klocek2020-01-171-23/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove duplicated features. Change-Id: I0dafd6ae0a5d545d2fed12044499d891c84f80bd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | Fix compilation on windowsMichal Klocek2020-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 5f9e2f01e we check for spellchecker on windows. Add missing build support check. Change-Id: Id53276f6e4e4260832c57181f05822fff274dd04 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| | * | | Update 3rdpartyMichal Klocek2020-01-171-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pulls in following patches: * 7e3ec623081 [Backport] Fix for CVE-2019-13720 * 59d24cbd63e Fix QRC cookies for tests with network-service * 42c122dcb80 Fix Windows sandbox for heterogeneous executables * 4d310ae5bc3 [Backport] CVE-2019-13700 * d9cbe788437 [Backport] CVE-2019-13701 * 30dfb122e96 [Backport] CVE-2019-13704 * 51fdc9e9dc6 [Backport] CVE-2019-13706 * 9ea3feb658c [Backport] CVE-2019-13711 1/2 * 6ab99196115 [Backport] CVE-2019-13711 2/2 * 394da2e8dd7 [Backport] CVE-2019-15903 * 929d812ae1d [Backport] CVE-2019-13714 * 6c31ac36355 [Backport] CVE-2019-13715 * bf4615cbfa1 [Backport] CVE-2019-13718 * 35fb44f1bdc [macOS] Fix build error with new deployment target * 03e611b862a Revert "[Backport] CVE-2019-13701" * 948c21d2163 Support GPU service on UI thread with viz * 147452f856e Fix previous fix for new macOS deployment target * 77c86be6077 BASELINE: Update Chromium to 77.0.3865.129 * cf3564f25ee FIXUP: Support GPU service on UI thread with viz * 040ccbbef2d Fix pdfium build on macOS * cbc9c4a3c8d Merge remote-tracking branch 'origin/upstream-master' into 77-based * 1d9d75d072e Fix '/Zc:twoPahse' unknown compiler option warning * 55c0556c1ca [Backport] Security Bug 1003313 * d5f6e269885 [Backport] CVE-2019-13721 * c1fd5c47504 [Backport] Security bug 1011551 * e9b6a6d0cf9 [Backport] Secuirty bug 1006544 * 8a477bb16f9 [Backport] Security bug 997401 * 6ed410d94fc [Backport] Security bug 995591 * ccde4d23e60 [Backport] Security bug 993266 * 8564d6c04aa [Backport] Security bug 989909 * 6f690b4418f Merge "Merge remote-tracking branch 'origin/upstream-master' into 77-based" into 77-based * d61464c1e69 Fix is_main_frame in intercept_navigation_throttle * 41d6b0b2f16 [Backport] Secuirty bug 1014607 * e751f134d6b [Backport] Security bug 1016450 * 5b40e1d793e [Backport] Security bug 1018406 * 7d2876b9557 Fix url_utils for QtWebEngine * bfea09e6e17 FIXUP: Add net::URLRequest::first_party_url() * 0d4406b3688 [Backport] Security bug 961614 1/8 * b1a56dab182 [Backport] Security bug 961614 2/8 * b9718cd4aa0 [Backport] Security bug 961614 3/8 * 821f375089e [Backport] Security bug 961614 4/8 * ee18fd483a7 [Backport] Security bug 961614 5/8 * 105f1e578c3 [Backport] Security bug 961614 6/8 * 09050e17c6a [Backport] Security bug 961614 7/8 * 634aff72b47 [Backport] Security bug 961614 8/8 * c5eb4cfff7f [Backport] Security bug 775511 * 120ccb55b5c [Backport] Security bug 1015945 * 939daf833ff [Backport] Security bug 955191 * c7bb975f833 Fix manifests for extensions * cfab9198a99 BASELINE: Update GN * 88050fc712d Fix rebuilding of about resources every time * 4a0ac259d12 third_party quiche: add missing include for iostate * 819bf79725a [Backport] Set priority for requests whose load is emulated * db19ca9c53c Fix FlingScheduler in viz mode * dd8389c580c FIXUP: Fix manifests for extensions * f473e040f8f Merge remote-tracking branch 'origin/upstream-master' into 77-based * 325f3b07a56 Fix 32bit sandboxing on Windows * dc1226a13d9 Disable dumb code * 8da0a5162d1 Downgrade ninja to 1.8.2 * cc309aa8518 [Backport] Avoid leaking GamepadService in tests * b7e2744f519 [Backport] Fix for CVE-2019-13727 * 85d5ec666bd Reland [Backport] CVE-2019-13701 * 114a6d752f1 [Backport] Fix for CVE-2019-13730: Type Confusion in V8 * ad6efac8e5b [Backport] Fix for CVE-2019-13732: Use after free in WebAudio * 446eda0fc43 [Backport] Fix for CVE-2019-13764: Type Confusion in V8 * 13e4a6f608c [Backport] CVE-2019-13734: Out of bounds write in SQLite * 7d9eea8e630 [Backport] Security bug 1017020 * 3d5ac733f8b [Backport] Security bug 1017961 * 945f5405f3e [Backport] CVE-2019-13736 * 3299cadf406 [Backport] CVE-2019-13737 * b7034d08035 Add icudtl for ios build * 9130540796e Merge remote-tracking branch 'origin/upstream-master' into 77-based * 9720a8a9863 [Backport] CVE-2020-6377 * 253d8a0fa71 [Backport] CVE-2019-13728: Out of bounds write in V8 * def05352967 [Backport] Re-land: Only invoke text and element fragment anchors after layout. * 73ef65b5273 [Backport] CVE-2019-13741: Insufficient validation of untrusted input in Blink * f49943cf837 [Backport] CVE-2019-13762: Insufficient policy enforcement in downloads. * 5357f8ae628 [Backport] CVE-2019-13758: Insufficient policy enforcement in navigation. * 5ca9a877b4b [Backport] CVE-2019-13761: Incorrect security UI in Omnibox. * 545b591cee6 [Backport] Security bug 1027905 * 9e44d0450c1 [Backport] CVE-2019-13747: Uninitialized Use in rendering. * f32f09593b6 [Backport] Security bug 1025089 * 684a48706ad [Backport] Security bug 1016703 * ee0ec6e55f0 [Backport] CVE-2019-13757: Incorrect security UI in Omnibox (1/2) * d5651e21821 [Backport] CVE-2019-13757: Incorrect security UI in Omnibox (2/2) * 05833b160db [Backport] CVE-2019-13739 * 5e753a5b1d7 [Backport] CVE-2019-13738 * c68e3faa08f [Backport] CVE-2019-13735: Out of bounds write in V8 * c0a7f013646 [Backport] CVE-2019-13754: Insufficient policy enforcement in extensions. (1/3) * 11f1bad3655 [Backport] CVE-2019-13754: Insufficient policy enforcement in extensions (2/3) * 9df23a4c06e [Backport] CVE-2019-13754: Insufficient policy enforcement in extensions. (3/3) * fd8cf772447 [Backport] Security bug 1028191 * 8417e835260 [Backport] Security bug 974375 * 046bd9f50b6 [Backport] Security bug 889276 * 5fc987f210c [Backport] Security bug 1033260 * 9f87a1ede7c [Backport] CVE-2019-13755: Insufficient policy enforcement in extensions. * cb8bce9edb2 Fix compile issues for ios * fb54428bc4c Fix crash on page allocator * e687bc69cdc Fix properly not working about_credits target * 41d474d0e7c [Backport] CVE-2019-13745 1/2 * 6cd2b35a453 [Backport] CVE-2019-13746 1/2 * e89fce7cfa3 [Backport] CVE-2019-13746 2/2 * b7ce677ea5c [Backport] CVE-2019-13745 2/2 * ca751a77e45 Add fat build support Change-Id: I080325c412abfc4b81ea8bde4b78381bdde1d46b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * | | Deal with unsigned data type changes in QPdfBookmarkModelShawn Rutledge2019-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pdfium API has changed slightly. Change-Id: I8f6a5b227f35fd819ac4632d1d816569978b47b0 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | | Add configurable v8/xfa support to qtpdfMichal Klocek2019-11-252-4/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without v8/xfa support, compilation drops to ~650 files. Disable v8/xfa by default. Enabling v8 enables all xfa support. For example to enable full xfa support without xfa-tiff: qmake <src> -- --feature-pdf-v8 --no-feature-pdf-xfa-tiff Change-Id: I0525c22ed6ed84d5837ab9a238ef2c4219339895 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | Add platform and architecture checks to configure for qtpdfMichal Klocek2019-11-251-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now follow webengniecore requirements. Change-Id: I7260b593e6489f51970b1a4c9dc6cd92067a085c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | Add a QImageIOHandler to render PDF with QtQuick ImageShawn Rutledge2019-11-258-2/+421
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now you can use Image in QML to display the first page of a PDF file by default. (The implementation is very similar to the handler plugin in the QtSVG module.) To display other pages, you can set the new currentFrame property that is being added to Image in 5.14. QPdfIOHandler uses its own instance of QPdfDocument to do the rendering. An instance will be created each time the image needs to read a frame from the file (on creation; each time the currentFrame property is changed; each time sourceSize is changed to require a different resolution rendering). This approach is not as efficient as it would be to share the QPdfDocument instance among multiple Images that are rendering different pages at the same time, as well as sharing with the QML Document declaration that we plan to add. However, if you set asynchronous: true, each Image will render its page from the PDF in its own thread. PDFium is not thread-safe, so sharing the QPdfDocument among multiple threads is not safe. It may be possible to make it safe by having a dedicated PDF-rendering thread, but that is not yet done in this patch. Change-Id: I7a1f8cd7bd5b8f93d45fa9350752b2d9356b04fe Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | | Doc: Add index and module files for Qt PDF module and fix header pathLeena Miettinen2019-11-254-1/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I6c8dbc3c8d5c8638d7098ab1d4f2999a4c2e6042 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | | Fix sync script warningMichal Klocek2019-11-251-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing "We mean it." Change-Id: Ib5efa6829148fcb1f58a252a839386067ffbf8a6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | Add QtPdf and QtPdfWidgets modulesMichal Klocek2019-11-2524-83/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds two new modules to qtwebengine repository. New modules do not depend on webengine module, however webengine chromium source code and Chromium "gn" configuration is required to build QtPdf. Adding two unrelated modules to webengine might look crazy: however sharing gn build configuration and Chromium code base with necessary qt adaptations simplifies code maintenance and minimises required code checkouts. Back porting of security patches for Chromium also affects Pdfium. Moreover, Pdfium is no longer a separate project, but integrated into Chromium: therefore moving it out of Chromium source tree would require extra effort. Rename webengine-core feature to build-qtwebengine-core, this makes consistent feature naming with build-qtpdf At the moment two new modules have integrated build, with possible shortcuts: qmake -- --no-build-qtwebengine-core qmake -- --no-build-qtpdf Webengine build is disabled by default now. Change-Id: Iac3d9927d51f3ac316db0148d275eda843dcc19b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | | Initial import of qtpdf source codeMichal Klocek2019-11-252-202/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code has been imported from git://code.qt.io/qt-labs/qtpdf to src/pdf, src/pdfwidgets, examples/pdfwidgets and tests/auto/pdf. Some git revision history was rewritten to remove conflicting files like src.pro, examples.pro, tests.pro, .gitingnore, .gitmodules, sync.profile, .qmake.conf, 3rdparty Removed unneeded leftovers after import. Change-Id: Ifc1e02828adfefe8db68d596cd2cb238de22408b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | * | | Allow compile with gcc-4.8.5Martin Koller2019-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia3953e0318a97eabfd917dbefef3bbac65828287 Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
| | * | | Add missing includes (compile on debian failed)Martin Koller2019-11-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I96c81d486050aa2e5c6990ee4abbda070f1235e7 Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
| | * | | Add qdocconf for the QtPdf moduleTobias Koenig2019-11-252-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I4fdd53098c32394dbeef58f49b511453079045f9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Fix documentation of QPdfDocument classTobias Koenig2019-11-251-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8bc6327e86c4381966da759cbe6295b327c4d808 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Add initial version of QPdfView classTobias Koenig2019-11-255-0/+805
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9185320d8a4e725fdbbfe1fde205a2be3bc2113c Task-number: QTBUG-28886 Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
| | * | | Add QPdfPageRenderer classTobias Koenig2019-11-254-1/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPdfPageRenderer renders a page of a QPdfDocument for a given zoom factor. Depending on its render mode, it does the rendering in the UI thread or a worker thread. Subsequent requests are queued and processed in order. Change-Id: I95820cd318cb443b2572f6d3db5a0bee53939bd1 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | * | | Add QPdfPageNavigation classTobias Koenig2019-11-253-1/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPdfPageNavigation class encapsulates the logic of navigating inside a QPdfDocument. It has the notion of a 'current' page and provides slots to navigate to the previous/next page or jump directly to a given page. Additionally it provides properties to indicate whether there is a previous or next page, relative to the current one. Change-Id: I053f3c49ab4a70b2610b64d96d2c274c3d0f629b Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * | | Add support for render rotation and flagsTobias Koenig2019-11-257-6/+389
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the QPdfDocument::render() method with a parameter of new type QPdfDocumentRenderOptions to specify the rotation and additional render flags. Change-Id: I354acc7fad4d094a96cefcea4dfa3513f4955c47 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * | | Fix emission of QPdfDocument::pageCountChanged signalTobias Koenig2019-11-253-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Emit the signal whenever the amount of pages changes on loading/closing the document. Change-Id: I0555a9cad93cb1f125ded19889eda91e08725592 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>