summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess
Commit message (Collapse)AuthorAgeFilesLines
* Mention default encoding for QML WebView loadHtml method in docs.Michael Brüning2014-03-251-0/+4
| | | | | | | | | | The fact that the html string will be implicitly converted to UTF-16 led to some errors with loaded resources. Task-number: QTBUG-36656 Change-Id: I6ed36e2e814034cfccb4082c24e3327674e04cdf Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix doc warningsJocelyn Turcotte2014-03-171-1/+1
| | | | | | | | | | - Qt for Embedded Linux Requirements isn't available since Qt5 - NOTIFY signal documentations are now ignored and are part of their property - The QtQuick1 WebView code isn't available anymore - Adjust to other renamed and removed pages Change-Id: Ife04becb1a847fb0bfb11dfafa6db2caa36aa9f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Enable changing the cursor for the QQuickWebView.Michael Brüning2014-03-031-2/+1
| | | | | | | | Implements setting the platform cursor in QtPageClient. Task-number: QTBUG-36368 Change-Id: I0ec2dc5eae550a7fa1197587f85c3f84b3225240 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix ambiguous castAllan Sandfeld Jensen2014-02-041-1/+1
| | | | | | | | | The conversion from uint64_t to QFlags is now ambiguous, but since we need an int QVariant in the end anyway, we can cast directly to that. Change-Id: I4478efa2b293a59b47c46d27346b56eab48b3278 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Reapply mouse event handling in QQuickWebViewFlickablePrivate.Michael Brüning2014-01-072-0/+6
| | | | | | | | | | | | This reapplies commit 0b789c6a785d5ef45c3f6f2fc0f8694772b3d392, which had been in Qt 5.0.x and 5.1.x, but was not upstreamed and hence overwritten when importing the new snapshot. This basically reverts http://trac.webkit.org/changeset/136119. Task-number: QTBUG-35097 Change-Id: I3e02c3feeb5193c0c06b7525469e208de1d6cafc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Doc: Update WebView code sample on Qt WebKit landing pageTopi Reinio2013-12-041-5/+9
| | | | | | | | | | Replace obsolete 'Page' QML type used in the sample code with 'ScrollView' from Qt Quick Controls. Task-number: QTBUG-35154 Change-Id: I0a16a6158be028bf8a7975240411841c4e8200ef Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix bad if test in QQuickWebViewPrivate::didFailLoad.Michael Brüning2013-11-261-1/+1
| | | | | | | | | It was using and for two different error codes as David Binderman pointed out. Task-number: QTBUG-39425 Change-Id: I85348d8ba07757eb33eceb447adb34cc2e4e1842 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Only use 64bit atomics when supportedAllan Sandfeld Jensen2013-10-281-1/+9
| | | | | | | | | | | | | | | | | | | | To support Windows XP we must avoid using the 64bit variants of the atomicIncrement/atomicDecrement operations which are only supported from Windows 2003 and up. This patch rolls back the minimum Win32 API version to WinNT 5.1 (32bit WinXP), and adds a new flag to indicate the support of 64bit atomics. The new flag is now also used to support MIPS and other architectures without 64bit intrinsics, instead of hacking in poor support. This also extends the atomic operations to sparc64 which was previously skipped because it did not work with __exchange_and_add. Task-number: QTBUG-34271 Change-Id: I21b09df3cafb7f0987a2f44c89036ff34ed34aa0 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix build for boot2qt eAndroidAllan Sandfeld Jensen2013-10-211-1/+1
| | | | | | | | | | | | | | Reverts the removal of Android support in WTF, and brings the support up to date. Merged change to MacroAssemblerARM.cpp from QtScript. Replaces use of statvfs with statfs in one place. Replaces shm-based shared memory with ashmem-based in WebKit2. Change-Id: I440b1fbd94bb4148f7ba764d77de65230d13ed90 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Warning on starting WebProcessAllan Sandfeld Jensen2013-10-101-1/+3
| | | | | | | | | The localStorageDirectory is set right after the WebContext is created, but during creation the path is empty and will cause a warning in QDir. Task-number: QTBUG-33866 Change-Id: I940e08c217ee2401e326bf60910bc628add2f30b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Doc: Reverted name of Qt WebKit and landing page filename.Jerome Pasion2013-10-011-6/+6
| | | | | | | | | -qtwebkit-index.html and "Qt WebKit" are the correct names for the module according to the writing guidelines -index.html will collide with the main Qt 5 index.html page Change-Id: Ic07ae422b85766090b1e3c09b34100293a972bfb Reviewed-by: Martin Smith <martin.smith@digia.com>
* [Qt] Fix build with Qt 5.2 QtPosition moduleAllan Sandfeld Jensen2013-09-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=121089 Reviewed by Simon Hausmann. .: QtLocation -> QtPositioning * Source/sync.profile: Source/WebKit: QtLocation -> QtPositioning * WebKit1.pri: Source/WebKit/qt: QtLocation -> QtPositioning * WebCoreSupport/GeolocationClientQt.cpp: Source/WebKit2: QtLocation -> QtPositioning * Target.pri: * UIProcess/qt/WebGeolocationProviderQt.cpp: * WebKit2.pri: Tools: QtLocation -> QtPositioning. Make sure we set build type before doing configure checks that might depend on them. * qmake/mkspecs/features/default_pre.prf: * qmake/mkspecs/features/features.prf: Change-Id: I96a16559373a21513c4d83e53b6cee9f27682649 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156395 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Remove C++11 requirement in WebKit2Allan Sandfeld Jensen2013-09-1942-153/+168
| | | | | | | | Removes all use of C++11 specific features in WebKit2. This consists of template<S<T>> syntax, a few uses of auto, and a single use of std::move. Change-Id: I1bbd356c430802caf5f7440cd0d3bb2ba49ed098 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix build with namespaced QtAllan Sandfeld Jensen2013-09-191-1/+4
| | | | | | | One forward declaration of QUrl was missing proper namespace macros. Change-Id: Ibb2414b63e2926015874b4cf7024f101d59be6dc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix build with gcc 4.4Allan Sandfeld Jensen2013-09-192-2/+2
| | | | | | | | Nullptr is one of the C++11 features not fully supported in gcc 4.4, we can therefore not rely on it being converted to a pointer automatically. Change-Id: I91830a2e78d9eb7532930581774cc095181cbf83 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Import Qt5x2 branch of QtWebkit for Qt 5.2Allan Sandfeld Jensen2013-09-19640-20547/+25851
| | | | | | | Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-132-0/+13
|\ | | | | | | | | | | | | Conflicts: Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp Change-Id: Iaa6209d0d611d18b8c916bcd165c8bf5b7441b7b
| * [Qt] Restore URL Scheme Delegates after QtWebProcess crashMilian Wolff2013-09-022-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=108808 When the QtWebProcess crashes, the registered URL Scheme Delegates are not properly restored over IPC in the newly launched process instance. Reviewed by Simon Hausmann. * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::didRelaunchProcess): (QQuickWebViewPrivate::updateSchemeDelegates): * UIProcess/API/qt/qquickwebview_p_p.h: (QQuickWebViewPrivate): Change-Id: I14493ea1190053e5a523d2cf8a99cc8d526b4fd2 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142997 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | [Qt] Enable QML handling of crashed/unresponsive QtWebProcessMilian Wolff2013-09-025-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=108474 Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive and processDidBecomeResponsive signals to QML's WebView.experimental. Reviewed by Jocelyn Turcotte. * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::processDidCrash): (QQuickWebViewPrivate::didRelaunchProcess): (QQuickWebViewPrivate::processDidBecomeUnresponsive): (QQuickWebViewPrivate::processDidBecomeResponsive): * UIProcess/API/qt/qquickwebview_p.h: * UIProcess/API/qt/qquickwebview_p_p.h: (QQuickWebViewPrivate): NOTE: This is the initial iteration of the patch attached to upstream bug report 108474, i.e.: https://bug-108474-attachments.webkit.org/attachment.cgi?id=185771 The actually committed version is incompatible with the status of QtWebKit stable as the architecture changed too much. Change-Id: I91d28dde2774fd1487a96ac36a14b522ffb7756c git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153580 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Improve PageVisibility API with enumsjoepeck@webkit.org2013-08-084-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=107364 Reviewed by Sam Weinig. Source/WebKit/mac: * WebView/WebView.mm: * WebView/WebViewPrivate.h: (corePageVisibilityState): (-[WebView _setVisibilityState:isInitialState:]): Switch the private API form int to a WebPageVisibilityState enum. Source/WebKit2: * Shared/API/c/WKPageVisibilityTypes.h: Added. * Shared/API/c/WKSharedAPICast.h: (WebKit::toPageVisibilityState): Create an enum for page visibility APIs and a conversion function for the WK2 values to WebCore values. * Target.pri: * GNUmakefile.list.am: * WebKit2.xcodeproj/project.pbxproj: Add WKPageVisibilityTypes.h to the build as a private export. * UIProcess/API/C/WKPage.h: * UIProcess/API/C/WKPage.cpp: (WKPageSetVisibilityState): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setVisibilityState): UIProcess API to set visibility state. WebPageProxy already had m_visibilityState, so update that when setter is used. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: * WebProcess/InjectedBundle/InjectedBundle.h: Remove the old SPI for WebKitTestRunner. Tests now use the C API. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setVisibilityState): * WebProcess/WebPage/WebPage.messages.in: Update the existing WebPage API to use uint32_t, which matches other enum message types. Tools: * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::resetPageVisibility): (TestRunner::setPageVisibility): Update the WK1 test code to use the new WK1 enums. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::setVisibilityState): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: (InjectedBundle): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setPageVisibility): (WTR::TestRunner::resetPageVisibility): * WebKitTestRunner/TestController.cpp: (WTR::TestController::setVisibilityState): * WebKitTestRunner/TestController.h: (TestController): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Update the WK2 test code to use the new WK2 API and enums. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/PageVisibilityState.cpp: Added. (TestWebKitAPI): (TestWebKitAPI::setPageVisibilityStateWithEvalContinuation): (TestWebKitAPI::assertSerializedScriptValueIsStringValue): (TestWebKitAPI::didRunStep1StateChangeVisibleToHidden): (TestWebKitAPI::didRunStep2StateChangeHiddenToPrerender): (TestWebKitAPI::didRunStep3StateChangePrerenderToPreview): (TestWebKitAPI::didRunStep4InStatePreview): (TestWebKitAPI::TEST): Test the new WK2 API with all enum types. Change-Id: I0a057111d7ef26cb87ade328291d4f94322480b7 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141010 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | [Qt] Replace Nokia with Qt Project in service name.michael.bruning@digia.com2013-07-161-1/+1
|/ | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=118729 Reviewed by Simon Hausmann. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: (WebKit::ProcessLauncher::launchProcess): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152720 268f45cc-cd09-0410-ab3c-d52691b4dbfc Task-number: QTBUG-32390 Change-Id: I47c2e261e0f0512f6d576bbc2ad9189baf775830 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Coordinated Graphics: a long page is scaled vertically while loading.Huang Dongsung2013-04-123-5/+10
| | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=109645 Backported from http://trac.webkit.org/changeset/142837 Reviewed by Noam Rosenthal. When loading http://www.w3.org/TR/xpath-datamodel/, Coordinated Graphics draws vertically scaled contents. It is because there is the difference between the size of a layer and the size of CoordinatedBackingStore. Currently, LayerTreeRenderer notifies the size to CoordinatedBackingStore at the moment of creating, updating and removing a tile. However, it is not necessary to send tile-related messages when the size of layer is changed. So this patch resets the size of CoordinatedBackingStore when receiving the message that is created when the size is changed: SyncLayerState. There is no current way to reliably test flicker issues. Change-Id: Ied0dfa7e333b0c7d89c33684b05ca9e1dfebd155 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Qt][WK2] WebView's interactive property is not fully respectedAndras Becsi2013-04-082-7/+8
| | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=113066 https://trac.webkit.org/r147909 Reviewed by Jocelyn Turcotte. WK2 sign-off by Benjamin Poulain. The QML WebView inherits the "interactive" property from Flickable which is true by default, and disables the interaction with the Flickable if set to false. Resulting from the design of the WebView panning and flicking is disabled by Flickable but to be consistent we also need to disable double-tap gestures and pinch gestures since they would trigger scale and position changes. Change-Id: I7879d7fa4bd2ccaf711dc44012905d49c9d7e8fd Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Qt][WK2] plugin tests assert in debugBalazs Kelemen2013-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106659 Reviewed by Benjamin Poulain. Fixed the misuse of String::split. * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: (WebKit::truncateToSingleLine): Add an assert to make sure this function works well. I just walked there while debugging the bug, and although it was innocent, adding this assertion is logical. * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: (WebKit::PluginProcessProxy::scanPlugin): The ASSERT was wrong. We have three lines, each ends in a newline, so split with allowEmptyEntries=true will devide it to 4 substrings. Change-Id: I8b5f5775efe76391ac1f781620e120cd03dacdc1 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139600 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-04-052-2/+1
|\ | | | | | | refs/staging/stable
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-04-032-2/+1
| |\ | | | | | | | | | Change-Id: If3305d4a24584f4289f840e60a2362220d005013
| | * Fails to start QtWebProcess.exe if installed in a path containing spaces ↵Andras Becsi2013-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=113328 We use QProcess::start() with a commandline string to start the web process and the string is treated by QProcess as a whitespace delimeted list of the command and the arguments, thus we have to escape the path to the web process binary so that if the path contains spaces we still run the appropriate command. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: (WebKit::ProcessLauncher::launchProcess): Task-number: QTBUG-30249 Change-Id: Ic72cc58d57201381e0b269ff26edf97fea998bbe Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
| | * QML WebView asserts when double clicking a link ↵Andras Becsi2013-03-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=113329 Remove an erroneous assert which is no longer valid if mouse gestures are enabled. Task-number: QTBUG-30288 Change-Id: I3c5dc65d55790b1e97924fe674d26e9587557d92 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | [Qt] docs: Fix module name formatSze Howe Koh2013-04-051-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=113209 Reviewed by Jocelyn Turcotte. Make QDoc-generated documentation follow the conventions at http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation Source/WebKit/qt: * Api/qwebdatabase.cpp: * Api/qwebkitglobal.cpp: * Api/qwebpluginfactory.cpp: * Api/qwebsettings.cpp: * WidgetApi/qgraphicswebview.cpp: * WidgetApi/qwebframe.cpp: * WidgetApi/qwebpage.cpp: * WidgetApi/qwebview.cpp: * docs/qtwebkit-bridge.qdoc: * docs/qtwebkit-goes-mobile.qdoc: * docs/qtwebkit.qdoc: Source/WebKit2: * UIProcess/API/qt/qquickwebview.cpp: Change-Id: I27927b6a3722f86379fdc538a53f4cc84c68494f git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147637 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Refactor handling of content suspension to properly cover corner casesAndras Becsi2013-03-255-60/+80
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=111751 This is a back-port from upstream patch http://trac.webkit.org/changeset/146355 Reviewed by Jocelyn Turcotte. The current suspend / resume infrastructure turned out to be insufficient to cover all corner cases during transitions between gestures of complex gesture chains. The requirements for robust suspend / resume handling are: - Keep the content suspended while the user is continuously interacting, eg. does not lift the finger between transition from a pan to a pinch gesture and vice versa. - The content should not be suspended unnecessarily (like for a tap gesture), only during panning and scroll animation (flick), as well as pinch zoom and scale animation (also includes double-tap-to-zoom). - The content should never end up stuck in suspended state after long gesture chains and continuous interaction. This patch reintroduces reference counting based suspension in form of a new ViewportInteractionTracker member class to make it possible to reliably control the suspend / resume cycles during scrolling and scaling. During continuous gestures, while the user is interacting, the reference count is increased without actually suspending the content to prevent resuming unnecessarily during continuous interaction. At the same time this also assures that the page is not suspended for simple tap gestures, which was a side-effect of the previous approach based on update deferrers. The newly added functionality replaces boolean members that tried to achive the above requirements. Additionally this patch also removes the redundant m_hasSuspendedContent member from the PageViewportController since WebPageProxy already keeps this information. Change-Id: Id9b55d37c7ad839a27029e92872f36bbf202e660 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Qt] Don't crash on exit when encountering uninitialized WebView.Milian Wolff2013-02-151-1/+3
| | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=107812 When a WebView is never shown it will not initialize its root layer and can thus crash on exit when trying to clean up said layers children. This was fixed properly upstream in commit 18ac4c73a2 but according to Jocelyn it cannot be cherry-picked easily due to dependencies on other changes. Change-Id: I58f5df8d3cd2756ac4f0b0c6a60b19c5c5ef27e8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Changing WebView.contentY and WebView.contentX does not redraw contentAndras Becsi2013-02-141-5/+6
| | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=108337 https://bugreports.qt-project.org/browse/QTBUG-29557 Reviewed by Jocelyn Turcotte. We should not ignore content position changes unless pinch zoom or bounce-back animation is ongoing. This way we notify the web process about visible rect changes if the contentX and contentY properties are used to programmatically scroll the content from QML. One important usecase for this is when implementing scrollbars. Change-Id: If54453081debee7ad9f8c003b1bd54c5b0927fc9 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* [Qt][WK2] Pages / resources cannot be loaded from qrc files.michael.bruning@digia.com2013-02-136-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=107031 Reviewed by Jocelyn Turcotte. Enables WebKit2 Qt applications to load files from the bundled qrc files. This is achieved by adding a url scheme handler for the "qrc" scheme using the application scheme handler and ignoring all handlers for the qrc application scheme that the application might set. * UIProcess/API/qt/qquickurlschemedelegate.cpp: (QQuickQrcSchemeDelegate::QQuickQrcSchemeDelegate): (QQuickQrcSchemeDelegate::readResourceAndSend): * UIProcess/API/qt/qquickurlschemedelegate_p.h: (QQuickQrcSchemeDelegate): * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::initialize): (QQuickWebViewExperimental::schemeDelegates_Append): (QQuickWebViewExperimental::invokeApplicationSchemeHandler): * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: * UIProcess/API/qt/tests/qmltests/common/qrctest.html: Added. * UIProcess/API/qt/tests/qmltests/resources.qrc: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140676 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: Ia1cbd499ff9d1ca03373f6fb542d41f25231d656 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* [Qt] Fix a crash when the QQuickWebPage is destroyed between the scene graph ↵jocelyn.turcotte2013-01-163-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sync and render. https://bugs.webkit.org/show_bug.cgi?id=106018 Reviewed by Simon Hausmann. The main and rendering threads are only guaranteed to be synchronised in the updatePaintNode call. In every other cases, QQuickItems cannot be safely accessed from the rendering thread. Do as the first patch version in https://bugs.webkit.org/show_bug.cgi?id=104574 was doing and copy the ratio value directly to fix the issue. Also add a note about the threading issue in QQuickWebPage::updatePaintNode. * UIProcess/API/qt/qquickwebpage.cpp: (QQuickWebPage::updatePaintNode): * UIProcess/qt/QtWebPageSGNode.cpp: (WebKit::QtWebPageSGNode::QtWebPageSGNode): * UIProcess/qt/QtWebPageSGNode.h: (QtWebPageSGNode): (WebKit::QtWebPageSGNode::devicePixelRatio): (WebKit::QtWebPageSGNode::setDevicePixelRatio): Change-Id: Ie849f0f23ae9e017fcdce6326fb2126f3ad66248 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138715 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* [Qt][EFL][WK2] Remove redundant device pixel ratio adjustment from ↵Andras Becsi2013-01-164-35/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PageViewportController https://bugs.webkit.org/show_bug.cgi?id=106355 Reviewed by Kenneth Rohde Christiansen. This is a backport of http://trac.webkit.org/changeset/139189. Since r137597 Qt uses the device pixel ratio of the underlying platform window as the device pixel ratio in WebCore. The tiles are rendered with the effective scale (scale adjusted with the device scale factor) and the projection matrix is also adjusted with the device pixel ratio when painting. As a result we can follow the same approach as QtQuick and all the coordinates in PageViewportController need to be in device independent pixels (UI pixels) thus we do no longer need to adjust with the device pixel ratio when calculating the viewport attributes. This simplifies the logic significantly and increases robustness, but does not allow to set a custom device pixel ratio different from the factor of the underlying platform (eg. for testing purposes). This patch is conceptually a follow-up of r137597 and fixes layout and canvas size on retina display. Change-Id: I2485ef0a4aa18726238bacddaa5176cf5869659e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* [EFL][Qt][WK2] Going back to 47-amazing-css3-animation-demos shows nothing ↵Andras Becsi2013-01-141-0/+3
| | | | | | | | | | | | | | | | | or wrong position https://bugs.webkit.org/show_bug.cgi?id=104414 Reviewed by Simon Hausmann. When contents size changes, make sure to apply any pending position change if possible. This is a cherry-pick of http://trac.webkit.org/changeset/138149 that fixes a frequent positioning issue during navigation. Change-Id: Ib535f8470b2b8994565d750af06ee535e4153c3c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Revert r136231 to fix overlay size due to incorrect visible rectAndras Becsi2012-12-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue is visible when loading the full-sized image in the flickrview example by clicking on a thumbnail. Because of css device adaptation the code already changed in trunk somewhat but the issue is also visible there, both on retina and non-retina displays. The problem here is that the visible rect that is set in WebPage::sendViewportAttributesChanged() is incorrect because it includes a rounding error if dpr != 1.0 since the stored viewport size has integer precision, additionally there is also a dependency problem since the constructed visible rect does not include the UI-side scale that might be applied later in page viewport controller due to the changed attributes. This is especially visible on Flickr since the full size images are shown in an overlay and an invalid visible rect results in wrong overlay size. In trunk this codepath is also used by css device adaptation thus we might need a more comprehensive fix there, but since we currently do not support css device adaptation we can revert http://trac.webkit.org/changeset/136231 in this branch. The issue is tracked upstream on: https://bugs.webkit.org/show_bug.cgi?id=104906 Change-Id: Ia451ee610795700b0d3d6455413b97b607e6fb32 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* rely on automatic output directory setupv5.0.0Oswald Buddenhagen2012-12-172-2/+2
| | | | | | | | now being a proper qt module (by virtue of having load(qt_build_config) in .qmake.conf), webkit gets the path setup goodies for free. Change-Id: Ief00d234b0b21a136f5736e7f18440d63b1a8857 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* remove some unnecessary CONFIG additionsOswald Buddenhagen2012-12-172-2/+2
| | | | | | | | qt is already added by spec_pre.prf, warn_on and depend_includepath by default_pre.prf. Change-Id: I4f02ef09f19cf0e4c7093f3fe30d5ca34daa194f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* [Qt][WK2] Fix painting on Mac with retina displayAndras Becsi2012-12-139-134/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=104574 Reviewed by Kenneth Rohde Christiansen. Since HiDPI support has been added and enabled in Qt we ended up painting incorrectly scaled content on high-resolution screens. Because the intrinsic device pixel ratio is always taken into account by Qt when painting to high-resolution screens we should automatically obtain the scale ratio from the window in which the item is rendered instead of setting it in QML. Qt does not make it possible to override the device pixel ratio of the native window, therefore our experimental QML API for setting a custom value is of no use any more and should be removed. This patch fixes the scaling issue on Mac retina display by querying the underlying window for the device scale factor and applying it to the backing store and the scene-graph rendering of the content node. Additionally removes the experimental API and related API tests. Change-Id: I04f23059147773ca279a89ae8976ccd3d9bef292 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137597 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Doc: Fixing Qt WebKit reference documentation.Jerome Pasion2012-12-131-0/+6
| | | | | | | | | | | | | | Fixes: -added \module for C++ classes and \qmlmodule for QML types -added links to the Qt WebKit Examples pages -fixed the qhp settings for Qt Creator Task-number: QTBUG-28583 Task-number: QTBUG-28418 Task-number: QTBUG-27646 Change-Id: I883139f51f457bd6dc7bfe72bb53eb26771d2ccb Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix build without QtQuick 2Simon Hausmann2012-12-101-0/+2
| | | | | | | | | | | | | | Unreviewed trivial build fix. This function is defined in QtWebContext, which is only used when QtQuick2 is available. * UIProcess/qt/WebContextQt.cpp: (WebKit::WebContext::platformInvalidateContext): Change-Id: I9a77012fb66fd2c11889e2b111f46ab11089df18 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137138 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix links in Qt WebKit and Qt WebKit Widget documentationPaul Olav Tvete2012-12-041-1/+1
| | | | | Change-Id: Ibe7ef6bc1ea6ef42fce09fe6c4b6d64ac9ae2e9a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* [Qt][WK2] Do not override previously set flags of QQuickWebView when ↵Andras Becsi2012-12-041-1/+1
| | | | | | | | | | | | | | | enabling drag&drop https://bugs.webkit.org/show_bug.cgi?id=103901 Setting the specific flag instead of resetting all the flags when enabling QQuickItem::ItemAcceptsDrops. This fixes clipping of the contents of QQuickWebView visible in the flickrview example. Change-Id: I64695c5954a3b04d70f9b6da6b1a57b14d3cdbc0 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@nokia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Unreviewed, rolling out r136119.Simon Hausmann2012-12-042-0/+10
| | | | | | | | | | | | | | | http://trac.webkit.org/changeset/136119 https://bugs.webkit.org/show_bug.cgi?id=100964 We decided to restore previous default behaviour * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewFlickablePrivate::handleMouseEvent): * UIProcess/API/qt/qquickwebview_p_p.h: (QQuickWebViewFlickablePrivate): Change-Id: I8b8696e6de8f771a0985b487eb383115a5db6867 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Doc fixesPierre Rossi2012-12-031-1/+1
| | | | | | | Let's try to be compliant with the Qt5 approach. Change-Id: Ib5bc5500a6d8c916f4cc165b637eb493b7409bd0 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix compilationLars Knoll2012-11-301-2/+2
| | | | | | | | QWindow::pos() is not called position() Change-Id: Id55c0411dc9c46560440c6682040cf76353747ed Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit 6a4a1d32e1d779548c726c4826cba9d69eb87601 ↵Simon Hausmann2012-11-3054-92/+546
| | | | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@136242) Final import for the Qt 5.x series that implements the QtWebKit / QtWebKitWidgets split Extra fixes will be cherry-picked. Change-Id: I844f1ebb99c6d6b75db31d6538c2acd628e79681 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix compilationLars Knoll2012-11-301-2/+2
| | | | | | | QWindow::pos() is not called position() Change-Id: I0c3703b39bdf22918aba0a309ca8805e4036dfd8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Imported WebKit commit c60cfe0fc09efd257aa0111d7b133b02deb8a63e ↵Simon Hausmann2012-11-2944-220/+513
| | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@136119) New snapshot that includes the fix for installing the QtWebProcess into libexec Change-Id: I01344e079cbdac5678c4cba6ffcc05f4597cf0d7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>