summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@nokia.com>2010-09-13 10:26:03 (GMT)
committerPaul Olav Tvete <paul.tvete@nokia.com>2010-09-13 10:46:16 (GMT)
commit06dc8791a70329dc8e985a0eed7e434d1f762ec5 (patch)
treef3a9f55307207088676d4c48ec67ec418fa56053 /src/3rdparty/webkit
parent59a2ff150795e1281e6b4fea435e74d3434a5ad2 (diff)
parent31cc0b1820c0c8fdfdbc3d5b804f2dba2051c96f (diff)
downloadQt-06dc8791a70329dc8e985a0eed7e434d1f762ec5.zip
Qt-06dc8791a70329dc8e985a0eed7e434d1f762ec5.tar.gz
Qt-06dc8791a70329dc8e985a0eed7e434d1f762ec5.tar.bz2
Merge remote branch 'qt/master' into lighthouse-master
Conflicts: configure src/corelib/global/qglobal.h src/corelib/tools/qsimd.cpp
Diffstat (limited to 'src/3rdparty/webkit')
-rw-r--r--src/3rdparty/webkit/.tag2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog12
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp10
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro36
-rw-r--r--src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp100
-rw-r--r--src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri2
7 files changed, 109 insertions, 55 deletions
diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag
index d31a2b4..1148320 100644
--- a/src/3rdparty/webkit/.tag
+++ b/src/3rdparty/webkit/.tag
@@ -1 +1 @@
-72b1c38579ca1fdb3f242e29cd16e5bfb4925813
+460b651cbe4f6994b492ff08614e57b0e31a24c8
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index c09ad79..2be6f5a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-07-08 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Oliver Hunt.
+
+ Interpreter: Crash in op_load_varargs on 64-bit
+ https://bugs.webkit.org/show_bug.cgi?id=41795
+
+ Added missing cast of argCount to int32_t in op_load_varargs.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
2010-07-02 Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed by Oliver Hunt.
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
index 73efc0d..a56040c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
@@ -3465,17 +3465,17 @@ skip_id_custom_self:
goto vm_throw;
}
ASSERT(!callFrame->callee()->isHostFunction());
- uint32_t expectedParams = callFrame->callee()->jsExecutable()->parameterCount();
- uint32_t inplaceArgs = min(argCount, expectedParams);
- uint32_t i = 0;
+ int32_t expectedParams = callFrame->callee()->jsExecutable()->parameterCount();
+ int32_t inplaceArgs = min(static_cast<int32_t>(argCount), expectedParams);
+ int32_t i = 0;
Register* argStore = callFrame->registers() + argsOffset;
// First step is to copy the "expected" parameters from their normal location relative to the callframe
for (; i < inplaceArgs; i++)
argStore[i] = callFrame->registers()[i - RegisterFile::CallFrameHeaderSize - expectedParams];
// Then we copy any additional arguments that may be further up the stack ('-1' to account for 'this')
- for (; i < argCount; i++)
- argStore[i] = callFrame->registers()[i - RegisterFile::CallFrameHeaderSize - expectedParams - argCount - 1];
+ for (; i < static_cast<int32_t>(argCount); i++)
+ argStore[i] = callFrame->registers()[i - RegisterFile::CallFrameHeaderSize - expectedParams - static_cast<int32_t>(argCount) - 1];
} else if (!arguments.isUndefinedOrNull()) {
if (!arguments.isObject()) {
exceptionValue = createInvalidParamError(callFrame, "Function.prototype.apply", arguments, vPC - callFrame->codeBlock()->instructions().begin(), callFrame->codeBlock());
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 62aa8ce..aff3f2a 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
- 72b1c38579ca1fdb3f242e29cd16e5bfb4925813
+ 460b651cbe4f6994b492ff08614e57b0e31a24c8
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index f892f9e..7e57b9c 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -83,7 +83,7 @@ CONFIG(QTDIR_build) {
symbian: TARGET =$$TARGET$${QT_LIBINFIX}
}
moduleFile=$$PWD/../WebKit/qt/qt_webkit_version.pri
-include($$moduleFile)
+isEmpty(QT_BUILD_TREE):include($$moduleFile)
VERSION = $${QT_WEBKIT_MAJOR_VERSION}.$${QT_WEBKIT_MINOR_VERSION}.$${QT_WEBKIT_PATCH_VERSION}
unix {
@@ -2858,6 +2858,25 @@ contains(DEFINES, ENABLE_SYMBIAN_DIALOG_PROVIDERS) {
}
}
+!symbian-abld:!symbian-sbsv2 {
+ modfile.files = $$moduleFile
+ modfile.path = $$[QMAKE_MKSPECS]/modules
+
+ INSTALLS += modfile
+} else {
+ # INSTALLS is not implemented in qmake's mmp generators, copy headers manually
+
+ inst_modfile.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
+ inst_modfile.input = moduleFile
+ inst_modfile.output = $$[QMAKE_MKSPECS]/modules
+ inst_modfile.CONFIG = no_clean
+
+ QMAKE_EXTRA_COMPILERS += inst_modfile
+
+ install.depends += compiler_inst_modfile_make_all
+ QMAKE_EXTRA_TARGETS += install
+}
+
include($$PWD/../WebKit/qt/Api/headers.pri)
HEADERS += $$WEBKIT_API_HEADERS
@@ -2874,10 +2893,7 @@ HEADERS += $$WEBKIT_API_HEADERS
!isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS
else: target.path = $$[QT_INSTALL_LIBS]
- modfile.files = $$moduleFile
- modfile.path = $$[QMAKE_MKSPECS]/modules
-
- INSTALLS += target headers modfile
+ INSTALLS += target headers
} else {
# INSTALLS is not implemented in qmake's s60 generators, copy headers manually
inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
@@ -2889,15 +2905,7 @@ HEADERS += $$WEBKIT_API_HEADERS
QMAKE_EXTRA_COMPILERS += inst_headers
- inst_modfile.commands = $$inst_headers.commands
- inst_modfile.input = moduleFile
- inst_modfile.output = $$[QMAKE_MKSPECS]/modules
- inst_modfile.CONFIG = no_clean
-
- QMAKE_EXTRA_COMPILERS += inst_modfile
-
- install.depends += compiler_inst_headers_make_all compiler_inst_modfile_make_all
- QMAKE_EXTRA_TARGETS += install
+ install.depends += compiler_inst_headers_make_all
}
win32-*|wince* {
diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
index c1ca23d..94f08bd 100644
--- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
@@ -91,7 +91,6 @@ GraphicsWebView::GraphicsWebView(QDeclarativeWebView* parent)
void GraphicsWebView::mousePressEvent(QGraphicsSceneMouseEvent* event)
{
- setFocus();
pressPoint = event->pos();
if (pressTime) {
pressTimer.start(pressTime, this);
@@ -101,6 +100,11 @@ void GraphicsWebView::mousePressEvent(QGraphicsSceneMouseEvent* event)
parent->setKeepMouseGrab(true);
}
QGraphicsWebView::mousePressEvent(event);
+
+ QWebHitTestResult hit = page()->mainFrame()->hitTestContent(pressPoint.toPoint());
+ if (hit.isContentEditable())
+ parent->forceActiveFocus();
+ setFocus();
}
void GraphicsWebView::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
@@ -141,46 +145,76 @@ void GraphicsWebView::mouseMoveEvent(QGraphicsSceneMouseEvent* event)
\qmlclass WebView QDeclarativeWebView
\ingroup qml-view-elements
\since 4.7
- \brief The WebView item allows you to add web content to a canvas.
+ \brief The WebView item allows you to add Web content to a canvas.
\inherits Item
- A WebView renders web content based on a URL.
+ A WebView renders Web content based on a URL.
This type is made available by importing the \c QtWebKit module:
\bold{import QtWebKit 1.0}
- If the width and height of the item is not set, they will
- dynamically adjust to a size appropriate for the content.
- This width may be large for typical online web pages.
+ The WebView item includes no scrolling, scaling, toolbars, or other common browser
+ components. These must be implemented around WebView. See the \l{QML Web Browser}
+ example for a demonstration of this.
- If the width or height is explictly set, the rendered website
- will be clipped, not scaled, to fit into the set dimensions.
+ The page to be displayed by the item is specified using the \l url property,
+ and this can be changed to fetch and display a new page. While the page loads,
+ the \l progress property is updated to indicate how much of the page has been
+ loaded.
- If the preferredWidth is set, the width will be this amount or larger,
- usually laying out the web content to fit the preferredWidth.
+ \section1 Appearance
- \qml
- import QtWebKit 1.0
+ If the width and height of the item is not set, they will dynamically adjust
+ to a size appropriate for the content. This width may be large for typical
+ online web pages, typically greater than 800 by 600 pixels.
- WebView {
- url: "http://www.nokia.com"
- preferredWidth: 490
- preferredHeight: 400
- scale: 0.5
- smooth: false
- smoothCache: true
- }
- \endqml
+ If the \l{Item::}{width} or \l{Item::}{height} is explictly set, the rendered Web site will be
+ clipped, not scaled, to fit into the set dimensions.
- \image webview.png
+ If the preferredWidth property is set, the width will be this amount or larger,
+ usually laying out the Web content to fit the preferredWidth.
- The item includes no scrolling, scaling,
- toolbars, etc., those must be implemented around WebView. See the WebBrowser example
- for a demonstration of this.
+ The appearance of the content can be controlled to a certain extent by changing
+ the settings.standardFontFamily property and other settings related to fonts.
+
+ The page can be zoomed by calling the heuristicZoom() method, which performs a
+ series of tests to determine whether zoomed content will be displayed in an
+ appropriate way in the space allocated to the item.
+
+ \section1 User Interaction and Navigation
+
+ By default, certain mouse and touch events are delivered to other items in
+ preference to the Web content. For example, when a scrolling view is created
+ by placing a WebView in a Flickable, move events are delivered to the Flickable
+ so that the user can scroll the page. This prevents the user from accidentally
+ selecting text in a Web page instead of scrolling.
+
+ The pressGrabTime property defines the time the user must touch or press a
+ mouse button over the WebView before the Web content will receive the move
+ events it needs to select text and images.
+
+ When this item has keyboard focus, all keyboard input will be sent directly to
+ the Web page within.
+
+ When the navigates by clicking on links, the item records the pages visited
+ in its internal history
+
+ Because this item is designed to be used as a component in a browser, it
+ exposes \l{Action}{actions} for \l back, \l forward, \l reload and \l stop.
+ These can be triggered to change the current page displayed by the item.
+
+ \section1 Example Usage
+
+ \beginfloatright
+ \inlineimage webview.png
+ \endfloat
+
+ The following example displays a scaled down Web page at a fixed size.
+
+ \snippet doc/src/snippets/declarative/webview/webview.qml document
- When this item has keyboard focus, all keyboard input will be sent directly to the
- web page within.
+ \clearfloat
\sa {declarative/modelviews/webview}{WebView example}, {demos/declarative/webbrowser}{Web Browser demo}
*/
@@ -389,7 +423,7 @@ void QDeclarativeWebView::setPreferredHeight(int height)
}
/*!
- \qmlmethod bool WebView::evaluateJavaScript(string)
+ \qmlmethod bool WebView::evaluateJavaScript(string scriptSource)
Evaluates the \a scriptSource JavaScript inside the context of the
main web frame, and returns the result of the last executed statement.
@@ -513,14 +547,14 @@ void QDeclarativeWebView::setRenderingEnabled(bool enabled)
}
/*!
- \qmlsignal WebView::onDoubleClick(clickx, clicky)
+ \qmlsignal WebView::onDoubleClick(int clickx, int clicky)
The WebView does not pass double-click events to the web engine, but rather
emits this signals.
*/
/*!
- \qmlmethod bool WebView::heuristicZoom(clickX,clickY,maxzoom)
+ \qmlmethod bool WebView::heuristicZoom(int clickX, int clickY, real maxzoom)
Finds a zoom that:
\list
@@ -555,11 +589,11 @@ bool QDeclarativeWebView::heuristicZoom(int clickX, int clickY, qreal maxZoom)
\qmlproperty int WebView::pressGrabTime
The number of milliseconds the user must press before the WebView
- starts passing move events through to the web engine (rather than
+ starts passing move events through to the Web engine (rather than
letting other QML elements such as a Flickable take them).
Defaults to 400ms. Set to 0 to always grab and pass move events to
- the web engine.
+ the Web engine.
*/
int QDeclarativeWebView::pressGrabTime() const
{
@@ -976,7 +1010,7 @@ QString QDeclarativeWebPage::chooseFile(QWebFrame* originatingFrame, const QStri
}
/*!
- \qmlsignal WebView::onAlert(message)
+ \qmlsignal WebView::onAlert(string message)
The handler is called when the web engine sends a JavaScript alert. The \a message is the text
to be displayed in the alert to the user.
diff --git a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
index d8cf06c..4594d1e 100644
--- a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
+++ b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
@@ -2,4 +2,4 @@ QT_WEBKIT_VERSION = 4.7.0
QT_WEBKIT_MAJOR_VERSION = 4
QT_WEBKIT_MINOR_VERSION = 7
QT_WEBKIT_PATCH_VERSION = 0
-QT_CONFIG *= webkit
+QT_CONFIG += webkit