summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit')
-rw-r--r--src/3rdparty/webkit/.tag2
-rw-r--r--src/3rdparty/webkit/ChangeLog31
-rwxr-xr-xsrc/3rdparty/webkit/Source/WebCore/ChangeLog38
-rw-r--r--src/3rdparty/webkit/Source/WebCore/WebCore.pro5
-rw-r--r--src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/platform/win/SystemTimeWin.cpp3
-rw-r--r--src/3rdparty/webkit/Source/WebKit.pri9
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/Api/qwebpage.cpp2
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/ChangeLog36
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro13
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit-goes-mobile.qdoc191
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdoc3
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/qtwebkit_goes_mobile_snippets.cpp61
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/webelement/main.cpp2
-rw-r--r--src/3rdparty/webkit/VERSION2
15 files changed, 390 insertions, 10 deletions
diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag
index 34446ae..12a28b8 100644
--- a/src/3rdparty/webkit/.tag
+++ b/src/3rdparty/webkit/.tag
@@ -1 +1 @@
-64cce100215c71575f19ca0b090c65fa97d4ba10
+52a11cec052aa40d3bbc06861be1177b649b4a99
diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog
index bc11b4d..bbaf26d 100644
--- a/src/3rdparty/webkit/ChangeLog
+++ b/src/3rdparty/webkit/ChangeLog
@@ -1,3 +1,34 @@
+2011-11-09 Zeno Albisser <zeno.albisser@nokia.com>
+
+ [Qt] Unreviewed: Fix build on Mac.
+ https://bugreports.qt.nokia.com/browse/QTBUG-20619
+
+ This bug was introduced by the previous commit
+ for the same bugreport.
+
+ * Source/WebKit.pri:
+
+2011-11-09 Zeno Albisser <zeno.albisser@nokia.com>
+
+ [Qt] Unreviewed: Fix debug_and_release build on Windows.
+ https://bugreports.qt.nokia.com/browse/QTBUG-20619
+
+ This bug was introduced by the previous commit
+ for the same bugreport.
+
+ * Source/WebKit.pri:
+
+2011-11-03 Zeno Albisser <zeno.albisser@nokia.com>
+
+ [Qt] Unreviewed: Fix universal binary build on Mac.
+ https://bugreports.qt.nokia.com/browse/QTBUG-20619
+
+ When building a universal binary the debug version
+ exceeds the maximum size of a static library.
+ Therefore we do not allow this configuration.
+
+ * Source/WebKit.pri:
+
2011-08-06 Aron Rosenberg <arosenberg@logitech.com>
Reviewed by Benjamin Poulain.
diff --git a/src/3rdparty/webkit/Source/WebCore/ChangeLog b/src/3rdparty/webkit/Source/WebCore/ChangeLog
index da9d1b2..ead97bd 100755
--- a/src/3rdparty/webkit/Source/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/Source/WebCore/ChangeLog
@@ -1,3 +1,41 @@
+2011-11-01 Zeno Albisser <zeno.albisser@nokia.com>
+
+ [Qt] bad codegen, pointer diff in JSC::JSCallbackConstructor::JSCallbackConstructor
+ https://bugs.webkit.org/show_bug.cgi?id=60951
+
+ Adjust symbols visibility for WebCore.
+
+ Reviewed by Simon Hausmann.
+
+ * WebCore.pro:
+
+2011-10-28 Zeno Albisser <zeno.albisser@nokia.com>
+
+ [Qt] Unreviewed: Build fix for MSVC2005
+
+ Patch by Andy Shaw <andy.shaw@digia.com>
+
+ * platform/win/SystemTimeWin.cpp:
+
+2011-10-13 Zeno Albisser <zeno.albisser@nokia.com>
+
+ [Qt] QtWebKit build error for Mac 32bit
+ https://bugs.webkit.org/show_bug.cgi?id=69914
+
+ In WebCore.pro and QtWebKit.pro we define NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES
+ when compiling with ENABLE_VIDEO and with WTF_USE_QTKIT.
+ But this is meant to be defined in NSGeometry.h under certain preconditions.
+ Without setting NS_BUILD_32_LIKE_64 none of these preconditions is
+ met and therefore NSGeometry.h will create several conflicting type definitions.
+
+ With this patch we create consistent definitions again.
+ Due to the order of include files we cannot remove
+ NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES from WebCore.pro.
+
+ Reviewed by Andreas Kling.
+
+ * WebCore.pro:
+
2011-09-12 Adam Klein <adamk@chromium.org>
Fix out-of-bounds access in Gradient::sortStopsIfNecessary
diff --git a/src/3rdparty/webkit/Source/WebCore/WebCore.pro b/src/3rdparty/webkit/Source/WebCore/WebCore.pro
index a305549..ceceee8 100644
--- a/src/3rdparty/webkit/Source/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/Source/WebCore/WebCore.pro
@@ -7,6 +7,8 @@ include($$PWD/../WebKit.pri)
include($$PWD/WebCore.pri)
include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
+contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+
TEMPLATE = lib
TARGET = $$WEBCORE_TARGET
CONFIG += staticlib
@@ -2973,6 +2975,9 @@ contains(DEFINES, ENABLE_VIDEO=1) {
platform/mac/WebWindowAnimation.mm
DEFINES+=NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES
+ contains(CONFIG, "x86") {
+ DEFINES+=NS_BUILD_32_LIKE_64
+ }
} else: contains(DEFINES, WTF_USE_GSTREAMER=1) {
HEADERS += \
diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h b/src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h
index a9366ed..7713002 100644
--- a/src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h
+++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h
@@ -27,7 +27,7 @@
#define JSExceptionBase_h
namespace JSC {
-
+
class JSValue;
} // namespace JSC
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/win/SystemTimeWin.cpp b/src/3rdparty/webkit/Source/WebCore/platform/win/SystemTimeWin.cpp
index 547decc..c40a45a 100644
--- a/src/3rdparty/webkit/Source/WebCore/platform/win/SystemTimeWin.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/platform/win/SystemTimeWin.cpp
@@ -27,6 +27,9 @@
#include "SystemTime.h"
#include <limits>
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT 0x0500
+#endif
#include <windows.h>
namespace WebCore {
diff --git a/src/3rdparty/webkit/Source/WebKit.pri b/src/3rdparty/webkit/Source/WebKit.pri
index 5bd9577..c469d1a 100644
--- a/src/3rdparty/webkit/Source/WebKit.pri
+++ b/src/3rdparty/webkit/Source/WebKit.pri
@@ -10,6 +10,15 @@ CONFIG(QTDIR_build) {
# Make sure we compile both debug and release on mac when inside Qt.
# This line was extracted from qbase.pri instead of including the whole file
win32|mac:!macx-xcode:CONFIG += debug_and_release
+ # In case we are building a universal binary for Qt, building debug is not
+ # possible because we would exceed the maximum library size for 32bit.
+ mac:contains(QT_CONFIG, x86):contains(QT_CONFIG, x86_64) {
+ CONFIG(debug_and_release)|CONFIG(debug, debug|release) {
+ message(Building a universal binary with debug symbols is not possible. Building release!)
+ CONFIG -= debug_and_release debug
+ CONFIG += release
+ }
+ }
} else {
!CONFIG(release, debug|release) {
OBJECTS_DIR = obj/debug
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/Source/WebKit/qt/Api/qwebpage.cpp
index b3efe0f..8f0f153 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/Source/WebKit/qt/Api/qwebpage.cpp
@@ -3972,7 +3972,7 @@ quint64 QWebPage::bytesReceived() const
}
/*!
- \since 4.7
+ \since 4.8
\fn void QWebPage::viewportChangeRequested()
Page authors can provide the supplied values by using the viewport meta tag. More information
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog
index 32428f1..7ba98b8 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog
@@ -1,3 +1,39 @@
+2011-11-03 Jesus Sanchez-Palencia <jesus@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QtWebKit should have documentation clarifying its mobile features usage
+ https://bugs.webkit.org/show_bug.cgi?id=41465
+
+ Add "QtWebKit Goes Mobile" documentation
+
+ * docs/qtwebkit-goes-mobile.qdoc: Added.
+ * docs/qtwebkit.qdoc: Linked to qtwebkit-goes-mobile documentation
+ * docs/webkitsnippets/qtwebkit_goes_mobile_snippets.cpp: Added.
+
+2011-11-01 Alexis Menard <alexis.menard@openbossa.org>
+
+ Unreviewed Qt documentation fix.
+
+ This signal is Qt 4.8 material.
+
+ * Api/qwebpage.cpp:
+
+2011-10-21 Zeno Albisser <zeno.albisser@nokia.com>
+
+ [Qt] WebKit build does not respect QMAKE_MAC_SDK variable.
+ https://bugs.webkit.org/show_bug.cgi?id=70596
+
+ Instead of only relying on DARWIN_MAJOR_VERSION we also
+ check QMAKE_MAC_SDK. In case QMAKE_MAC_SDK is not defined
+ we are still falling back to DARWIN_MAJOR_VERSION.
+
+ Patch by Andy Shaw <andy.shaw@digia.com>
+
+ Reviewed by Noam Rosenthal.
+
+ * QtWebKit.pro:
+
2011-09-06 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
[Qt][Symbian] REGRESSION[94105] DumpRenderTree.exe doesn't build on Symbian
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro b/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
index 41b0d39..197aa98 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
+++ b/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
@@ -233,6 +233,9 @@ contains(DEFINES, ENABLE_VIDEO=1) {
$$SOURCE_DIR/../WebKitLibraries/
DEFINES+=NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES
+ contains(CONFIG, "x86") {
+ DEFINES+=NS_BUILD_32_LIKE_64
+ }
HEADERS += $$PWD/WebCoreSupport/WebSystemInterface.h \
$$PWD/WebCoreSupport/QTKitFullScreenVideoHandler.h
@@ -244,12 +247,12 @@ contains(DEFINES, ENABLE_VIDEO=1) {
# We can know the Mac OS version by using the Darwin major version
DARWIN_VERSION = $$split(QMAKE_HOST.version, ".")
DARWIN_MAJOR_VERSION = $$first(DARWIN_VERSION)
- equals(DARWIN_MAJOR_VERSION, "11") {
- LIBS += $$SOURCE_DIR/../WebKitLibraries/libWebKitSystemInterfaceLion.a
- } else:equals(DARWIN_MAJOR_VERSION, "10") {
- LIBS += $$SOURCE_DIR/../WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a
- } else:equals(DARWIN_MAJOR_VERSION, "9") {
+ equals(DARWIN_MAJOR_VERSION, "9") | contains(QMAKE_MAC_SDK, "/Developer/SDKs/MacOSX10.5.sdk") {
LIBS += $$SOURCE_DIR/../WebKitLibraries/libWebKitSystemInterfaceLeopard.a
+ } else: equals(DARWIN_MAJOR_VERSION, "10") | contains(QMAKE_MAC_SDK, "/Developer/SDKs/MacOSX10.6.sdk") {
+ LIBS += $$SOURCE_DIR/../WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a
+ } else: equals(DARWIN_MAJOR_VERSION, "11") | contains(QMAKE_MAC_SDK, "/Developer/SDKs/MacOSX10.7.sdk") {
+ LIBS += $$SOURCE_DIR/../WebKitLibraries/libWebKitSystemInterfaceLion.a
}
}
}
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit-goes-mobile.qdoc b/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit-goes-mobile.qdoc
new file mode 100644
index 0000000..40144d1
--- /dev/null
+++ b/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit-goes-mobile.qdoc
@@ -0,0 +1,191 @@
+/*!
+ \inmodule QtWebKit
+ \page qtwebkit-goes-mobile.html
+ \title QtWebKit Goes Mobile
+ \contentspage QtWebKit
+ \section1 Overview
+
+ A lot of effort has been put into QtWebKit to make it attractive for
+ use on mobile devices.
+
+ The goal of this tutorial is to help you understand the mobile
+ features and how to make the best of them, in other words, how to
+ create a good mobile web view that can be used on touch devices.
+
+ If you want to target mobile devices you should consider using \l{QGraphicsWebView}
+ instead of \l{QWebView}. Since \l{QWebView} is based on the \l{QWidget}
+ system, it cannot easily support rotation, overlays, hardware accelerated
+ compositing and tiling. If you need a \l{QWidget} anyway, you can always
+ construct a \l{QGraphicsView} (which is a \l{QWidget}) with a \l{QGraphicsWebView} inside.
+
+ So let's start with a very simple \l{QGraphicsWebView} based "browser":
+
+ \snippet webkitsnippets/qtwebkit_goes_mobile_snippets.cpp 0
+
+ Here we set up a \l{QGraphicsView} application and add a
+ \l{QGraphicsWebView} to the scene. Notice
+ that we're disabling the scrollbars on the QGraphicsView because QtWebKit
+ handles scrolling and scrollbars automatically. This is to allow scrolling
+ optimizations and to enable web authors to interact with the scrollbars,
+ for instance, to style them differently.
+
+ On touch-based mobile devices a feature known as tiling is often used. It
+ is used due to the interaction model (touch) as well as a scrolling
+ optimization. With this optimization we will have to deal with scrolling
+ ourselves, and we will have to disable features like scroll bar styling.
+ This is not usually a problem, since mobile browsers do not usually show
+ scroll bars, but use scroll indicators instead.
+
+ Tiling basically means that the contents of the viewport is separated into
+ a grid of tiles, so that when you update an area, instead of just updating
+ the area, you actually update the whole tile or sub-regions of it.
+ This offers a few advantages for scrolling as, when you scroll, you do not need
+ to repaint the new visible area for each scroll step, but you simply update a row
+ of tiles each time; these tiles are often only partly on the screen.
+ This minimizes all the painting calls that we have to do and enables kinetic scrolling.
+
+ Loading, rendering, and laying out are blocking operations. Though barely
+ noticeable on desktop machines, these operations can block for a long time
+ on a mobile device, letting the user believe the application has become
+ unresponsive. Additionally, scrolling will also stall when the user uses
+ his fingers to scroll, leading to a bad user experience.
+
+ One way to overcome this issue, is to do all loading, laying out and
+ painting (basically all non-UI related work) in another thread or process, and
+ just blit the result from the web process/thread to the UI. There is research
+ in progress to enable this for a future version of QtWebKit, using WebKit2, but for now,
+ freezing the backing store can help when performing a zooming operation, for instance.
+ This will be discussed later, in the \l{#Enabling the Tiling}{Enabling the Tiling} section.
+
+ When using tiles, you can blit any tile available when scrolling. When no tile is available you
+ can show a checkerboard tile instead, not letting the scrolling wait for the
+ tiles to be updated. This results in a responsive interface, with the only
+ disadvantage that you might see checkerboard tiles from time to time.
+
+ The use of tiles also helps with zooming. Repainting at each zoom level change during
+ a zoom animation is basically impossible on a mobile device (or desktop for
+ that matter) and thus, with tiling, you can stop the tiles from being updated and
+ just scale the existing tiles. Then, at the end of the animation, update
+ tiles on top of the scaled ones. For now we will ignore the blocking
+ issue and concentrate on the tiling and the interaction model.
+ More information about Tiling can be found here: \l{http://doc.qt.nokia.com/4.7/qwebsettings.html#WebAttribute-enum} (see the entry for TiledBackingStoreEnabled).
+
+
+ \section1 Resize to Contents
+
+ When using tiling, we want the \l{QGraphicsWebView} to act as our
+ content, as it supports tiling. In order for this we need to make it
+ resize itself to the size of its contents. For this we will use
+ \l{QGraphicsWebView::resizesToContents}.
+
+ This setting removes the scroll bars for us on the main frame and
+ makes our \l{QGraphicsWebView} resize itself to the size of its content.
+
+ Enabling it is as easy as setting the property:
+
+ \snippet webkitsnippets/qtwebkit_goes_mobile_snippets.cpp 1
+
+ The property should be used in conjunction with the
+ QWebPage::preferredContentsSize property. If not explicitly set,
+ it is automatically set to a reasonable value.
+
+ If we expand our mobile web view to the size of the contents
+ of its contained page, the view will be bigger than the device screen.
+
+
+ \section1 Using a View as the Window onto the Contents
+
+ The idea is to have a custom widget which has a \l{QGraphicsWebView} as a
+ class member. Remember that the QGraphicsWebView will be as big as its
+ content's size, so this custom widget will serve as a viewport onto the
+ web view.
+
+ The following code snippet illustrates this:
+
+ \snippet webkitsnippets/qtwebkit_goes_mobile_snippets.cpp 2
+
+ In order to properly handle mouse events, you must install an event filter
+ on the web view or stack it behind its parent object
+ (\l{QGraphicsItem::ItemStacksBehindParent}). By doing this the mouse events will
+ reach a \c{MobileWebView} instance before they reach the member
+ \l{QGraphicsWebView}. Keep in mind that you'll need to add some logic in order
+ to distinguish between different mouse events and gestures, such as a
+ single click, double click and click-and-pan. Besides, scrolling and
+ zooming will have to be implemented manually.
+
+
+ \section1 Adjusting How Contents are Laid Out
+
+ When testing the above on a device, you will notice that many pages are not
+ laid out very nicely. In particular, the width of the content may be larger
+ than the width of the device. This is due to the way web contents are laid
+ out. First, the viewport width is used for fitting the contents. If the
+ contents do not fit due to a non-flexible element with a width larger than
+ the viewport width, the minimum possible width will be used. As most pages
+ are written with a desktop browser in mind, that makes only very few sites
+ fit into the width of a mobile device.
+
+ QtWebKit has a way to force a layout to a given width or height. What really
+ matters here is the width. If you lay out a page to a given width, it will get
+ that width and images might be cropped. The width or height is also used for
+ laying out fixed elements, but when we resize the \l{QGraphicsWebView} to the
+ size of the contents, fixed elements will not be relative to the view, which is
+ the behavior found on most mobile browsers.
+
+ We saw that the QWebPage::preferredContentsSize property is automatically set
+ to a reasonable value when using \l{QGraphicsWebView::resizesToContents}.
+
+ As you can imagine, laying out with a smaller viewport can cause pages to
+ break, therefore a default value has been chosen so that it almost breaks no
+ pages while still making pages fit. This value is 960x800. If the device
+ has a greater resolution, this value can be changed like this:
+
+ \snippet webkitsnippets/qtwebkit_goes_mobile_snippets.cpp 3
+
+ You can play around with this and find a suitable size for your device,
+ but we will keep the default size for now.
+
+
+ \section1 The 'viewport' Meta-Tag
+
+ As some sites do not work with 960 pixels width or want to have control of
+ how the page is laid out, QtWebKit, Android, Firefox Mobile and
+ the iPhone Safari browser support a meta-tag called \c viewport. This makes
+ it possible for a web page to let the browser know how it wants to be shown.
+ More info can be found in the
+ \l{http://developer.apple.com/safari/library/documentation/appleapplications/reference/safariwebcontent/usingtheviewport/usingtheviewport.html}{Safari Developer Library}.
+
+ You must connect the signal \c{QWebPage::viewportChangeRequested(const
+ QWebPage::ViewportHints& hints)} to a slot of your mobile web view and use what
+ is provided by \l{QWebPage::ViewportHints} to update your viewport size, scale
+ range, and so on.
+
+
+ \section1 Enabling the Tiling
+
+ We haven't actually enabled tiling yet, so let's go ahead and do that. That
+ is very simple as it is basically a setting:
+
+ \snippet webkitsnippets/qtwebkit_goes_mobile_snippets.cpp 4
+
+ Note that, if you are going to add animations to your zooming or scaling
+ operations or want to implement fancy kinetic scrolling you might want to
+ take a look at \l{QGraphicsWebView::setTiledBackingStoreFrozen()}. With this,
+ you can avoid updates to your tiles during an animation, for instance.
+
+
+ \section1 Avoiding Scrollable Subelements
+
+ One big issue with the above is that, iframes and sites using frames can
+ contain scrollable subelements. That doesn't work well with the touch
+ interaction model, as you want a finger swipe to scroll the whole page and not
+ end up just scrolling a subframe. Most mobile browsers work around this by
+ enabling something called frame flattening. Going straight to the point:
+
+ \snippet webkitsnippets/qtwebkit_goes_mobile_snippets.cpp 5
+
+ This will make all frames from a web page expand themselves to the size of
+ their contents, keeping us free of scrollable subareas.
+
+
+*/
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdoc b/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdoc
index 1e76901..710d194 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdoc
+++ b/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdoc
@@ -29,6 +29,9 @@
made fully editable to the user through the use of the \c{contenteditable}
attribute on HTML elements.
+ QtWebKit has been enhanced to become more attractive on the mobile front as well.
+ For more information see \l{QtWebKit Goes Mobile}.
+
QtWebKit is based on the Open Source WebKit engine. More information about
WebKit itself can be found on the \l{WebKit Open Source Project} Web site.
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/qtwebkit_goes_mobile_snippets.cpp b/src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/qtwebkit_goes_mobile_snippets.cpp
new file mode 100644
index 0000000..8126fbf
--- /dev/null
+++ b/src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/qtwebkit_goes_mobile_snippets.cpp
@@ -0,0 +1,61 @@
+#if 0
+// ! [0]
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ const int width = 640;
+ const int height = 480;
+
+ QGraphicsScene scene;
+
+ QGraphicsView view(&scene);
+ view.setFrameShape(QFrame::NoFrame);
+ view.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ view.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+
+ QGraphicsWebView webview;
+ webview.resize(width, height);
+ webview.load(QUrl("http://doc.qt.nokia.com/"));
+
+ scene.addItem(&webview);
+
+ view.resize(width, height);
+ view.show();
+
+ return app.exec();
+}
+// ! [0]
+
+
+// ! [1]
+webview.setResizesToContents(true);
+// ! [1]
+
+// ! [2]
+class MobileWebView : public QGraphicsWidget {
+ Q_OBJECT
+public:
+ MobileWebView(QGraphicsItem *parent = 0);
+ ~MobileWebView();
+
+ bool mousePress(const QPoint &value);
+ void mouseMove(const QPoint &value);
+ void mouseRelease(const QPoint &value);
+
+private:
+ QGraphicsWebView* webView;
+};
+// ! [2]
+
+// ! [3]
+webview.page()->setPreferredContentsSize(QSize(desiredWidth, desiredHeight));
+// ! [3]
+
+// ! [4]
+QWebSettings::globalSettings()->setAttribute(QWebSettings::TiledBackingStoreEnabled, true);
+// ! [4]
+
+// ! [5]
+QWebSettings::globalSettings()->setAttribute(QWebSettings::FrameFlatteningEnable, true);
+// ! [5]
+#endif
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/webelement/main.cpp b/src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/webelement/main.cpp
index b1781a6..59c124c 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/webelement/main.cpp
+++ b/src/3rdparty/webkit/Source/WebKit/qt/docs/webkitsnippets/webelement/main.cpp
@@ -57,7 +57,7 @@ static void findButtonAndClick()
*/
QWebElement button = document.findFirst("input[type=submit]");
- button.evaluateJavaScript("click()");
+ button.evaluateJavaScript("this.click()");
//! [Calling a DOM element method]
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 6a40345..750e7e7 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from
and has the sha1 checksum
- 64cce100215c71575f19ca0b090c65fa97d4ba10
+ 52a11cec052aa40d3bbc06861be1177b649b4a99