summaryrefslogtreecommitdiff
path: root/Source/WebKit2
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>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-121-2/+2
|\ | | | | | | Change-Id: Iea6cf3f34fb33f2d138b72243b0e688958d9424e
| * 8 bytes memory leaks in WebProcessMainQt.cpp when proxy is initializedMinju Kim2014-02-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=118515 Patch by Minju Kim <pmuarteo@gmail.com> on 2013-09-25 Reviewed by Christophe Dumez. * WebProcess/qt/WebProcessMainQt.cpp: (WebKit::initializeProxy): Handled EnvHttpProxyFactory by using OwnPtr to avoid memory leak when it isn't handled by NetworkProxyFactory Change-Id: I51833871d8e11441ffe60d51629814e64f77d792 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156449 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Michael Bruning <michael.bruning@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>
* Ensure that cursor rectangle is always valid.Luca Ottaviano2014-01-151-1/+13
| | | | | | | | | | | | | | | | | | The cursor rectangle is given an invalid size when the user clicks on an input field; the reported size is 0 pixel wide. The cursor is then converted to a QRect, which is invalid if rectangle width is 0. This can interefere with input methods that check for cursorRect validity before reporting a cursorRect change. Make sure that a cursor rectangle with at least one valid dimension becomes a valid QRect. Task-number: QTBUG-35996 Change-Id: I4026f1136cfb006efc5d7915f0f10c1b5187c730 Signed-off-by: Luca Ottaviano <lottaviano@develer.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.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>
* Revert "[EFL][WK2] Never create WebCore scrollbars for EFL/WK2"Allan Sandfeld Jensen2013-12-121-3/+1
| | | | | | | | | | | | This reverts commit 373d3d52252ea44fdd5d17635459d18d3d4b3e94. Allow FrameViews to have hidden Scrollbars. This fixes key event scrolling in fixed layout mode. Task-number: QTBUG-34203 Change-Id: Idf157d51e01ba4d831e62d1e24f7283030c8e177 Reviewed-by: Michael Bruning <michael.bruning@digia.com> 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>
* WebKitQML examples does not work on MacAllan Sandfeld Jensen2013-11-251-3/+4
| | | | | | | | | | A combination of a flawed GCC 4.2 implementation and a compiler misdetection that meant it was also used for clang caused WebKitQML to crash on startup. Task-number: QTBUG-35040 Change-Id: I77534c0e9974a79e7487d5211b1374b250219d49 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Only use 64bit atomics when supportedAllan Sandfeld Jensen2013-10-284-12/+21
| | | | | | | | | | | | | | | | | | | | 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-213-2/+42
| | | | | | | | | | | | | | 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>
* Remove unused WebKit2QML libraryAllan Sandfeld Jensen2013-10-113-87/+3
| | | | | | | | | This library was introduced after Qt 5.1 as a transition to only using WebKit2's C API. The transition was never completed and the WebKit2QML library currently only contains one file and serves no purpose. Change-Id: Iaa2cc0db5504c957065952b693fc68c8fcb84176 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-273-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Fix build on OS X 10.6Allan Sandfeld Jensen2013-09-242-0/+17
| | | | | | | | | | | The assembler on older Mac's is buggy and requires 'movd' instructions instead of 'movq' on x64. This is worked around in newer GCCs, but for older ones it is easier to just not build LLint. Do not use automatic conversion of Function<> to BLOCK. Change-Id: I623c91acc79cd3476c441e1c981a2152de05d00c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix build with MingWAllan Sandfeld Jensen2013-09-202-3/+1
| | | | | | | | | Fix wrong export/import flags in inlined methods. Use normal GCC inline asm instead of _ReadWriteBarrier. Change-Id: Iba6b923be383777f2807d84349044dbe5a22eb57 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Remove C++11 requirement in WebKit2Allan Sandfeld Jensen2013-09-19103-273/+289
| | | | | | | | 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-191555-70662/+109375
| | | | | | | 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>
* | Unprefix Page Visibility APIsimon.fraser@apple.com2013-08-092-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=102340 Source/WebCore: Reviewed by Tim Horton. Remove prefixes from the document properties, and the visibilitychanged event. Rename the "preview" state to "unloaded". The "unloaded" state is never reached yet (see https://bugs.webkit.org/show_bug.cgi?id=116769). Add some comments to places where we should update the visibility state when going in and out of the page cache, but cannot safely do so yet. Tested by existing Page Visibility tests. * dom/Document.cpp: (WebCore::Document::pageVisibilityState): (WebCore::Document::visibilityState): (WebCore::Document::hidden): (WebCore::Document::dispatchVisibilityStateChangeEvent): * dom/Document.h: * dom/Document.idl: * dom/EventNames.h: * history/CachedFrame.cpp: (WebCore::CachedFrameBase::restore): * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): * page/Page.cpp: (WebCore::Page::setVisibilityState): * page/PageVisibilityState.cpp: (WebCore::pageVisibilityStateString): * page/PageVisibilityState.h: Source/WebKit/efl: Reviewed by Tim Horton. Rename "preview" state to "unloaded" state. * WebCoreSupport/AssertMatchingEnums.cpp: * ewk/ewk_view.h: Source/WebKit/mac: Reviewed by Tim Horton. Renaming of the "preview" state to "unloaded". * WebView/WebView.mm: * WebView/WebViewPrivate.h: Source/WebKit2: Reviewed by Tim Horton. Renaming of the "preview" state to "unloaded". * Shared/API/c/WKPageVisibilityTypes.h: * Shared/API/c/WKSharedAPICast.h: (WebKit::toPageVisibilityState): Tools: Reviewed by Tim Horton. Rename "preview" state to "unloaded" state, and adjust the tests to test for it. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setPageVisibility): * TestWebKitAPI/Tests/WebKit2/PageVisibilityState.cpp: (TestWebKitAPI::setPageVisibilityStateWithEvalContinuation): (TestWebKitAPI::didRunStep2StateChangeHiddenToPrerender): (TestWebKitAPI::didRunStep3StateChangePrerenderToUnloaded): (TestWebKitAPI::didRunStep4InStateUnloaded): * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.html: * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm: (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setPageVisibility): LayoutTests: Reviewed by Tim Horton. Remove prefixes, adjust to state name changes. * fast/events/page-visibility-iframe-delete-test.html: * fast/events/page-visibility-iframe-move-test-expected.txt: * fast/events/page-visibility-iframe-move-test.html: * fast/events/page-visibility-iframe-propagation-test-expected.txt: * fast/events/page-visibility-iframe-propagation-test.html: * fast/events/page-visibility-null-view-expected.txt: * fast/events/page-visibility-null-view.html: * fast/events/page-visibility-transition-test-expected.txt: * fast/events/page-visibility-transition-test.html: Change-Id: I9751efeae0bab8136a63c7e22ad0d513fc8ceb0c git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150695 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | Improve PageVisibility API with enumsjoepeck@webkit.org2013-08-0816-22/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'stable' into devSergio Ahumada2013-08-051-1/+1
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ic3d3ef471f7b64dde6b7965d8514fc6916012c2f
| * make use of qtHaveModule()Oswald Buddenhagen2013-07-291-1/+1
| | | | | | | | | | | | | | there is an upstream function for that now. Change-Id: I3af000cf3b727d367439fee5a7fbd87064f70d4d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@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>
* Always listen for the DidFirstLayout layout milestoneandersca@apple.com2013-04-111-0/+3
| | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=103795 http://trac.webkit.org/changeset/136302 Reviewed by Dan Bernstein. The DidFirstLayout layout milestone is used to determine when to unfreeze the layer tree, so we always want to listen for it. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136302 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: I181e996ecc95be1bdc2454ca36709ab789a90bc7 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-052-4/+4
| | | | | | | | | | | | | | | | | | | | | | 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-137-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* 32-bit build for Qt5 on Mac OS fails ↵Andras Becsi2013-01-182-0/+15
| | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=107094 We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS. Fixed 32-bit build detection for support Qt5. http://trac.webkit.org/changeset/140029 Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17 Reviewed by Benjamin Poulain. Change-Id: I2748db966a6dff76add422b791717bce87517e84 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Poul Sysolyatin <psytonx@gmail.com>
* [Qt] Fix a crash when the QQuickWebPage is destroyed between the scene graph ↵jocelyn.turcotte2013-01-164-14/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-166-37/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-142-0/+16
| | | | | | | | | | | | | | | | | 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-172-12/+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>