summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/WebCore
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2010-06-04 08:33:36 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2010-06-04 08:33:36 (GMT)
commit51c3d06e09b5e501ed7536504053c02366b2df0d (patch)
treefe643d6d5a197902205675952a9524648eb7e1f1 /src/3rdparty/webkit/WebCore
parent1448e19b3613ab7c5498c17c619586d03ec46d18 (diff)
downloadQt-51c3d06e09b5e501ed7536504053c02366b2df0d.zip
Qt-51c3d06e09b5e501ed7536504053c02366b2df0d.tar.gz
Qt-51c3d06e09b5e501ed7536504053c02366b2df0d.tar.bz2
Updated WebKit to de1e909b06cbc981d63e0fc0f6a3f84002dd1e80
Integrated changes: || <https://webkit.org/b/39694> || [Qt] GraphicsLayer: warnings when reloading page || || <https://webkit.org/b/38762> || [Qt] Flash Plugin is not working on mac-cocoa-32 || || <https://webkit.org/b/39918> || REGRESSION(58615): Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar || || <https://webkit.org/b/26224> || [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter || || <https://webkit.org/b/35861> || [Qt] Add documentation to the QtWebkit bridge || || <https://webkit.org/b/33176> || [Qt] The FIRST letter in the PASSWORD field is taken in UPPERCASE by DEFAULT in gmail.com web page ||
Diffstat (limited to 'src/3rdparty/webkit/WebCore')
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog79
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.gypi2
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro15
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm (renamed from src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp)5
9 files changed, 110 insertions, 11 deletions
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index e907167..57e0e44 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,82 @@
+2010-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix NPAPI support on Mac OS X/Cocoa-32
+
+ qt_mac_window_for() returns a NSWindow on Cocoa, so we were
+ passing in a NSWindow instead of a WindowRef as part of the
+ NP_CGContext.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38762
+
+ * WebCore.gypi: Reflect rename
+ * WebCore.pro: Reflect rename
+ * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
+ and fix bug by getting the Carbon windowRef from the NSWindow.
+ * wscript: Reflect rename
+
+2010-06-02 Nico Weber <thakis@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
+ https://bugs.webkit.org/show_bug.cgi?id=39918
+
+ This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
+ that patch.
+
+ Test: editing/input/page-up-down-scrolls.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollPositionChanged):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::valueChanged):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
+
+2010-06-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined
+
+ First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
+ overwrote it with the $$INSTALL_HEADERS variant without checking if the
+ variable was set.
+
+ Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].
+
+ * WebCore.pro:
+
+2010-06-01 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: warnings when reloading page
+ https://bugs.webkit.org/show_bug.cgi?id=39694
+
+ Made sure recaching and masks aren't attempted on zero-size layers.
+
+ No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::MaskEffectQt::draw):
+ (WebCore::GraphicsLayerQtImpl::recache):
+
+2010-05-10 Rodrigo Belem <rodrigo.belem@openbossa.org>
+
+ Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
+
+ [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
+ https://bugs.webkit.org/show_bug.cgi?id=26224
+
+ This patch adds the ability, in the QtWebkit build system, to change
+ the installation path.
+
+ * WebCore.pro:
+
2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Laszlo Gombos.
diff --git a/src/3rdparty/webkit/WebCore/WebCore.gypi b/src/3rdparty/webkit/WebCore/WebCore.gypi
index 1e92f1f..94a6052 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.gypi
+++ b/src/3rdparty/webkit/WebCore/WebCore.gypi
@@ -2920,7 +2920,7 @@
'plugins/gtk/xembed.h',
'plugins/mac/PluginDataMac.mm',
'plugins/mac/PluginPackageMac.cpp',
- 'plugins/mac/PluginViewMac.cpp',
+ 'plugins/mac/PluginViewMac.mm',
'plugins/qt/PluginDataQt.cpp',
'plugins/qt/PluginPackageQt.cpp',
'plugins/qt/PluginViewQt.cpp',
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index 2a1536c..ba669bd 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -2166,7 +2166,7 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
mac {
SOURCES += \
plugins/mac/PluginPackageMac.cpp \
- plugins/mac/PluginViewMac.cpp
+ plugins/mac/PluginViewMac.mm
OBJECTIVE_SOURCES += \
platform/text/mac/StringImplMac.mm \
platform/mac/WebCoreNSStringExtras.mm
@@ -2852,8 +2852,12 @@ CONFIG(QTDIR_build) {
!symbian {
headers.files = $$WEBKIT_INSTALL_HEADERS
- headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
- target.path = $$[QT_INSTALL_LIBS]
+
+ !isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/QtWebKit
+ else: headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
+
+ !isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS
+ else: target.path = $$[QT_INSTALL_LIBS]
modfile.files = $$moduleFile
modfile.path = $$[QMAKE_MKSPECS]/modules
@@ -2863,7 +2867,10 @@ CONFIG(QTDIR_build) {
# INSTALLS is not implemented in qmake's s60 generators, copy headers manually
inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
inst_headers.input = WEBKIT_INSTALL_HEADERS
- inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+
+ !isEmpty(INSTALL_HEADERS): inst_headers.output = $$INSTALL_HEADERS/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+ else: inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+
QMAKE_EXTRA_COMPILERS += inst_headers
inst_modfile.commands = $$inst_headers.commands
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
index 39c92de..bc0519f 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.cpp
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
@@ -1060,7 +1060,11 @@ void FrameView::setScrollPosition(const IntPoint& scrollPoint)
void FrameView::scrollPositionChanged()
{
frame()->eventHandler()->sendScrollEvent();
+ repaintFixedElementsAfterScrolling();
+}
+void FrameView::repaintFixedElementsAfterScrolling()
+{
// For fixed position elements, update widget positions and compositing layers after scrolling,
// but only if we're not inside of layout.
// FIXME: we could skip this if we knew the page had no fixed position elements.
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.h b/src/3rdparty/webkit/WebCore/page/FrameView.h
index 7119975..71e2966 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.h
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.h
@@ -139,7 +139,8 @@ public:
virtual void scrollRectIntoViewRecursively(const IntRect&);
virtual void setScrollPosition(const IntPoint&);
- virtual void scrollPositionChanged();
+ void scrollPositionChanged();
+ virtual void repaintFixedElementsAfterScrolling();
String mediaType() const;
void setMediaType(const String&);
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
index e50ab55..5753e1d 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
@@ -292,7 +292,7 @@ void ScrollView::valueChanged(Scrollbar* scrollbar)
if (scrollbarsSuppressed())
return;
- scrollPositionChanged();
+ repaintFixedElementsAfterScrolling();
scrollContents(scrollDelta);
}
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.h b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
index 118a310..0f79fa8 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.h
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
@@ -303,7 +303,7 @@ private:
void updateScrollbars(const IntSize& desiredOffset);
// Called when the scroll position within this view changes. FrameView overrides this to generate repaint invalidations.
- virtual void scrollPositionChanged() {}
+ virtual void repaintFixedElementsAfterScrolling() {}
void platformInit();
void platformDestroy();
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
index 02bf25e..43c9245 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
@@ -57,7 +57,12 @@ public:
// It's more efficient to do it this way because
// (a) we don't need the QBrush abstraction - we always end up using QGraphicsItem::paint from the mask layer
// (b) QGraphicsOpacityEffect detaches the pixmap, which is inefficient on OpenGL.
- QPixmap maskPixmap(sourceBoundingRect().toAlignedRect().size());
+ const QSize maskSize = sourceBoundingRect().toAlignedRect().size();
+ if (!maskSize.isValid() || maskSize.isEmpty()) {
+ drawSource(painter);
+ return;
+ }
+ QPixmap maskPixmap(maskSize);
// we need to do this so the pixmap would have hasAlpha()
maskPixmap.fill(Qt::transparent);
@@ -294,7 +299,7 @@ const GraphicsLayerQtImpl* GraphicsLayerQtImpl::rootLayer() const
QPixmap GraphicsLayerQtImpl::recache(const QRegion& regionToUpdate)
{
- if (!m_layer->drawsContent())
+ if (!m_layer->drawsContent() || m_size.isEmpty() ||!m_size.isValid())
return QPixmap();
QRegion region = regionToUpdate;
diff --git a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm
index 1fd4676..57d74ab 100644
--- a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm
@@ -103,9 +103,12 @@ static inline WindowRef nativeWindowFor(PlatformWidget widget)
{
#if PLATFORM(QT)
if (widget)
+#if QT_MAC_USE_COCOA
+ return static_cast<WindowRef>([qt_mac_window_for(widget) windowRef]);
+#else
return static_cast<WindowRef>(qt_mac_window_for(widget));
#endif
-#if PLATFORM(WX)
+#elif PLATFORM(WX)
if (widget)
return (WindowRef)widget->MacGetTopLevelWindowRef();
#endif