summaryrefslogtreecommitdiff
path: root/Source/WebKit
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit')
-rw-r--r--Source/WebKit/blackberry/Api/InRegionScroller.cpp3
-rw-r--r--Source/WebKit/blackberry/Api/WebPage.cpp26
-rw-r--r--Source/WebKit/blackberry/Api/WebPageClient.h2
-rw-r--r--Source/WebKit/blackberry/ChangeLog207
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp11
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp14
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DOMSupport.h3
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp36
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InputHandler.h2
-rw-r--r--Source/WebKit/chromium/ChangeLog454
-rw-r--r--Source/WebKit/chromium/DEPS2
-rw-r--r--Source/WebKit/chromium/WebKit.gyp22
-rw-r--r--Source/WebKit/chromium/WebKit.gypi4
-rw-r--r--Source/WebKit/chromium/features.gypi3
-rw-r--r--Source/WebKit/chromium/public/WebDevToolsAgentClient.h8
-rw-r--r--Source/WebKit/chromium/public/WebInputEvent.h69
-rw-r--r--Source/WebKit/chromium/public/WebSettings.h2
-rw-r--r--Source/WebKit/chromium/src/InspectorClientImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/InspectorClientImpl.h1
-rw-r--r--Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp22
-rw-r--r--Source/WebKit/chromium/src/InspectorFrontendClientImpl.h4
-rw-r--r--Source/WebKit/chromium/src/LocalizedStrings.cpp7
-rw-r--r--Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp24
-rw-r--r--Source/WebKit/chromium/src/WebDevToolsAgentImpl.h1
-rw-r--r--Source/WebKit/chromium/src/WebFrameImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/WebKit.cpp2
-rw-r--r--Source/WebKit/chromium/src/WebPagePopupImpl.cpp9
-rw-r--r--Source/WebKit/chromium/src/WebPagePopupImpl.h1
-rw-r--r--Source/WebKit/chromium/src/WebSettingsImpl.cpp17
-rw-r--r--Source/WebKit/chromium/src/WebSettingsImpl.h5
-rw-r--r--Source/WebKit/chromium/src/WebViewImpl.cpp11
-rw-r--r--Source/WebKit/chromium/tests/DeferredImageDecoderTest.cpp102
-rw-r--r--Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp1
-rw-r--r--Source/WebKit/chromium/tests/IDBFakeBackingStore.h2
-rw-r--r--Source/WebKit/chromium/tests/LocaleMacTest.cpp52
-rw-r--r--Source/WebKit/chromium/tests/LocaleWinTest.cpp29
-rw-r--r--Source/WebKit/chromium/tests/LocalizedDateICUTest.cpp48
-rw-r--r--Source/WebKit/chromium/tests/MockImageDecoder.h61
-rw-r--r--Source/WebKit/efl/ChangeLog53
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp46
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h6
-rw-r--r--Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp6
-rw-r--r--Source/WebKit/efl/ewebkit.pc.in2
-rw-r--r--Source/WebKit/efl/ewk/ewk_frame.cpp2
-rw-r--r--Source/WebKit/gtk/ChangeLog10
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp2
-rw-r--r--Source/WebKit/mac/ChangeLog33
-rw-r--r--Source/WebKit/mac/Configurations/FeatureDefines.xcconfig5
-rw-r--r--Source/WebKit/mac/WebKit.order1
-rw-r--r--Source/WebKit/mac/WebView/WebView.mm5
-rw-r--r--Source/WebKit/mac/WebView/WebViewPrivate.h2
-rw-r--r--Source/WebKit/qt/Api/qwebpage.cpp38
-rw-r--r--Source/WebKit/qt/Api/qwebpage_p.h3
-rw-r--r--Source/WebKit/qt/ChangeLog45
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp9
-rw-r--r--Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp43
-rw-r--r--Source/WebKit/qt/WebCoreSupport/WebEventConversion.h8
-rw-r--r--Source/WebKit/qt/declarative/experimental/experimental.pri2
-rw-r--r--Source/WebKit/qt/declarative/public.pri2
-rw-r--r--Source/WebKit/win/ChangeLog29
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp2
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKit.sln40
-rw-r--r--Source/WebKit/win/WebView.cpp5
-rw-r--r--Source/WebKit/wx/ChangeLog10
-rw-r--r--Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp2
65 files changed, 1567 insertions, 119 deletions
diff --git a/Source/WebKit/blackberry/Api/InRegionScroller.cpp b/Source/WebKit/blackberry/Api/InRegionScroller.cpp
index cd68c4c76..0913405f8 100644
--- a/Source/WebKit/blackberry/Api/InRegionScroller.cpp
+++ b/Source/WebKit/blackberry/Api/InRegionScroller.cpp
@@ -219,6 +219,9 @@ void InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint(const Web
return;
}
+ if (!renderView->compositor()->scrollLayer())
+ continue;
+
if (canScrollInnerFrame(view->frame())) {
pushBackInRegionScrollable(new InRegionScrollableArea(m_webPage, layer));
continue;
diff --git a/Source/WebKit/blackberry/Api/WebPage.cpp b/Source/WebKit/blackberry/Api/WebPage.cpp
index bbf8425cb..d2b7f7898 100644
--- a/Source/WebKit/blackberry/Api/WebPage.cpp
+++ b/Source/WebKit/blackberry/Api/WebPage.cpp
@@ -55,6 +55,7 @@
#endif
#include "EditorClientBlackBerry.h"
#include "FocusController.h"
+#include "Frame.h"
#include "FrameLoaderClientBlackBerry.h"
#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
#include "GeolocationClientMock.h"
@@ -1160,8 +1161,6 @@ void WebPagePrivate::setLoadState(LoadState state)
if (m_backingStore->d->renderVisibleContents() && !m_backingStore->d->isSuspended() && !m_backingStore->d->shouldDirectRenderingToWindow())
m_backingStore->d->blitVisibleContents();
- zoomToInitialScaleOnLoad();
-
// Update cursor status.
updateCursor();
@@ -3201,12 +3200,21 @@ void WebPagePrivate::setPageVisibilityState()
void WebPagePrivate::setVisible(bool visible)
{
- m_visible = visible;
+ if (visible != m_visible) {
+ if (visible) {
+ if (m_mainFrame)
+ m_mainFrame->animation()->resumeAnimations();
+ if (m_page->scriptedAnimationsSuspended())
+ m_page->resumeScriptedAnimations();
+ } else {
+ if (m_mainFrame)
+ m_mainFrame->animation()->suspendAnimations();
+ if (!m_page->scriptedAnimationsSuspended())
+ m_page->suspendScriptedAnimations();
+ }
- if (visible && m_page->scriptedAnimationsSuspended())
- m_page->resumeScriptedAnimations();
- if (!visible && !m_page->scriptedAnimationsSuspended())
- m_page->suspendScriptedAnimations();
+ m_visible = visible;
+ }
#if ENABLE(PAGE_VISIBILITY_API)
setPageVisibilityState();
@@ -5454,6 +5462,10 @@ void WebPagePrivate::setCompositorDrawsRootLayer(bool compositorDrawsRootLayer)
// When the BlackBerry port forces compositing mode, the root layer stops
// painting to window and starts painting to layer instead.
m_page->settings()->setForceCompositingMode(compositorDrawsRootLayer);
+
+ if (!m_mainFrame)
+ return;
+
if (FrameView* view = m_mainFrame->view())
view->updateCompositingLayers();
#endif
diff --git a/Source/WebKit/blackberry/Api/WebPageClient.h b/Source/WebKit/blackberry/Api/WebPageClient.h
index aab7d09bc..e3e05c83e 100644
--- a/Source/WebKit/blackberry/Api/WebPageClient.h
+++ b/Source/WebKit/blackberry/Api/WebPageClient.h
@@ -139,7 +139,7 @@ public:
virtual void notifyContentRendered(const Platform::IntRect&) = 0;
virtual void resizeSurfaceIfNeeded() = 0;
- virtual void inputFocusGained(Platform::BlackBerryInputType, int inputStyle, Platform::VirtualKeyboardType, Platform::VirtualKeyboardEnterKeyType) = 0;
+ virtual void inputFocusGained(int64_t inputStyle, Platform::VirtualKeyboardType, Platform::VirtualKeyboardEnterKeyType) = 0;
virtual void inputFocusLost() = 0;
virtual void inputTextChanged() = 0;
virtual void inputSelectionChanged(unsigned selectionStart, unsigned selectionEnd) = 0;
diff --git a/Source/WebKit/blackberry/ChangeLog b/Source/WebKit/blackberry/ChangeLog
index e4cb6eb99..62914fd11 100644
--- a/Source/WebKit/blackberry/ChangeLog
+++ b/Source/WebKit/blackberry/ChangeLog
@@ -1,3 +1,210 @@
+2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
+ https://bugs.webkit.org/show_bug.cgi?id=98514
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
+
+2012-10-20 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] m_mainFrame should be null checked before use in WebPagePrivate destructor
+ https://bugs.webkit.org/show_bug.cgi?id=99916
+
+ Reviewed by George Staikos.
+ Internally reviewed by Arvid Nilsson.
+
+ Internal PR228029
+ Add null checks for m_mainFrame for things that happen during
+ WebPage destruction.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::setVisible):
+ (BlackBerry::WebKit::WebPagePrivate::setCompositorDrawsRootLayer):
+
+2012-10-19 Mike Fenton <mifenton@rim.com>
+
+ [BlackBerry] Convert input style to int64_t
+ https://bugs.webkit.org/show_bug.cgi?id=99848
+
+ Reviewed by Yong Li.
+
+ PR 227381.
+
+ Switch input style mask to int64_t to match the the updated definition.
+
+ Reviewed Internally by Nima Ghanavatian.
+
+ * Api/WebPageClient.h:
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::inputStyle):
+ * WebKitSupport/InputHandler.h:
+ (InputHandler):
+
+2012-10-19 Mike Fenton <mifenton@rim.com>
+
+ [BlackBerry] Move all keyboard type calculations into InputHandler.
+ https://bugs.webkit.org/show_bug.cgi?id=99847
+
+ Reviewed by Yong Li.
+
+ PR 227381.
+
+ Move all keyboard type calculations into webkit and avoid passing type
+ information to the webview.
+
+ Reviewed Internally by Nima Ghanavatian.
+
+ * Api/WebPageClient.h:
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::convertInputTypeToVKBType):
+ (WebKit):
+ (BlackBerry::WebKit::InputHandler::setElementFocused):
+
+2012-10-19 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] Page viewport aspect ratio not kept on navigating back
+ https://bugs.webkit.org/show_bug.cgi?id=99760
+
+ Reviewed by Yong Li.
+ Internally reviewed by Konrad Piascik
+
+ PR: 222437
+ This is to fix the second issue on PR222437 that the viewport not kept
+ when navigating back from google after rotation to bloomberg.
+ We were trying to restore the history contents size and scale of
+ bloomberg which has virtual viewport. The scale would be recalculated
+ based on the new screen size. However, we would still use the current
+ contents size if it was greater than the history contents size in
+ FrameView::setContentsSize which made the contents seem to be scaled
+ too much.
+ Actually when we relayout the contents after rotation change, the
+ current contents size which is based on the virtual viewport has taken
+ the screen size into account. Shrinking the contents size will be
+ expensive. So we can ignore screen size based scale calculation here.
+
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
+
+2012-10-19 Mike Fenton <mifenton@rim.com>
+
+ [BlackBerry] Add input logs to InputHandler::ensureFocusTextElementVisible.
+ https://bugs.webkit.org/show_bug.cgi?id=99837
+
+ Reviewed by Antonio Gomes.
+
+ Add input logs for InputHandler::ensureFocusTextElementVisible.
+
+ Reviewed Internally by Nima Ghanavatian.
+
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
+
+2012-10-19 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] Should suspend AnimationController when WebPage becomes invisible.
+ https://bugs.webkit.org/show_bug.cgi?id=99844
+
+ Reviewed by Yong Li.
+ Internally reviewed by Arvid Nilsson & Yong Li.
+
+ Suspend animation controller when the tab becomes invisible,
+ in addition to suspending scripted animations.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::setVisible):
+
+2012-10-19 Mike Fenton <mifenton@rim.com>
+
+ [BlackBerry] Don't attempt to auto scroll on input for Fixed Position elements.
+ https://bugs.webkit.org/show_bug.cgi?id=99833
+
+ Reviewed by Antonio Gomes.
+
+ PR 195024.
+
+ Don't attempt to scroll fixed position elements.
+
+ Reviewed Internally by Arvid Nilsson.
+
+ * WebKitSupport/DOMSupport.cpp:
+ (BlackBerry::WebKit::DOMSupport::isFixedPositionOrHasFixedPositionAncestor):
+ (DOMSupport):
+ * WebKitSupport/DOMSupport.h:
+ (WebCore):
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
+
+2012-10-18 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] Page viewport aspect ratio not kept on navigating back
+ https://bugs.webkit.org/show_bug.cgi?id=99760
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Konrad Piascik.
+
+ PR: 190469
+ This was added in r127628 which was trying to fix some rendering
+ defects on maps.google.com and news.qq.com, however it was very harmful
+ and caused regressions.
+ zoomToFitScale() depends on the current contents size. During history
+ navigation and device rotation, if zoomToFitScale() is based on the
+ final contents size which is expected, there will still be a scale
+ calculation like this afterwards
+ screenSize.width()/screenSize.height()*zoomToFitScale() which will
+ result in a wrong scale. During the history navigation, if
+ zoomToFitScale() isn't based on the final contents size, then we will
+ get the wrong scale as well for sure.
+ This issue will be fixed by removing the wrong calculation.
+ The original issue of r127628 was fixed by the patch of PR225981.
+
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
+
+2012-10-18 John Griggs <jgriggs@rim.com>
+
+ 2012-10-18 John Griggs <jgriggs@rim.com>
+
+ Crash in InRegionScrollableArea constructor while loading page
+ https://bugs.webkit.org/show_bug.cgi?id=99733
+
+ Reviewed by Antonio Gomes.
+
+ Check scrollLayer and avoid constructing InRegionScrollableArea when it is NULL.
+
+ * Api/InRegionScroller.cpp:
+ (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
+
+2012-10-17 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] Possible redundant zoomToInitialScaleOnLoad() in WebPagePrivate::setLoadState
+ https://bugs.webkit.org/show_bug.cgi?id=99624
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Arvid Nilsson
+
+ PR: 225981
+ Several reasons to eliminate the ancient unnecessary
+ zoomToInitialScaleOnLoad() in WebPagePrivate::setLoadState committed:
+ - At this point, we have only committed the data we received.
+ - For the new load, we haven't started parsing the tokens and building
+ the DOM tree and the first layout will happen after that.
+ - For the load restored from cache, the first layout will happen after
+ setLoadState committed which is called by
+ FrameLoader::dispatchDidCommitLoad().
+ - zoomToInitialScaleOnLoad() can still be called after the first
+ layout finished.
+ - zoomToInitialScaleOnLoad() is expensive and it will boost the load
+ performance after the removal.
+ - Removal of this can fix some weird rendering defects on yahoo.com,
+ maps.google.com, news.qq.com and so on during load and rotation
+ mentioned on the PR.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::setLoadState):
+
2012-10-17 Mike Fenton <mifenton@rim.com>
[BlackBerry] Prevent focus zoom on non-userscalable pages.
diff --git a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
index 86b418985..44ce0d63a 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
@@ -448,6 +448,7 @@ void FrameLoaderClientBlackBerry::transitionToCommittedForNewPage()
backgroundColor.hasAlpha(), /* is transparent */
m_webPagePrivate->actualVisibleSize(), /* fixed reported size */
m_webPagePrivate->fixedLayoutSize(), /* fixed layout size */
+ IntRect(), /* fixed visible content rect */
m_webPagePrivate->useFixedLayout(), /* use fixed layout */
ScrollbarAlwaysOff, /* hor mode */
true, /* lock the mode */
@@ -1083,12 +1084,6 @@ void FrameLoaderClientBlackBerry::restoreViewState()
// Also, try to keep the users zoom if any.
double scale = viewState.scale;
- // If it was zoomToFitScale use the new zoomToFitScale because
- // the new one may be different to the old one due to contents
- // size change (e.g. after reloaded).
- if (viewState.isZoomToFitScale)
- scale = m_webPagePrivate->zoomToFitScale();
-
bool shouldReflowBlock = viewState.shouldReflowBlock;
if (m_webPagePrivate->m_userPerformedManualZoom) {
scale = m_webPagePrivate->currentScale();
@@ -1103,8 +1098,8 @@ void FrameLoaderClientBlackBerry::restoreViewState()
if (!scrollChanged && !scaleChanged && !reflowChanged && !orientationChanged)
return;
- // When rotate happens, only zoom when previous page was zoomToFitScale, otherwise keep old scale.
- if (orientationChanged && viewState.isZoomToFitScale)
+ // When rotate happens, only zoom when previous page was zoomToFitScale and didn't have virtual viewport, otherwise keep old scale.
+ if (orientationChanged && viewState.isZoomToFitScale && !m_webPagePrivate->hasVirtualViewport())
scale = BlackBerry::Platform::Graphics::Screen::primaryScreen()->width() * scale / static_cast<double>(BlackBerry::Platform::Graphics::Screen::primaryScreen()->height());
// Don't flash checkerboard before WebPagePrivate::restoreHistoryViewState() finished.
diff --git a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
index 0283b1348..1d81a5eaa 100644
--- a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
@@ -563,6 +563,20 @@ bool isEmptyRangeOrAllSpaces(VisiblePosition startPosition, VisiblePosition endP
return false;
}
+bool isFixedPositionOrHasFixedPositionAncestor(RenderObject* renderer)
+{
+ RenderObject* currentRenderer = renderer;
+ while (currentRenderer) {
+
+ if (currentRenderer->isOutOfFlowPositioned() && currentRenderer->style()->position() == FixedPosition)
+ return true;
+
+ currentRenderer = currentRenderer->parent();
+ }
+
+ return false;
+}
+
} // DOMSupport
} // WebKit
} // BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
index f75b9a41a..a86e12a35 100644
--- a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
+++ b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
@@ -38,6 +38,7 @@ class Node;
class Position;
class QualifiedName;
class Range;
+class RenderObject;
class VisiblePosition;
class VisibleSelection;
}
@@ -96,6 +97,8 @@ WebCore::Frame* incrementFrame(WebCore::Frame* curr, bool forward, bool wrapFlag
PassRefPtr<WebCore::Range> trimWhitespaceFromRange(WebCore::VisiblePosition startPosition, WebCore::VisiblePosition endPosition);
bool isEmptyRangeOrAllSpaces(WebCore::VisiblePosition, WebCore::VisiblePosition);
+bool isFixedPositionOrHasFixedPositionAncestor(WebCore::RenderObject*);
+
} // DOMSupport
} // WebKit
} // BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
index e2ea590a9..07397011b 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
@@ -188,7 +188,7 @@ static BlackBerryInputType convertInputType(const HTMLInputElement* inputElement
return InputTypeText;
}
-static int inputStyle(BlackBerryInputType type, const Element* element)
+static int64_t inputStyle(BlackBerryInputType type, const Element* element)
{
switch (type) {
case InputTypeEmail:
@@ -242,6 +242,26 @@ static int inputStyle(BlackBerryInputType type, const Element* element)
return DEFAULT_STYLE;
}
+static VirtualKeyboardType convertInputTypeToVKBType(BlackBerryInputType inputType)
+{
+ switch (inputType) {
+ case InputTypeURL:
+ return VKBTypeUrl;
+ case InputTypeEmail:
+ return VKBTypeEmail;
+ case InputTypeTelephone:
+ return VKBTypePhone;
+ case InputTypePassword:
+ return VKBTypePassword;
+ case InputTypeNumber:
+ case InputTypeHexadecimal:
+ return VKBTypePin;
+ default:
+ // All other types are text based use default keyboard.
+ return VKBTypeDefault;
+ }
+}
+
static VirtualKeyboardType convertStringToKeyboardType(const AtomicString& string)
{
DEFINE_STATIC_LOCAL(AtomicString, Default, ("default"));
@@ -812,6 +832,9 @@ void InputHandler::setElementFocused(Element* element)
m_currentFocusElementTextEditMask = inputStyle(type, element);
VirtualKeyboardType keyboardType = keyboardTypeAttribute(element);
+ if (keyboardType == VKBTypeNotSet)
+ keyboardType = convertInputTypeToVKBType(type);
+
VirtualKeyboardEnterKeyType enterKeyType = keyboardEnterKeyTypeAttribute(element);
if (enterKeyType == VKBEnterKeyNotSet && type != InputTypeTextArea) {
@@ -823,7 +846,7 @@ void InputHandler::setElementFocused(Element* element)
}
FocusLog(LogLevelInfo, "InputHandler::setElementFocused, Type=%d, Style=%d, Keyboard Type=%d, Enter Key=%d", type, m_currentFocusElementTextEditMask, keyboardType, enterKeyType);
- m_webPage->m_client->inputFocusGained(type, m_currentFocusElementTextEditMask, keyboardType, enterKeyType);
+ m_webPage->m_client->inputFocusGained(m_currentFocusElementTextEditMask, keyboardType, enterKeyType);
handleInputLocaleChanged(m_webPage->m_webSettings->isWritingDirectionRTL());
@@ -1036,6 +1059,10 @@ void InputHandler::ensureFocusTextElementVisible(CaretScrollType scrollType)
if (!(Platform::Settings::instance()->allowedScrollAdjustmentForInputFields() & scrollType))
return;
+ // Fixed position elements cannot be scrolled into view.
+ if (DOMSupport::isFixedPositionOrHasFixedPositionAncestor(m_currentFocusElement->renderer()))
+ return;
+
Frame* elementFrame = m_currentFocusElement->document()->frame();
if (!elementFrame)
return;
@@ -1084,7 +1111,9 @@ void InputHandler::ensureFocusTextElementVisible(CaretScrollType scrollType)
m_focusZoomScale = m_webPage->currentScale();
m_focusZoomLocation = selectionFocusRect.location();
}
- m_webPage->zoomAboutPoint(s_minimumTextHeightInPixels / fontHeight, m_focusZoomLocation);
+ double zoomScaleRequired = static_cast<double>(s_minimumTextHeightInPixels) / fontHeight;
+ m_webPage->zoomAboutPoint(zoomScaleRequired, m_focusZoomLocation);
+ InputLog(LogLevelInfo, "InputHandler::ensureFocusTextElementVisible zooming in to %f at point %d, %d", zoomScaleRequired, m_focusZoomLocation.x(), m_focusZoomLocation.y());
} else {
m_focusZoomScale = 0.0;
m_focusZoomLocation = WebCore::IntPoint();
@@ -1157,6 +1186,7 @@ void InputHandler::ensureFocusTextElementVisible(CaretScrollType scrollType)
scrollLocation = scrollLocation.shrunkTo(maximumScrollPosition);
mainFrameView->setScrollPosition(scrollLocation);
mainFrameView->setConstrainsScrollingToContentEdge(true);
+ InputLog(LogLevelInfo, "InputHandler::ensureFocusTextElementVisible scrolling to point %d, %d", scrollLocation.x(), scrollLocation.y());
}
}
m_webPage->resumeBackingStore();
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.h b/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
index 6a27e2bf2..ad569794b 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
+++ b/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
@@ -212,7 +212,7 @@ private:
bool m_changingFocus;
FocusElementType m_currentFocusElementType;
- int m_currentFocusElementTextEditMask;
+ int64_t m_currentFocusElementTextEditMask;
int m_composingTextStart;
int m_composingTextEnd;
diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog
index 1be153b8e..b2a38d2b7 100644
--- a/Source/WebKit/chromium/ChangeLog
+++ b/Source/WebKit/chromium/ChangeLog
@@ -1,3 +1,457 @@
+2012-10-22 Keishi Hattori <keishi@webkit.org>
+
+ Remove monthFormatInLDML
+ https://bugs.webkit.org/show_bug.cgi?id=99971
+
+ Reviewed by Kent Tamura.
+
+ * src/LocalizedStrings.cpp:
+
+2012-10-22 Keishi Hattori <keishi@webkit.org>
+
+ [Chromium] Rename WeekFormatInLDML to WeekFormatTemplate
+ https://bugs.webkit.org/show_bug.cgi?id=99972
+
+ Reviewed by Kent Tamura.
+
+ * src/LocalizedStrings.cpp:
+ (WebCore::weekFormatInLDML):
+
+2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
+ https://bugs.webkit.org/show_bug.cgi?id=98514
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::createFrameView):
+
+2012-10-22 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: merge "docked" state into the "dock side" enum.
+ https://bugs.webkit.org/show_bug.cgi?id=99717
+
+ Reviewed by Vsevolod Vlasov.
+
+ Otherwise, it is hard to manage these inter-dependent flags.
+
+ * src/InspectorFrontendClientImpl.cpp:
+ (WebKit::InspectorFrontendClientImpl::requestSetDockSide):
+ * src/InspectorFrontendClientImpl.h:
+ (InspectorFrontendClientImpl):
+
+2012-10-21 Kent Tamura <tkent@chromium.org>
+
+ Page popup: Fix crash by events after closing
+ https://bugs.webkit.org/show_bug.cgi?id=99951
+
+ Reviewed by Hajime Morita.
+
+ - We should not handle events after closePopup call.
+ - We should uninstall a DOMWindowPagePopup supplement in closePopup.
+
+ * src/WebPagePopupImpl.cpp:
+ (WebKit::WebPagePopupImpl::WebPagePopupImpl):
+ Initialize m_closing.
+ (WebKit::WebPagePopupImpl::handleGestureEvent):
+ Don't handle events if m_closing.
+ (WebKit::WebPagePopupImpl::handleInputEvent): Ditto.
+ (WebKit::WebPagePopupImpl::handleKeyEvent): Ditto.
+ (WebKit::WebPagePopupImpl::closePopup):
+ - Uninstall a DOMWindowPagePopup supplement.
+ - Set m_closing.
+ * src/WebPagePopupImpl.h:
+ (WebPagePopupImpl): Declare m_closing.
+
+2012-10-21 Terry Anderson <tdanderson@chromium.org>
+
+ [chromium] Storing the enclosing rect dimensions of the first finger for a two finger tap
+ https://bugs.webkit.org/show_bug.cgi?id=99763
+
+ Reviewed by Adam Barth.
+
+ Add a struct |twoFingerTap| inside the union |data| of a WebGestureEvent. The fields |firstFingerWidth|
+ and |firstFingerHeight| will represent the dimensions of the enclosing rectangle corresponding to the
+ first touch point in the gesture. These will be used in a future CL to perform target fuzzing on a
+ two-finger tap gesture.
+
+ Note: I chose not to name the two fields |width| and |height| so that they aren't confused with the
+ width and height of the gesture's bounding box, which contains the enclosing rectangles of both touch
+ points. My future fuzzing CL will only be concerned with the location and enclosing rectangle of the
+ first touch point.
+
+ * public/WebInputEvent.h:
+
+2012-10-19 Yusuf Ozuysal <yusufo@google.com>
+
+ [chromium] Double-tap defaults to zoom (should only do this on Android)
+ https://bugs.webkit.org/show_bug.cgi?id=99600
+
+ Reviewed by Adam Barth.
+
+ Adds a web setting for enabling DoubleTapToZoom on a doubleTap gesture.
+ This gesture was just needed for mobile, and the patch that implemented it caused regressions on other platforms.
+
+ * public/WebSettings.h:
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::WebSettingsImpl):
+ (WebKit::WebSettingsImpl::setDoubleTapToZoomEnabled):
+ (WebKit):
+ * src/WebSettingsImpl.h:
+ (WebSettingsImpl):
+ (WebKit::WebSettingsImpl::doubleTapToZoomEnabled):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+ * tests/WebFrameTest.cpp:
+
+2012-10-19 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r131944.
+ http://trac.webkit.org/changeset/131944
+ https://bugs.webkit.org/show_bug.cgi?id=99891
+
+ On second thoughts, not such a great idea (Requested by jamesr
+ on #webkit).
+
+ * public/WebView.h:
+ (WebKit):
+ (WebView):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+
+2012-10-19 Jochen Eisinger <jochen@chromium.org>
+
+ [chromium] when building a shared library component build, we must not depend on WebCore
+
+ Unreviewed build fix.
+
+ * WebKit.gyp:
+
+2012-10-19 Tony Chang <tony@chromium.org>
+
+ Unreviewed, rolling out r131936.
+ http://trac.webkit.org/changeset/131936
+ https://bugs.webkit.org/show_bug.cgi?id=99717
+
+ Broke the clang build
+
+ * public/WebDevToolsFrontendClient.h:
+ (WebKit::WebDevToolsFrontendClient::requestDockWindow):
+ (WebKit::WebDevToolsFrontendClient::requestUndockWindow):
+ * src/InspectorFrontendClientImpl.cpp:
+ (WebKit::InspectorFrontendClientImpl::requestAttachWindow):
+ (WebKit):
+ (WebKit::InspectorFrontendClientImpl::requestDetachWindow):
+ (WebKit::InspectorFrontendClientImpl::requestSetDockSide):
+ * src/InspectorFrontendClientImpl.h:
+ (InspectorFrontendClientImpl):
+
+2012-10-19 Alexandre Elias <aelias@chromium.org>
+
+ [chromium] API to pass impl thread via WebLayerTreeView
+ https://bugs.webkit.org/show_bug.cgi?id=99863
+
+ Reviewed by James Robinson.
+
+ This adds an API to pass the compositor impl thread via WebView and
+ WebLayerTreeView. This is currently a no-op change, but in the future
+ this codepath will supercede WebCompositor. The goal is to avoid statics
+ in compositor initialization.
+
+ * public/WebView.h:
+ (WebKit):
+ (WebView):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ (WebKit::WebViewImpl::setCompositorImplThread):
+ (WebKit):
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+
+2012-10-19 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: merge "docked" state into the "dock side" enum.
+ https://bugs.webkit.org/show_bug.cgi?id=99717
+
+ Reviewed by Vsevolod Vlasov.
+
+ * public/WebDevToolsFrontendClient.h:
+ * src/InspectorFrontendClientImpl.cpp:
+ (WebKit::InspectorFrontendClientImpl::requestSetDockSide):
+ * src/InspectorFrontendClientImpl.h:
+ (InspectorFrontendClientImpl):
+
+2012-09-08 Alpha Lam <hclam@chromium.org>
+
+ [chromium] Implement deferred image decoding
+ https://bugs.webkit.org/show_bug.cgi?id=94240
+
+ Reviewed by Stephen White.
+
+ Adding new unit tests for deferred image decoding.
+ These tests are defined in DeferredImageDecoderTest.cpp. They verify
+ image decoding happens only when SkPicture is rasterized for both
+ scaled and non-scaled cases.
+
+ Tests: DeferredImageDecoderTest.drawIntoSkPicture
+ DeferredImageDecoderTest.drawScaledIntoSkPicture
+
+ * WebKit.gypi:
+ * public/WebSettings.h:
+ * src/WebKit.cpp:
+ (WebKit::shutdown):
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):
+ (WebKit):
+ * src/WebSettingsImpl.h:
+ (WebSettingsImpl):
+ * tests/DeferredImageDecoderTest.cpp: Added.
+ (WebCore):
+ (DeferredImageDecoderTest):
+ (WebCore::DeferredImageDecoderTest::SetUp):
+ (WebCore::DeferredImageDecoderTest::TearDown):
+ (WebCore::TEST_F):
+ * tests/MockImageDecoder.h: Added.
+ (WebCore):
+ (MockImageDecoder):
+ (WebCore::MockImageDecoder::MockImageDecoder):
+ (WebCore::MockImageDecoder::filenameExtension):
+ (WebCore::MockImageDecoder::frameBufferAtIndex):
+ (WebCore::MockImageDecoder::frameBufferRequestCount):
+
+2012-10-19 Alpha Lam <hclam@chromium.org>
+
+ [chromium] Roll DEPS
+
+ Unreviewed DEPS roll.
+
+ * DEPS:
+
+2012-10-19 Dongwoo Joshua Im <dw.im@samsung.com>
+
+ Rename ENABLE_CSS3_TEXT_DECORATION to ENABLE_CSS3_TEXT
+ https://bugs.webkit.org/show_bug.cgi?id=99804
+
+ Reviewed by Julien Chaffraix.
+
+ CSS3 text related properties will be implemented under this flag,
+ including text decoration, text-align-last, and text-justify.
+
+ * features.gypi:
+
+2012-10-19 Jochen Eisinger <jochen@chromium.org>
+
+ [chromium] fix the fix
+
+ Unreviewed build fix.
+
+ Forgot to invert the condition when to set the type to none in the
+ previous attempt.
+
+ * WebKit.gyp:
+
+2012-10-19 Jochen Eisinger <jochen@chromium.org>
+
+ [chromium] Fix inside chromium build on Mac
+
+ Unreviewed build fix.
+
+ Xcode won't create a static library without any sources. So instead of
+ ommitting the sources, just override the webkit_test_support's type
+ with 'none'.
+
+ * WebKit.gyp:
+
+2012-10-17 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI provide data for mixing with tcmalloc heap dumps.
+ https://bugs.webkit.org/show_bug.cgi?id=99457
+
+ Reviewed by Yury Semikhatsky.
+
+ Embedder's code wraps the map with counted objects info into InstrumentedObjectSizeProvider
+ and forces downstream code to make tcmalloc heap snapshot.
+ The default implementation is empty.
+
+ * public/WebDevToolsAgentClient.h:
+ (InstrumentedObjectSizeProvider):
+ (WebKit::WebDevToolsAgentClient::InstrumentedObjectSizeProvider::~InstrumentedObjectSizeProvider):
+ (WebKit::WebDevToolsAgentClient::dumpUncountedAllocatedObjects):
+ (WebDevToolsAgentClient):
+ * src/InspectorClientImpl.cpp:
+ (WebKit::InspectorClientImpl::dumpUncountedAllocatedObjects):
+ (WebKit):
+ * src/InspectorClientImpl.h:
+ (InspectorClientImpl):
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::getAllocatedObjects):
+ (WebKit::WebDevToolsAgentImpl::dumpUncountedAllocatedObjects):
+ (WebKit):
+ * src/WebDevToolsAgentImpl.h:
+ (WebDevToolsAgentImpl):
+
+2012-10-18 Kent Tamura <tkent@chromium.org>
+
+ Add shortMonthLabels and shortStandAloneMonthLabels to Localizer
+ https://bugs.webkit.org/show_bug.cgi?id=99787
+
+ * tests/LocaleMacTest.cpp:
+ (TEST_F): Disable tests depends on OS X versions.
+
+2012-10-18 Kent Tamura <tkent@chromium.org>
+
+ Add shortMonthLabels and shortStandAloneMonthLabels to Localizer
+ https://bugs.webkit.org/show_bug.cgi?id=99787
+
+ Reviewed by Kentaro Hara.
+
+ * tests/LocaleMacTest.cpp:
+ (LocaleMacTest::shortMonthLabel): A helper.
+ (LocaleMacTest::shortStandAloneMonthLabel): Ditto.
+ (TEST_F): Added tests for some locales.
+ * tests/LocaleWinTest.cpp:
+ (LocaleWinTest::shortMonthLabel): A helper.
+ (TEST_F): Added tests for some locales. We don't test
+ LocaleWin::shortStandAloneMonthLabels because it is identical to
+ shortMonthLabels.
+ * tests/LocalizedDateICUTest.cpp:
+ (LocalizedDateICUTest::shortMonthLabel): A helper.
+ (LocalizedDateICUTest::shortStandAloneMonthLabel): Ditto.
+ (TEST_F): Added tests for some locales.
+
+2012-10-18 Jochen Eisinger <jochen@chromium.org>
+
+ [chromium] Add a webkit_test_support target that WebTestingSupport
+ https://bugs.webkit.org/show_bug.cgi?id=99772
+
+ Reviewed by Adam Barth.
+
+ Before, embedders would need to compile the WebTestingSupport.cpp
+ themselves, which in turn depends on WebCore headers.
+
+ * WebKit.gyp:
+
+2012-10-18 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Re-enable gesture highlight layout tests, fix GestureLongPress regression.
+ https://bugs.webkit.org/show_bug.cgi?id=99632
+
+ Reviewed by James Robinson.
+
+ Re-enable layout tests for gesture highlights. Includes fix for GestureTapCancel test.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+
+2012-10-18 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r131810.
+ http://trac.webkit.org/changeset/131810
+ https://bugs.webkit.org/show_bug.cgi?id=99762
+
+ Broke linux debug webkit_unit_tests (Requested by
+ danakj|gardening on #webkit).
+
+ * WebKit.gypi:
+ * public/WebSettings.h:
+ * src/WebKit.cpp:
+ (WebKit::shutdown):
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::WebSettingsImpl):
+ * src/WebSettingsImpl.h:
+ (WebSettingsImpl):
+ * tests/DeferredImageDecoderTest.cpp: Removed.
+ * tests/MockImageDecoder.h: Removed.
+
+2012-10-18 Alpha Lam <hclam@chromium.org>
+
+ [chromium] Implement deferred image decoding
+ https://bugs.webkit.org/show_bug.cgi?id=94240
+
+ Reviewed by Stephen White.
+
+ Adding new unit tests for deferred image decoding.
+ These tests are defined in DeferredImageDecoderTest.cpp. They verify
+ image decoding happens only when SkPicture is rasterized for both
+ scaled and non-scaled cases.
+
+ Tests: DeferredImageDecoderTest.drawIntoSkPicture
+ DeferredImageDecoderTest.drawScaledIntoSkPicture
+
+ * WebKit.gypi:
+ * public/WebSettings.h:
+ * src/WebKit.cpp:
+ (WebKit::shutdown):
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):
+ (WebKit):
+ * src/WebSettingsImpl.h:
+ (WebSettingsImpl):
+ * tests/DeferredImageDecoderTest.cpp: Added.
+ (WebCore):
+ (DeferredImageDecoderTest):
+ (WebCore::DeferredImageDecoderTest::SetUp):
+ (WebCore::DeferredImageDecoderTest::TearDown):
+ (WebCore::TEST_F):
+ * tests/MockImageDecoder.h: Added.
+ (WebCore):
+ (MockImageDecoder):
+ (WebCore::MockImageDecoder::MockImageDecoder):
+ (WebCore::MockImageDecoder::filenameExtension):
+ (WebCore::MockImageDecoder::frameBufferAtIndex):
+ (WebCore::MockImageDecoder::frameBufferRequestCount):
+
+2012-10-18 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-10-18 Pablo Flouret <pablof@motorola.com>
+
+ Implement css3-conditional's @supports rule
+ https://bugs.webkit.org/show_bug.cgi?id=86146
+
+ Reviewed by Antti Koivisto.
+
+ * features.gypi:
+ Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
+
+2012-10-18 Kent Tamura <tkent@chromium.org>
+
+ Add Localizer::monthFormat and implementations
+ https://bugs.webkit.org/show_bug.cgi?id=99704
+
+ * tests/LocaleMacTest.cpp:
+ (TEST_F): Remove tests for fr_FR and ru locales for a compatibility reason.
+
+2012-10-18 Kent Tamura <tkent@chromium.org>
+
+ Add Localizer::monthFormat and implementations
+ https://bugs.webkit.org/show_bug.cgi?id=99704
+
+ Reviewed by Kentaro Hara.
+
+ * tests/LocaleMacTest.cpp:
+ (LocaleMacTest::monthFormat): A helper function.
+ (TEST_F): Added some tests.
+ * tests/LocaleWinTest.cpp:
+ (LocaleWinTest::monthFormat): A helper function.
+ (TEST_F): Added some tests.
+ * tests/LocalizedDateICUTest.cpp:
+ (LocalizedDateICUTest::monthFormat): A helper function.
+ (TEST_F): Added some tests.
+
2012-10-17 Mike West <mkwst@chromium.org>
Move mixed content logic out of FrameLoader
diff --git a/Source/WebKit/chromium/DEPS b/Source/WebKit/chromium/DEPS
index 1fdffb9ca..42b3e567d 100644
--- a/Source/WebKit/chromium/DEPS
+++ b/Source/WebKit/chromium/DEPS
@@ -32,7 +32,7 @@
vars = {
'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
- 'chromium_rev': '162322'
+ 'chromium_rev': '162983'
}
deps = {
diff --git a/Source/WebKit/chromium/WebKit.gyp b/Source/WebKit/chromium/WebKit.gyp
index ef9997ea4..3edc4a5b4 100644
--- a/Source/WebKit/chromium/WebKit.gyp
+++ b/Source/WebKit/chromium/WebKit.gyp
@@ -864,6 +864,28 @@
],
},
{
+ 'target_name': 'webkit_test_support',
+ 'conditions': [
+ ['inside_chromium_build==1 and component=="shared_library"', {
+ 'type': 'none',
+ }, { # else: inside_chromium_build==0 or component!="shared_library"
+ 'type': 'static_library',
+ 'dependencies': [
+ '../../WTF/WTF.gyp/WTF.gyp:wtf',
+ '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_test_support',
+ ],
+ 'include_dirs': [
+ 'public',
+ '../../WebCore/testing/v8', # for WebCoreTestSupport.h, needed to link in window.internals code.
+ ],
+ 'sources': [
+ 'src/WebTestingSupport.cpp',
+ 'public/WebTestingSupport.h',
+ ],
+ }],
+ ],
+ },
+ {
'target_name': 'inspector_resources',
'type': 'none',
'dependencies': [
diff --git a/Source/WebKit/chromium/WebKit.gypi b/Source/WebKit/chromium/WebKit.gypi
index 24cae298f..64063a021 100644
--- a/Source/WebKit/chromium/WebKit.gypi
+++ b/Source/WebKit/chromium/WebKit.gypi
@@ -61,6 +61,7 @@
'tests/CompositorFakeWebGraphicsContext3D.h',
'tests/DateTimeFormatTest.cpp',
'tests/DecimalTest.cpp',
+ 'tests/DeferredImageDecoderTest.cpp',
'tests/DragImageTest.cpp',
'tests/EventListenerTest.cpp',
'tests/FakeWebCompositorOutputSurface.h',
@@ -78,8 +79,9 @@
'tests/IDBLevelDBCodingTest.cpp',
'tests/IDBRequestTest.cpp',
'tests/ImageLayerChromiumTest.cpp',
- 'tests/KURLTest.cpp',
+ 'tests/MockImageDecoder.h',
'tests/KeyboardTest.cpp',
+ 'tests/KURLTest.cpp',
'tests/LevelDBTest.cpp',
'tests/LinkHighlightTest.cpp',
'tests/ListenerLeakTest.cpp',
diff --git a/Source/WebKit/chromium/features.gypi b/Source/WebKit/chromium/features.gypi
index 3d08ea898..2d18c773d 100644
--- a/Source/WebKit/chromium/features.gypi
+++ b/Source/WebKit/chromium/features.gypi
@@ -38,7 +38,8 @@
'ENABLE_BLOB_SLICE=1',
'ENABLE_CHANNEL_MESSAGING=1',
'ENABLE_CSP_NEXT=1',
- 'ENABLE_CSS3_TEXT_DECORATION=0',
+ 'ENABLE_CSS3_CONDITIONAL_RULES=0',
+ 'ENABLE_CSS3_TEXT=0',
'ENABLE_CSS_BOX_DECORATION_BREAK=1',
'ENABLE_CSS_COMPOSITING=0',
'ENABLE_CSS_EXCLUSIONS=1',
diff --git a/Source/WebKit/chromium/public/WebDevToolsAgentClient.h b/Source/WebKit/chromium/public/WebDevToolsAgentClient.h
index 7ac2c7c97..beb3e832f 100644
--- a/Source/WebKit/chromium/public/WebDevToolsAgentClient.h
+++ b/Source/WebKit/chromium/public/WebDevToolsAgentClient.h
@@ -69,6 +69,14 @@ public:
};
virtual void visitAllocatedObjects(AllocatedObjectVisitor*) { }
+ class InstrumentedObjectSizeProvider {
+ public:
+ virtual size_t objectSize(const void* ptr) const = 0;
+ protected:
+ virtual ~InstrumentedObjectSizeProvider() { }
+ };
+ virtual void dumpUncountedAllocatedObjects(const InstrumentedObjectSizeProvider*) { }
+
protected:
~WebDevToolsAgentClient() { }
};
diff --git a/Source/WebKit/chromium/public/WebInputEvent.h b/Source/WebKit/chromium/public/WebInputEvent.h
index f3edaf95e..328c0337e 100644
--- a/Source/WebKit/chromium/public/WebInputEvent.h
+++ b/Source/WebKit/chromium/public/WebInputEvent.h
@@ -379,38 +379,43 @@ public:
int globalY;
union {
- struct {
- int tapCount;
- int width;
- int height;
- } tap;
-
- struct {
- int width;
- int height;
- } tapDown;
-
- struct {
- int width;
- int height;
- } longPress;
-
- struct {
- float deltaX;
- float deltaY;
- float velocityX;
- float velocityY;
- } scrollUpdate;
-
- struct {
- float velocityX;
- float velocityY;
- SourceDevice sourceDevice;
- } flingStart;
-
- struct {
- float scale;
- } pinchUpdate;
+ struct {
+ int tapCount;
+ int width;
+ int height;
+ } tap;
+
+ struct {
+ int width;
+ int height;
+ } tapDown;
+
+ struct {
+ int width;
+ int height;
+ } longPress;
+
+ struct {
+ int firstFingerWidth;
+ int firstFingerHeight;
+ } twoFingerTap;
+
+ struct {
+ float deltaX;
+ float deltaY;
+ float velocityX;
+ float velocityY;
+ } scrollUpdate;
+
+ struct {
+ float velocityX;
+ float velocityY;
+ SourceDevice sourceDevice;
+ } flingStart;
+
+ struct {
+ float scale;
+ } pinchUpdate;
} data;
WebGestureEvent(unsigned sizeParam = sizeof(WebGestureEvent))
diff --git a/Source/WebKit/chromium/public/WebSettings.h b/Source/WebKit/chromium/public/WebSettings.h
index abd84ed0e..d5d963f91 100644
--- a/Source/WebKit/chromium/public/WebSettings.h
+++ b/Source/WebKit/chromium/public/WebSettings.h
@@ -86,9 +86,11 @@ public:
virtual void setDefaultTextEncodingName(const WebString&) = 0;
virtual void setDefaultTileSize(WebSize) = 0;
virtual void setDeferred2dCanvasEnabled(bool) = 0;
+ virtual void setDeferredImageDecodingEnabled(bool) = 0;
virtual void setDeveloperExtrasEnabled(bool) = 0;
virtual void setDeviceSupportsMouse(bool) = 0;
virtual void setDeviceSupportsTouch(bool) = 0;
+ virtual void setDoubleTapToZoomEnabled(bool) = 0;
virtual void setDownloadableBinaryFontsEnabled(bool) = 0;
virtual void setEditableLinkBehaviorNeverLive() = 0;
virtual void setEditingBehavior(EditingBehavior) = 0;
diff --git a/Source/WebKit/chromium/src/InspectorClientImpl.cpp b/Source/WebKit/chromium/src/InspectorClientImpl.cpp
index 402b8695c..f8020ef0b 100644
--- a/Source/WebKit/chromium/src/InspectorClientImpl.cpp
+++ b/Source/WebKit/chromium/src/InspectorClientImpl.cpp
@@ -169,6 +169,12 @@ void InspectorClientImpl::getAllocatedObjects(HashSet<const void*>& set)
agent->getAllocatedObjects(set);
}
+void InspectorClientImpl::dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>& map)
+{
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ agent->dumpUncountedAllocatedObjects(map);
+}
+
void InspectorClientImpl::willProcessTask()
{
InspectorInstrumentation::willProcessTask(m_inspectedWebView->page());
diff --git a/Source/WebKit/chromium/src/InspectorClientImpl.h b/Source/WebKit/chromium/src/InspectorClientImpl.h
index 9e1ea370e..34de35a09 100644
--- a/Source/WebKit/chromium/src/InspectorClientImpl.h
+++ b/Source/WebKit/chromium/src/InspectorClientImpl.h
@@ -79,6 +79,7 @@ public:
virtual bool supportsFrameInstrumentation();
virtual void getAllocatedObjects(HashSet<const void*>&);
+ virtual void dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>&);
private:
// WebThread::TaskObserver
diff --git a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
index 763c85da8..fcfa25f9c 100644
--- a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
+++ b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
@@ -103,19 +103,15 @@ void InspectorFrontendClientImpl::closeWindow()
m_client->closeWindow();
}
-void InspectorFrontendClientImpl::requestAttachWindow()
-{
- m_client->requestDockWindow();
-}
-
-void InspectorFrontendClientImpl::requestDetachWindow()
-{
- m_client->requestUndockWindow();
-}
-
-void InspectorFrontendClientImpl::requestSetDockSide(const String& side)
-{
- m_client->requestSetDockSide(side);
+void InspectorFrontendClientImpl::requestSetDockSide(DockSide side)
+{
+ String sideString = "undocked";
+ switch (side) {
+ case DOCKED_TO_RIGHT: sideString = "right"; break;
+ case DOCKED_TO_BOTTOM: sideString = "bottom"; break;
+ case UNDOCKED: sideString = "undocked"; break;
+ }
+ m_client->requestSetDockSide(sideString);
}
void InspectorFrontendClientImpl::changeAttachedWindowHeight(unsigned)
diff --git a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h
index 55e57e696..72f8d68b6 100644
--- a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h
+++ b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h
@@ -62,9 +62,7 @@ public:
virtual void bringToFront();
virtual void closeWindow();
- virtual void requestAttachWindow();
- virtual void requestDetachWindow();
- virtual void requestSetDockSide(const String&);
+ virtual void requestSetDockSide(DockSide);
virtual void changeAttachedWindowHeight(unsigned);
virtual void openInNewTab(const String& url);
diff --git a/Source/WebKit/chromium/src/LocalizedStrings.cpp b/Source/WebKit/chromium/src/LocalizedStrings.cpp
index 0cc8e00eb..4ef239c6f 100644
--- a/Source/WebKit/chromium/src/LocalizedStrings.cpp
+++ b/Source/WebKit/chromium/src/LocalizedStrings.cpp
@@ -268,14 +268,9 @@ String placeholderForYearField()
return query(WebLocalizedString::PlaceholderForYearField);
}
-String monthFormatInLDML()
-{
- return query(WebLocalizedString::MonthFormatInLDML);
-}
-
String weekFormatInLDML()
{
- return query(WebLocalizedString::WeekFormatInLDML);
+ return query(WebLocalizedString::WeekFormatTemplate);
}
#endif
diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 7f362036b..5c25ff64e 100644
--- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -462,12 +462,13 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set)
CountingVisitor() : m_totalObjectsCount(0)
{
}
+
virtual bool visitObject(const void* ptr)
{
++m_totalObjectsCount;
return true;
}
- size_t totalObjectsCount()
+ size_t totalObjectsCount() const
{
return m_totalObjectsCount;
}
@@ -488,7 +489,7 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set)
, m_pointers(new const void*[maxObjectsCount])
{
}
- ~PointerCollector()
+ virtual ~PointerCollector()
{
delete[] m_pointers;
}
@@ -531,6 +532,25 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set)
}
}
+void WebDevToolsAgentImpl::dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>& map)
+{
+ class InstrumentedObjectSizeProvider : public WebDevToolsAgentClient::InstrumentedObjectSizeProvider {
+ public:
+ InstrumentedObjectSizeProvider(const HashMap<const void*, size_t>& map) : m_map(map) { }
+ virtual size_t objectSize(const void* ptr) const
+ {
+ HashMap<const void*, size_t>::const_iterator i = m_map.find(ptr);
+ return i == m_map.end() ? 0 : i->value;
+ }
+
+ private:
+ const HashMap<const void*, size_t>& m_map;
+ };
+
+ InstrumentedObjectSizeProvider provider(map);
+ m_client->dumpUncountedAllocatedObjects(&provider);
+}
+
void WebDevToolsAgentImpl::dispatchOnInspectorBackend(const WebString& message)
{
inspectorController()->dispatchMessageFromFrontend(message);
diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h
index 6a9663127..a5061cf49 100644
--- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h
+++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h
@@ -106,6 +106,7 @@ public:
virtual void autoZoomPageToFitWidth();
virtual void getAllocatedObjects(HashSet<const void*>&);
+ virtual void dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>&);
int hostId() { return m_hostId; }
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.cpp b/Source/WebKit/chromium/src/WebFrameImpl.cpp
index ff4a0b44c..98bec3aba 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/Source/WebKit/chromium/src/WebFrameImpl.cpp
@@ -2271,7 +2271,7 @@ void WebFrameImpl::createFrameView()
WebViewImpl* webView = viewImpl();
bool isMainFrame = webView->mainFrameImpl()->frame() == frame();
- frame()->createView(webView->size(), Color::white, webView->isTransparent(), webView->fixedLayoutSize(), isMainFrame ? webView->isFixedLayoutModeEnabled() : 0);
+ frame()->createView(webView->size(), Color::white, webView->isTransparent(), webView->fixedLayoutSize(), IntRect(), isMainFrame ? webView->isFixedLayoutModeEnabled() : 0);
if (webView->shouldAutoResize() && isMainFrame)
frame()->view()->enableAutoSizeMode(true, webView->minAutoSize(), webView->maxAutoSize());
diff --git a/Source/WebKit/chromium/src/WebKit.cpp b/Source/WebKit/chromium/src/WebKit.cpp
index e357f28e4..243d08e62 100644
--- a/Source/WebKit/chromium/src/WebKit.cpp
+++ b/Source/WebKit/chromium/src/WebKit.cpp
@@ -31,6 +31,7 @@
#include "config.h"
#include "WebKit.h"
+#include "ImageDecodingStore.h"
#include "LayoutTestSupport.h"
#include "Logging.h"
#include "MutationObserver.h"
@@ -165,6 +166,7 @@ void shutdown()
}
#endif
s_webKitPlatformSupport = 0;
+ WebCore::ImageDecodingStore::shutdown();
Platform::shutdown();
WebPrerenderingSupport::shutdown();
}
diff --git a/Source/WebKit/chromium/src/WebPagePopupImpl.cpp b/Source/WebKit/chromium/src/WebPagePopupImpl.cpp
index e4808fd70..078ae7e86 100644
--- a/Source/WebKit/chromium/src/WebPagePopupImpl.cpp
+++ b/Source/WebKit/chromium/src/WebPagePopupImpl.cpp
@@ -142,6 +142,7 @@ bool PagePopupFeaturesClient::isEnabled(Document*, ContextFeatures::FeatureType
WebPagePopupImpl::WebPagePopupImpl(WebWidgetClient* client)
: m_widgetClient(client)
+ , m_closing(false)
{
ASSERT(client);
}
@@ -259,7 +260,7 @@ bool WebPagePopupImpl::handleCharEvent(const WebKeyboardEvent&)
#if ENABLE(GESTURE_EVENTS)
bool WebPagePopupImpl::handleGestureEvent(const WebGestureEvent& event)
{
- if (!m_page || !m_page->mainFrame() || !m_page->mainFrame()->view())
+ if (m_closing || !m_page || !m_page->mainFrame() || !m_page->mainFrame()->view())
return false;
Frame& frame = *m_page->mainFrame();
return frame.eventHandler()->handleGestureEvent(PlatformGestureEventBuilder(frame.view(), event));
@@ -268,12 +269,14 @@ bool WebPagePopupImpl::handleGestureEvent(const WebGestureEvent& event)
bool WebPagePopupImpl::handleInputEvent(const WebInputEvent& event)
{
+ if (m_closing)
+ return false;
return PageWidgetDelegate::handleInputEvent(m_page.get(), *this, event);
}
bool WebPagePopupImpl::handleKeyEvent(const PlatformKeyboardEvent& event)
{
- if (!m_page->mainFrame() || !m_page->mainFrame()->view())
+ if (m_closing || !m_page->mainFrame() || !m_page->mainFrame()->view())
return false;
return m_page->mainFrame()->eventHandler()->keyEvent(event);
}
@@ -302,7 +305,9 @@ void WebPagePopupImpl::closePopup()
m_page->setGroupName(String());
m_page->mainFrame()->loader()->stopAllLoaders();
m_page->mainFrame()->loader()->stopLoading(UnloadEventPolicyNone);
+ DOMWindowPagePopup::uninstall(m_page->mainFrame()->document()->domWindow());
}
+ m_closing = true;
// m_widgetClient might be 0 because this widget might be already closed.
if (m_widgetClient) {
// closeWidgetSoon() will call this->close() later.
diff --git a/Source/WebKit/chromium/src/WebPagePopupImpl.h b/Source/WebKit/chromium/src/WebPagePopupImpl.h
index cf2bbba78..34b4794bd 100644
--- a/Source/WebKit/chromium/src/WebPagePopupImpl.h
+++ b/Source/WebKit/chromium/src/WebPagePopupImpl.h
@@ -94,6 +94,7 @@ private:
OwnPtr<WebCore::Page> m_page;
OwnPtr<PagePopupChromeClient> m_chromeClient;
WebCore::PagePopupClient* m_popupClient;
+ bool m_closing;
friend class WebPagePopup;
friend class PagePopupChromeClient;
diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.cpp b/Source/WebKit/chromium/src/WebSettingsImpl.cpp
index 988c5e66b..a667bedf5 100644
--- a/Source/WebKit/chromium/src/WebSettingsImpl.cpp
+++ b/Source/WebKit/chromium/src/WebSettingsImpl.cpp
@@ -32,6 +32,7 @@
#include "WebSettingsImpl.h"
#include "FontRenderingMode.h"
+#include "ImageDecodingStore.h"
#include "Settings.h"
#include <public/WebString.h>
#include <public/WebURL.h>
@@ -55,6 +56,8 @@ WebSettingsImpl::WebSettingsImpl(Settings* settings)
, m_applyDefaultDeviceScaleFactorInCompositor(false)
, m_gestureTapHighlightEnabled(true)
, m_autoZoomFocusedNodeToLegibleScale(false)
+ , m_deferredImageDecodingEnabled(false)
+ , m_doubleTapToZoomEnabled(false)
, m_defaultTileSize(WebSize(256, 256))
, m_maxUntiledLayerSize(WebSize(512, 512))
{
@@ -264,6 +267,11 @@ void WebSettingsImpl::setPageCacheSupportsPlugins(bool pageCacheSupportsPlugins)
m_settings->setPageCacheSupportsPlugins(pageCacheSupportsPlugins);
}
+void WebSettingsImpl::setDoubleTapToZoomEnabled(bool doubleTapToZoomEnabled)
+{
+ m_doubleTapToZoomEnabled = doubleTapToZoomEnabled;
+}
+
void WebSettingsImpl::setDownloadableBinaryFontsEnabled(bool enabled)
{
m_settings->setDownloadableBinaryFontsEnabled(enabled);
@@ -480,6 +488,15 @@ void WebSettingsImpl::setDeferred2dCanvasEnabled(bool enabled)
m_settings->setDeferred2dCanvasEnabled(enabled);
}
+void WebSettingsImpl::setDeferredImageDecodingEnabled(bool enabled)
+{
+ if (!m_deferredImageDecodingEnabled && enabled)
+ ImageDecodingStore::initializeOnMainThread();
+ if (m_deferredImageDecodingEnabled && !enabled)
+ ImageDecodingStore::shutdown();
+ m_deferredImageDecodingEnabled = enabled;
+}
+
void WebSettingsImpl::setAcceleratedCompositingForFixedPositionEnabled(bool enabled)
{
m_settings->setAcceleratedCompositingForFixedPositionEnabled(enabled);
diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.h b/Source/WebKit/chromium/src/WebSettingsImpl.h
index 1169c31cf..74968c4f6 100644
--- a/Source/WebKit/chromium/src/WebSettingsImpl.h
+++ b/Source/WebKit/chromium/src/WebSettingsImpl.h
@@ -78,9 +78,11 @@ public:
virtual void setDefaultTextEncodingName(const WebString&);
virtual void setDefaultTileSize(WebSize);
virtual void setDeferred2dCanvasEnabled(bool);
+ virtual void setDeferredImageDecodingEnabled(bool);
virtual void setDeveloperExtrasEnabled(bool);
virtual void setDeviceSupportsMouse(bool);
virtual void setDeviceSupportsTouch(bool);
+ virtual void setDoubleTapToZoomEnabled(bool);
virtual void setDownloadableBinaryFontsEnabled(bool);
virtual void setEditableLinkBehaviorNeverLive();
virtual void setEditingBehavior(EditingBehavior);
@@ -165,6 +167,7 @@ public:
bool applyPageScaleFactorInCompositor() const;
bool autoZoomFocusedNodeToLegibleScale() const { return m_autoZoomFocusedNodeToLegibleScale; }
bool gestureTapHighlightEnabled() { return m_gestureTapHighlightEnabled; }
+ bool doubleTapToZoomEnabled() { return m_doubleTapToZoomEnabled; }
WebSize defaultTileSize() const { return m_defaultTileSize; }
WebSize maxUntiledLayerSize() const { return m_maxUntiledLayerSize; }
@@ -178,6 +181,8 @@ private:
bool m_applyDefaultDeviceScaleFactorInCompositor;
bool m_gestureTapHighlightEnabled;
bool m_autoZoomFocusedNodeToLegibleScale;
+ bool m_deferredImageDecodingEnabled;
+ bool m_doubleTapToZoomEnabled;
WebSize m_defaultTileSize;
WebSize m_maxUntiledLayerSize;
};
diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp
index d6bf94b96..9f2a845dd 100644
--- a/Source/WebKit/chromium/src/WebViewImpl.cpp
+++ b/Source/WebKit/chromium/src/WebViewImpl.cpp
@@ -679,6 +679,7 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
m_linkHighlight->startHighlightAnimationIfNeeded();
break;
case WebInputEvent::GestureTap:
+ case WebInputEvent::GestureLongPress:
// If a link highlight is active, kill it.
m_linkHighlight.clear();
break;
@@ -774,10 +775,12 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
break;
}
case WebInputEvent::GestureDoubleTap:
- m_client->cancelScheduledContentIntents();
- animateZoomAroundPoint(WebPoint(event.x, event.y), DoubleTap);
- eventSwallowed = true;
- break;
+ if (m_webSettings->doubleTapToZoomEnabled()) {
+ m_client->cancelScheduledContentIntents();
+ animateZoomAroundPoint(WebPoint(event.x, event.y), DoubleTap);
+ eventSwallowed = true;
+ break;
+ }
case WebInputEvent::GestureScrollBegin:
case WebInputEvent::GesturePinchBegin:
m_client->cancelScheduledContentIntents();
diff --git a/Source/WebKit/chromium/tests/DeferredImageDecoderTest.cpp b/Source/WebKit/chromium/tests/DeferredImageDecoderTest.cpp
new file mode 100644
index 000000000..482549805
--- /dev/null
+++ b/Source/WebKit/chromium/tests/DeferredImageDecoderTest.cpp
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "DeferredImageDecoder.h"
+
+#include "ImageDecodingStore.h"
+#include "MockImageDecoder.h"
+#include "NativeImageSkia.h"
+#include "SkCanvas.h"
+#include "SkDevice.h"
+#include "SkPicture.h"
+#include <gtest/gtest.h>
+
+using namespace WebCore;
+
+namespace {
+
+class DeferredImageDecoderTest : public ::testing::Test {
+public:
+ virtual void SetUp()
+ {
+ ImageDecodingStore::initializeOnMainThread();
+ m_actualDecoder = new MockImageDecoder();
+ m_actualDecoder->setSize(600, 613);
+ m_lazyDecoder = DeferredImageDecoder::createForTesting(adoptPtr(m_actualDecoder));
+ m_canvas.setDevice(new SkDevice(SkBitmap::kARGB_8888_Config, 100, 100))->unref();
+ }
+
+ virtual void TearDown()
+ {
+ ImageDecodingStore::shutdown();
+ }
+
+protected:
+ // Don't own this but saves the pointer to query states.
+ MockImageDecoder* m_actualDecoder;
+ OwnPtr<DeferredImageDecoder> m_lazyDecoder;
+ SkPicture m_picture;
+ SkCanvas m_canvas;
+};
+
+TEST_F(DeferredImageDecoderTest, drawIntoSkPicture)
+{
+ OwnPtr<NativeImageSkia> image(adoptPtr(m_lazyDecoder->frameBufferAtIndex(0)->asNewNativeImage()));
+ EXPECT_EQ(m_actualDecoder->size().width(), image->bitmap().width());
+ EXPECT_EQ(m_actualDecoder->size().height(), image->bitmap().height());
+ EXPECT_FALSE(image->bitmap().isNull());
+ EXPECT_TRUE(image->bitmap().isImmutable());
+
+ SkCanvas* tempCanvas = m_picture.beginRecording(100, 100);
+ tempCanvas->drawBitmap(image->bitmap(), 0, 0);
+ m_picture.endRecording();
+ EXPECT_EQ(0, m_actualDecoder->frameBufferRequestCount());
+
+ m_canvas.drawPicture(m_picture);
+ EXPECT_EQ(1, m_actualDecoder->frameBufferRequestCount());
+}
+
+TEST_F(DeferredImageDecoderTest, drawScaledIntoSkPicture)
+{
+ OwnPtr<NativeImageSkia> image(adoptPtr(m_lazyDecoder->frameBufferAtIndex(0)->asNewNativeImage()));
+ SkBitmap scaledBitmap = image->resizedBitmap(SkISize::Make(50, 51), SkIRect::MakeWH(50, 51));
+ EXPECT_FALSE(scaledBitmap.isNull());
+ EXPECT_TRUE(scaledBitmap.isImmutable());
+ EXPECT_EQ(50, scaledBitmap.width());
+ EXPECT_EQ(51, scaledBitmap.height());
+ EXPECT_EQ(0, m_actualDecoder->frameBufferRequestCount());
+
+ SkCanvas* tempCanvas = m_picture.beginRecording(100, 100);
+ tempCanvas->drawBitmap(scaledBitmap, 0, 0);
+ m_picture.endRecording();
+ EXPECT_EQ(0, m_actualDecoder->frameBufferRequestCount());
+
+ m_canvas.drawPicture(m_picture);
+ EXPECT_EQ(1, m_actualDecoder->frameBufferRequestCount());
+}
+
+} // namespace
diff --git a/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp b/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp
index cd2a07649..2be4e567e 100644
--- a/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp
+++ b/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp
@@ -24,6 +24,7 @@
*/
#include "config.h"
+#include "IDBCallbacks.h"
#include "IDBCursorBackendInterface.h"
#include "IDBDatabaseBackendInterface.h"
#include "IDBDatabaseCallbacks.h"
diff --git a/Source/WebKit/chromium/tests/IDBFakeBackingStore.h b/Source/WebKit/chromium/tests/IDBFakeBackingStore.h
index c59dce675..45cdd1cb2 100644
--- a/Source/WebKit/chromium/tests/IDBFakeBackingStore.h
+++ b/Source/WebKit/chromium/tests/IDBFakeBackingStore.h
@@ -33,7 +33,7 @@ namespace WebCore {
class IDBFakeBackingStore : public IDBBackingStore {
public:
virtual void getDatabaseNames(Vector<String>& foundNames) OVERRIDE { }
- virtual bool getIDBDatabaseMetaData(const String& name, String& foundStringVersion, int64_t& foundIntVersion, int64_t& foundId, int64_t& maxObjectStoreId) OVERRIDE { return false; }
+ virtual bool getIDBDatabaseMetaData(const String& name, IDBDatabaseMetadata*) OVERRIDE { return false; }
virtual bool createIDBDatabaseMetaData(const String& name, const String& version, int64_t intVersion, int64_t& rowId) OVERRIDE { return true; }
virtual bool updateIDBDatabaseMetaData(Transaction*, int64_t rowId, const String& version) OVERRIDE { return false; }
virtual bool updateIDBDatabaseIntVersion(Transaction*, int64_t rowId, int64_t version) OVERRIDE { return false; }
diff --git a/Source/WebKit/chromium/tests/LocaleMacTest.cpp b/Source/WebKit/chromium/tests/LocaleMacTest.cpp
index 449776195..91482d94d 100644
--- a/Source/WebKit/chromium/tests/LocaleMacTest.cpp
+++ b/Source/WebKit/chromium/tests/LocaleMacTest.cpp
@@ -120,6 +120,12 @@ protected:
#endif
#if ENABLE(INPUT_MULTIPLE_FIELDS_UI)
+ String monthFormat(const String& localeString)
+ {
+ OwnPtr<LocaleMac> locale = LocaleMac::create(localeString);
+ return locale->monthFormat();
+ }
+
String timeFormat(const String& localeString)
{
OwnPtr<LocaleMac> locale = LocaleMac::create(localeString);
@@ -132,6 +138,18 @@ protected:
return locale->shortTimeFormat();
}
+ String shortMonthLabel(const String& localeString, unsigned index)
+ {
+ OwnPtr<LocaleMac> locale = LocaleMac::create(localeString);
+ return locale->shortMonthLabels()[index];
+ }
+
+ String shortStandAloneMonthLabel(const String& localeString, unsigned index)
+ {
+ OwnPtr<LocaleMac> locale = LocaleMac::create(localeString);
+ return locale->shortStandAloneMonthLabels()[index];
+ }
+
String timeAMPMLabel(const String& localeString, unsigned index)
{
OwnPtr<LocaleMac> locale = LocaleMac::create(localeString);
@@ -236,6 +254,16 @@ TEST_F(LocaleMacTest, isRTL)
#endif
#if ENABLE(INPUT_MULTIPLE_FIELDS_UI)
+TEST_F(LocaleMacTest, monthFormat)
+{
+ EXPECT_STREQ("MMM yyyy", monthFormat("en_US").utf8().data());
+ EXPECT_STREQ("yyyy\xE5\xB9\xB4M\xE6\x9C\x88", monthFormat("ja_JP").utf8().data());
+
+ // fr_FR and ru return different results on OS versions.
+ // "MMM yyyy" "LLL yyyy" on 10.6 and 10.7
+ // "MMM y" "LLL y" on 10.8
+}
+
TEST_F(LocaleMacTest, timeFormat)
{
EXPECT_STREQ("h:mm:ss a", timeFormat("en_US").utf8().data());
@@ -250,6 +278,30 @@ TEST_F(LocaleMacTest, shortTimeFormat)
EXPECT_STREQ("H:mm", shortTimeFormat("ja_JP").utf8().data());
}
+TEST_F(LocaleMacTest, shortMonthLabels)
+{
+ EXPECT_STREQ("Jan", shortMonthLabel("en_US", 0).utf8().data());
+ EXPECT_STREQ("Jan", shortStandAloneMonthLabel("en_US", 0).utf8().data());
+ EXPECT_STREQ("Dec", shortMonthLabel("en_US", 11).utf8().data());
+ EXPECT_STREQ("Dec", shortStandAloneMonthLabel("en_US", 11).utf8().data());
+
+ EXPECT_STREQ("janv.", shortMonthLabel("fr_FR", 0).utf8().data());
+ EXPECT_STREQ("janv.", shortStandAloneMonthLabel("fr_FR", 0).utf8().data());
+ EXPECT_STREQ("d\xC3\xA9" "c.", shortMonthLabel("fr_FR", 11).utf8().data());
+ EXPECT_STREQ("d\xC3\xA9" "c.", shortStandAloneMonthLabel("fr_FR", 11).utf8().data());
+
+ EXPECT_STREQ("1\xE6\x9C\x88", shortMonthLabel("ja_JP", 0).utf8().data());
+ EXPECT_STREQ("1\xE6\x9C\x88", shortStandAloneMonthLabel("ja_JP", 0).utf8().data());
+ EXPECT_STREQ("12\xE6\x9C\x88", shortMonthLabel("ja_JP", 11).utf8().data());
+ EXPECT_STREQ("12\xE6\x9C\x88", shortStandAloneMonthLabel("ja_JP", 11).utf8().data());
+
+ EXPECT_STREQ("\xD0\xBC\xD0\xB0\xD1\x80\xD1\x82\xD0\xB0", shortMonthLabel("ru_RU", 2).utf8().data());
+ EXPECT_STREQ("\xD0\xBC\xD0\xB0\xD1\x8F", shortMonthLabel("ru_RU", 4).utf8().data());
+ // The ru_RU locale returns different stand-alone month labels on OS versions.
+ // "\xD0\xBC\xD0\xB0\xD1\x80\xD1\x82" "\xD0\xBC\xD0\xB0\xD0\xB9" on 10.6 and 10.7
+ // "\xD0\x9C\xD0\xB0\xD1\x80\xD1\x82" "\xD0\x9C\xD0\xB0\xD0\xB9" on 10.8
+}
+
TEST_F(LocaleMacTest, timeAMPMLabels)
{
EXPECT_STREQ("AM", timeAMPMLabel("en_US", 0).utf8().data());
diff --git a/Source/WebKit/chromium/tests/LocaleWinTest.cpp b/Source/WebKit/chromium/tests/LocaleWinTest.cpp
index 75af419dd..35f064aac 100644
--- a/Source/WebKit/chromium/tests/LocaleWinTest.cpp
+++ b/Source/WebKit/chromium/tests/LocaleWinTest.cpp
@@ -129,6 +129,12 @@ protected:
#endif
#if ENABLE(INPUT_MULTIPLE_FIELDS_UI)
+ String monthFormat(LCID lcid)
+ {
+ OwnPtr<LocaleWin> locale = LocaleWin::create(lcid);
+ return locale->monthFormat();
+ }
+
String timeFormat(LCID lcid)
{
OwnPtr<LocaleWin> locale = LocaleWin::create(lcid);
@@ -141,6 +147,12 @@ protected:
return locale->shortTimeFormat();
}
+ String shortMonthLabel(LCID lcid, unsigned index)
+ {
+ OwnPtr<LocaleWin> locale = LocaleWin::create(lcid);
+ return locale->shortMonthLabels()[index];
+ }
+
String timeAMPMLabel(LCID lcid, unsigned index)
{
OwnPtr<LocaleWin> locale = LocaleWin::create(lcid);
@@ -284,6 +296,13 @@ TEST_F(LocaleWinTest, dateFormat)
EXPECT_STREQ("yyyy'-'''''MMMM'-'dd", LocaleWin::dateFormat("yyyy-''''MMMM-dd").utf8().data());
}
+TEST_F(LocaleWinTest, monthFormat)
+{
+ EXPECT_STREQ("MMMM', 'yyyy", monthFormat(EnglishUS).utf8().data());
+ EXPECT_STREQ("MMMM' 'yyyy", monthFormat(FrenchFR).utf8().data());
+ EXPECT_STREQ("yyyy'\xE5\xB9\xB4'M'\xE6\x9C\x88'", monthFormat(JapaneseJP).utf8().data());
+}
+
TEST_F(LocaleWinTest, timeFormat)
{
EXPECT_STREQ("h:mm:ss a", timeFormat(EnglishUS).utf8().data());
@@ -298,6 +317,16 @@ TEST_F(LocaleWinTest, shortTimeFormat)
EXPECT_STREQ("H:mm:ss", shortTimeFormat(JapaneseJP).utf8().data());
}
+TEST_F(LocaleWinTest, shortMonthLabels)
+{
+ EXPECT_STREQ("Jan", shortMonthLabel(EnglishUS, 0).utf8().data());
+ EXPECT_STREQ("Dec", shortMonthLabel(EnglishUS, 11).utf8().data());
+ EXPECT_STREQ("janv.", shortMonthLabel(FrenchFR, 0).utf8().data());
+ EXPECT_STREQ("d\xC3\xA9" "c.", shortMonthLabel(FrenchFR, 11).utf8().data());
+ EXPECT_STREQ("1", shortMonthLabel(JapaneseJP, 0).utf8().data());
+ EXPECT_STREQ("12", shortMonthLabel(JapaneseJP, 11).utf8().data());
+}
+
TEST_F(LocaleWinTest, timeAMPMLabels)
{
EXPECT_STREQ("AM", timeAMPMLabel(EnglishUS, 0).utf8().data());
diff --git a/Source/WebKit/chromium/tests/LocalizedDateICUTest.cpp b/Source/WebKit/chromium/tests/LocalizedDateICUTest.cpp
index 771a3cbc0..88946e84d 100644
--- a/Source/WebKit/chromium/tests/LocalizedDateICUTest.cpp
+++ b/Source/WebKit/chromium/tests/LocalizedDateICUTest.cpp
@@ -88,6 +88,12 @@ protected:
return Labels(labels);
}
+ String monthFormat(const char* localeString)
+ {
+ OwnPtr<LocaleICU> locale = LocaleICU::create(localeString);
+ return locale->monthFormat();
+ }
+
String localizedDateFormatText(const char* localeString)
{
OwnPtr<LocaleICU> locale = LocaleICU::create(localeString);
@@ -100,6 +106,18 @@ protected:
return locale->shortTimeFormat();
}
+ String shortMonthLabel(const char* localeString, unsigned index)
+ {
+ OwnPtr<LocaleICU> locale = LocaleICU::create(localeString);
+ return locale->shortMonthLabels()[index];
+ }
+
+ String shortStandAloneMonthLabel(const char* localeString, unsigned index)
+ {
+ OwnPtr<LocaleICU> locale = LocaleICU::create(localeString);
+ return locale->shortStandAloneMonthLabels()[index];
+ }
+
Labels timeAMPMLabels(const char* localeString)
{
OwnPtr<LocaleICU> locale = LocaleICU::create(localeString);
@@ -126,6 +144,13 @@ TEST_F(LocalizedDateICUTest, isRTL)
EXPECT_FALSE(isRTL("**invalid**"));
}
+TEST_F(LocalizedDateICUTest, monthFormat)
+{
+ EXPECT_STREQ("MMM yyyy", monthFormat("en_US").utf8().data());
+ EXPECT_STREQ("MMM yyyy", monthFormat("fr").utf8().data());
+ EXPECT_STREQ("yyyy\xE5\xB9\xB4M\xE6\x9C\x88", monthFormat("ja").utf8().data());
+}
+
TEST_F(LocalizedDateICUTest, localizedDateFormatText)
{
// Note: EXPECT_EQ(String, String) doesn't print result as string.
@@ -141,6 +166,29 @@ TEST_F(LocalizedDateICUTest, localizedShortDateFormatText)
EXPECT_STREQ("H:mm", localizedShortDateFormatText("ja").utf8().data());
}
+TEST_F(LocalizedDateICUTest, shortMonthLabels)
+{
+ EXPECT_STREQ("Jan", shortMonthLabel("en_US", 0).utf8().data());
+ EXPECT_STREQ("Jan", shortStandAloneMonthLabel("en_US", 0).utf8().data());
+ EXPECT_STREQ("Dec", shortMonthLabel("en_US", 11).utf8().data());
+ EXPECT_STREQ("Dec", shortStandAloneMonthLabel("en_US", 11).utf8().data());
+
+ EXPECT_STREQ("janv.", shortMonthLabel("fr_FR", 0).utf8().data());
+ EXPECT_STREQ("janv.", shortStandAloneMonthLabel("fr_FR", 0).utf8().data());
+ EXPECT_STREQ("d\xC3\xA9" "c.", shortMonthLabel("fr_FR", 11).utf8().data());
+ EXPECT_STREQ("d\xC3\xA9" "c.", shortStandAloneMonthLabel("fr_FR", 11).utf8().data());
+
+ EXPECT_STREQ("1\xE6\x9C\x88", shortMonthLabel("ja_JP", 0).utf8().data());
+ EXPECT_STREQ("1\xE6\x9C\x88", shortStandAloneMonthLabel("ja_JP", 0).utf8().data());
+ EXPECT_STREQ("12\xE6\x9C\x88", shortMonthLabel("ja_JP", 11).utf8().data());
+ EXPECT_STREQ("12\xE6\x9C\x88", shortStandAloneMonthLabel("ja_JP", 11).utf8().data());
+
+ EXPECT_STREQ("\xD0\xBC\xD0\xB0\xD1\x80\xD1\x82\xD0\xB0", shortMonthLabel("ru_RU", 2).utf8().data());
+ EXPECT_STREQ("\xD0\xBC\xD0\xB0\xD1\x80\xD1\x82", shortStandAloneMonthLabel("ru_RU", 2).utf8().data());
+ EXPECT_STREQ("\xD0\xBC\xD0\xB0\xD1\x8F", shortMonthLabel("ru_RU", 4).utf8().data());
+ EXPECT_STREQ("\xD0\xBC\xD0\xB0\xD0\xB9", shortStandAloneMonthLabel("ru_RU", 4).utf8().data());
+}
+
TEST_F(LocalizedDateICUTest, timeAMPMLabels)
{
EXPECT_EQ(labels("AM", "PM"), timeAMPMLabels("en_US"));
diff --git a/Source/WebKit/chromium/tests/MockImageDecoder.h b/Source/WebKit/chromium/tests/MockImageDecoder.h
new file mode 100644
index 000000000..5cf23744e
--- /dev/null
+++ b/Source/WebKit/chromium/tests/MockImageDecoder.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef MockImageDecoder_h
+
+#include "ImageDecoder.h"
+
+namespace WebCore {
+
+class MockImageDecoder : public ImageDecoder {
+public:
+ MockImageDecoder()
+ : ImageDecoder(ImageSource::AlphaPremultiplied, ImageSource::GammaAndColorProfileApplied)
+ , m_frameBufferRequestCount(0)
+ { }
+
+ virtual String filenameExtension() const
+ {
+ return "mock";
+ }
+
+ virtual ImageFrame* frameBufferAtIndex(size_t)
+ {
+ ++m_frameBufferRequestCount;
+
+ m_frameBufferCache.resize(1);
+ m_frameBufferCache[0].setSize(size().width(), size().height());
+ return &m_frameBufferCache[0];
+ }
+
+ int frameBufferRequestCount() const { return m_frameBufferRequestCount; }
+
+private:
+ int m_frameBufferRequestCount;
+};
+
+} // namespace WebCore
+
+#endif // MockImageDecoder_h
diff --git a/Source/WebKit/efl/ChangeLog b/Source/WebKit/efl/ChangeLog
index c8704bc4e..77773bf25 100644
--- a/Source/WebKit/efl/ChangeLog
+++ b/Source/WebKit/efl/ChangeLog
@@ -1,3 +1,56 @@
+2012-10-22 Ryuan Choi <ryuan.choi@gmail.com>
+
+ [EFL] pc files should use DATA_INSTALL_DIR for datadir
+ https://bugs.webkit.org/show_bug.cgi?id=99961
+
+ Reviewed by Gyuyoung Kim.
+
+ * ewebkit.pc.in: Used DATA_INSTALL_DIR instead of hardcoded `shared/XXX`
+
+2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
+ https://bugs.webkit.org/show_bug.cgi?id=98514
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_view_create_for_view):
+
+2012-10-21 Seokju Kwon <seokju.kwon@samsung.com>
+
+ [EFL] Fix failure to access the inspector resources
+ https://bugs.webkit.org/show_bug.cgi?id=99816
+
+ Reviewed by Gyuyoung Kim.
+
+ access() returns -1, if path has a file protocol like "file://".
+ And I have removed it from the first argument of access().
+ If not, inspectorBaseURL() or inspectorFilesPath() always returns WEB_INSPECTOR_DIR.
+ Then all layout test related to inspector can fail after installing webkit package.
+
+ * WebCoreSupport/InspectorClientEfl.cpp:
+ (WebCore::InspectorClientEfl::inspectorFilesPath):
+
+2012-10-20 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+
+ [EFL][DRT] Implement tracking and painting repaint rectangles.
+ https://bugs.webkit.org/show_bug.cgi?id=99838
+
+ Reviewed by Gyuyoung Kim.
+
+ Add the required DumpRenderTreeSupport plumbing functions to
+ interact with FrameView and track/obtain repaint rectangles for
+ DumpRenderTree.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::setSelectTrailingWhitespaceEnabled):
+ (DumpRenderTreeSupportEfl::setTracksRepaints):
+ (DumpRenderTreeSupportEfl::resetTrackedRepaints):
+ (DumpRenderTreeSupportEfl::isTrackingRepaints):
+ (DumpRenderTreeSupportEfl::trackedRepaintRects):
+ * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
2012-10-18 Kangil Han <kangil.han@samsung.com>
[EFL] Add unit test for ewk_frame_source_get.
diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
index 746602949..eee7122e7 100644
--- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
@@ -1,6 +1,7 @@
/*
Copyright (C) 2011 ProFUSION embedded systems
Copyright (C) 2011 Samsung Electronics
+ Copyright (C) 2012 Intel Corporation. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -378,6 +379,51 @@ void DumpRenderTreeSupportEfl::setSelectTrailingWhitespaceEnabled(Evas_Object* e
editorClient->setSelectTrailingWhitespaceEnabled(enabled);
}
+void DumpRenderTreeSupportEfl::setTracksRepaints(Evas_Object* ewkFrame, bool enabled)
+{
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
+
+ if (frame->view())
+ frame->view()->setTracksRepaints(enabled);
+}
+
+void DumpRenderTreeSupportEfl::resetTrackedRepaints(Evas_Object* ewkFrame)
+{
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
+
+ if (frame->view())
+ frame->view()->resetTrackedRepaints();
+}
+
+bool DumpRenderTreeSupportEfl::isTrackingRepaints(const Evas_Object* ewkFrame)
+{
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
+
+ if (!frame->view())
+ return false;
+
+ return frame->view()->isTrackingRepaints();
+}
+
+Eina_List* DumpRenderTreeSupportEfl::trackedRepaintRects(const Evas_Object* ewkFrame)
+{
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
+
+ if (!frame->view())
+ return 0;
+
+ const Vector<WebCore::IntRect>& repaintRects = frame->view()->trackedRepaintRects();
+ size_t count = repaintRects.size();
+ Eina_List* rectList = 0;
+
+ for (size_t i = 0; i < count; ++i) {
+ Eina_Rectangle* rect = eina_rectangle_new(repaintRects[i].x(), repaintRects[i].y(), repaintRects[i].width(), repaintRects[i].height());
+ rectList = eina_list_append(rectList, rect);
+ }
+
+ return rectList;
+}
+
void DumpRenderTreeSupportEfl::garbageCollectorCollect()
{
WebCore::gcController().garbageCollectNow();
diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
index ccc087351..35c05001d 100644
--- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
@@ -1,6 +1,7 @@
/*
Copyright (C) 2011 ProFUSION embedded systems
Copyright (C) 2011 Samsung Electronics
+ Copyright (C) 2012 Intel Corporation. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -83,6 +84,11 @@ public:
static void setSmartInsertDeleteEnabled(Evas_Object* ewkView, bool enabled);
static void setSelectTrailingWhitespaceEnabled(Evas_Object* ewkView, bool enabled);
+ static void setTracksRepaints(Evas_Object* ewkFrame, bool enabled);
+ static void resetTrackedRepaints(Evas_Object* ewkFrame);
+ static bool isTrackingRepaints(const Evas_Object* ewkFrame);
+ static Eina_List* trackedRepaintRects(const Evas_Object* ewkFrame);
+
static void garbageCollectorCollect();
static void garbageCollectorCollectOnAlternateThread(bool waitUntilDone);
static size_t javaScriptObjectsCount();
diff --git a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
index 3dd815ab9..591dee202 100644
--- a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
@@ -140,11 +140,11 @@ void InspectorClientEfl::releaseFrontendPage()
String InspectorClientEfl::inspectorFilesPath()
{
- String inspectorFilesPath = "file://" + String(WEB_INSPECTOR_INSTALL_DIR);
+ String inspectorFilesPath = WEB_INSPECTOR_INSTALL_DIR;
if (access(inspectorFilesPath.utf8().data(), R_OK))
- inspectorFilesPath = "file://" + String(WEB_INSPECTOR_DIR);
+ inspectorFilesPath = WEB_INSPECTOR_DIR;
- return inspectorFilesPath;
+ return "file://" + inspectorFilesPath;
}
InspectorFrontendClientEfl::InspectorFrontendClientEfl(Evas_Object* inspectedView, Evas_Object* inspectorView, InspectorClientEfl* inspectorClient)
diff --git a/Source/WebKit/efl/ewebkit.pc.in b/Source/WebKit/efl/ewebkit.pc.in
index 0d9be3f39..2ffd291ab 100644
--- a/Source/WebKit/efl/ewebkit.pc.in
+++ b/Source/WebKit/efl/ewebkit.pc.in
@@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
-datadir=${prefix}/share/@WebKit_LIBRARY_NAME@-@PROJECT_VERSION_MAJOR@
+datadir=${prefix}/@DATA_INSTALL_DIR@
Name: WebKit-EFL
Description: Web content engine for EFL applications
diff --git a/Source/WebKit/efl/ewk/ewk_frame.cpp b/Source/WebKit/efl/ewk/ewk_frame.cpp
index 11957e446..738a93918 100644
--- a/Source/WebKit/efl/ewk/ewk_frame.cpp
+++ b/Source/WebKit/efl/ewk/ewk_frame.cpp
@@ -1621,7 +1621,7 @@ void ewk_frame_view_create_for_view(Evas_Object* ewkFrame, Evas_Object* view)
else
background = WebCore::Color(red * 255 / alpha, green * 255 / alpha, blue * 255 / alpha, alpha);
- smartData->frame->createView(size, background, !alpha, WebCore::IntSize(), false);
+ smartData->frame->createView(size, background, !alpha);
if (!smartData->frame->view())
return;
diff --git a/Source/WebKit/gtk/ChangeLog b/Source/WebKit/gtk/ChangeLog
index 986e4b1d3..f66a29871 100644
--- a/Source/WebKit/gtk/ChangeLog
+++ b/Source/WebKit/gtk/ChangeLog
@@ -1,3 +1,13 @@
+2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
+ https://bugs.webkit.org/show_bug.cgi?id=98514
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
+
2012-10-10 Brady Eidson <beidson@apple.com>
Switch ResourceLoader::resourceData() from SharedBuffer to ResourceBuffer
diff --git a/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
index 085f41c6a..d154b1d31 100644
--- a/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
@@ -1224,7 +1224,7 @@ void FrameLoaderClient::transitionToCommittedForNewPage()
Frame* frame = core(m_frame);
ASSERT(frame);
- frame->createView(size, backgroundColor, transparent, IntSize(), false);
+ frame->createView(size, backgroundColor, transparent);
// We need to do further manipulation on the FrameView if it was the mainFrame
if (frame != frame->page()->mainFrame())
diff --git a/Source/WebKit/mac/ChangeLog b/Source/WebKit/mac/ChangeLog
index 4e29f0e43..8aa53eb80 100644
--- a/Source/WebKit/mac/ChangeLog
+++ b/Source/WebKit/mac/ChangeLog
@@ -1,3 +1,36 @@
+2012-10-21 Andreas Kling <kling@webkit.org>
+
+ Remove Page::javaScriptURLsAreAllowed setting.
+ <http://webkit.org/b/99944>
+
+ Reviewed by Anders Carlsson.
+
+ * WebKit.order:
+ * WebView/WebView.mm:
+ * WebView/WebViewPrivate.h:
+
+2012-10-19 Dongwoo Joshua Im <dw.im@samsung.com>
+
+ Rename ENABLE_CSS3_TEXT_DECORATION to ENABLE_CSS3_TEXT
+ https://bugs.webkit.org/show_bug.cgi?id=99804
+
+ Reviewed by Julien Chaffraix.
+
+ CSS3 text related properties will be implemented under this flag,
+ including text decoration, text-align-last, and text-justify.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-10-18 Pablo Flouret <pablof@motorola.com>
+
+ Implement css3-conditional's @supports rule
+ https://bugs.webkit.org/show_bug.cgi?id=86146
+
+ Reviewed by Antti Koivisto.
+
+ * Configurations/FeatureDefines.xcconfig:
+ Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
+
2012-10-17 Joseph Pecoraro <pecoraro@apple.com>
[Mac] Uninitialized Members in WebDataSourcePrivate
diff --git a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
index bc40f76e4..eee0fe431 100644
--- a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
+++ b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
@@ -48,7 +48,8 @@ ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS;
ENABLE_CSS_COMPOSITING = ENABLE_CSS_COMPOSITING;
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
ENABLE_CSS_VARIABLES = ;
-ENABLE_CSS3_TEXT_DECORATION = ;
+ENABLE_CSS3_CONDITIONAL_RULES = ;
+ENABLE_CSS3_TEXT = ;
ENABLE_CUSTOM_SCHEME_HANDLER = ;
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(REAL_PLATFORM_NAME));
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
@@ -143,4 +144,4 @@ ENABLE_WEB_TIMING = ;
ENABLE_WORKERS = ENABLE_WORKERS;
ENABLE_XSLT = ENABLE_XSLT;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XSLT);
diff --git a/Source/WebKit/mac/WebKit.order b/Source/WebKit/mac/WebKit.order
index 43ad19a83..6263b7e59 100644
--- a/Source/WebKit/mac/WebKit.order
+++ b/Source/WebKit/mac/WebKit.order
@@ -2422,7 +2422,6 @@ __ZN12PluginWidgetD0Ev
-[WebView estimatedProgress]
+[WebView canShowMIMEType:]
-[WebFrame(WebPrivate) _loadType]
--[WebView(WebPrivate) _setJavaScriptURLsAreAllowed:]
-[WebView(WebPendingPublic) addVisitedLinks:]
-[WebHistoryItem(WebPrivate) _transientPropertyForKey:]
-[WebElementDictionary _targetWebFrame]
diff --git a/Source/WebKit/mac/WebView/WebView.mm b/Source/WebKit/mac/WebView/WebView.mm
index 2aae548eb..dadf1533d 100644
--- a/Source/WebKit/mac/WebView/WebView.mm
+++ b/Source/WebKit/mac/WebView/WebView.mm
@@ -2474,11 +2474,6 @@ static inline IMP getMethod(id o, SEL s)
return _private->page->areMemoryCacheClientCallsEnabled();
}
-- (void)_setJavaScriptURLsAreAllowed:(BOOL)areAllowed
-{
- _private->page->setJavaScriptURLsAreAllowed(areAllowed);
-}
-
+ (NSCursor *)_pointingHandCursor
{
return handCursor().platformCursor();
diff --git a/Source/WebKit/mac/WebView/WebViewPrivate.h b/Source/WebKit/mac/WebView/WebViewPrivate.h
index 26f5da714..fd5b9b06d 100644
--- a/Source/WebKit/mac/WebView/WebViewPrivate.h
+++ b/Source/WebKit/mac/WebView/WebViewPrivate.h
@@ -486,8 +486,6 @@ Could be worth adding to the API.
- (void)setMemoryCacheDelegateCallsEnabled:(BOOL)suspend;
- (BOOL)areMemoryCacheDelegateCallsEnabled;
-- (void)_setJavaScriptURLsAreAllowed:(BOOL)setJavaScriptURLsAreAllowed;
-
+ (NSCursor *)_pointingHandCursor;
// SPI for DumpRenderTree
diff --git a/Source/WebKit/qt/Api/qwebpage.cpp b/Source/WebKit/qt/Api/qwebpage.cpp
index 9019f4688..a9eb9a099 100644
--- a/Source/WebKit/qt/Api/qwebpage.cpp
+++ b/Source/WebKit/qt/Api/qwebpage.cpp
@@ -94,6 +94,7 @@
#include "PageClientQt.h"
#include "PageGroup.h"
#include "Pasteboard.h"
+#include "PlatformGestureEvent.h"
#include "PlatformKeyboardEvent.h"
#include "PlatformTouchEvent.h"
#include "PlatformWheelEvent.h"
@@ -131,6 +132,7 @@
#include <QDragMoveEvent>
#include <QDropEvent>
#include <QFileDialog>
+#include <QGestureEvent>
#include <QInputDialog>
#include <QLabel>
#include <QMenu>
@@ -1333,6 +1335,37 @@ bool QWebPagePrivate::touchEvent(QTouchEvent* event)
#endif
}
+bool QWebPagePrivate::gestureEvent(QGestureEvent* event)
+{
+#if ENABLE(GESTURE_EVENTS)
+ WebCore::Frame* frame = QWebFramePrivate::core(mainFrame.data());
+ if (!frame->view())
+ return false;
+
+ // QGestureEvents can contain updates for multiple gestures.
+ bool handled = false;
+ QGesture* gesture = event->gesture(Qt::TapGesture);
+ // Beware that gestures send by DumpRenderTree will have state Qt::NoGesture,
+ // due to not originating from a GestureRecognizer.
+ if (gesture && (gesture->state() == Qt::GestureStarted || gesture->state() == Qt::NoGesture)) {
+ frame->eventHandler()->handleGestureEvent(convertGesture(event, gesture));
+ event->setAccepted(true);
+ handled = true;
+ }
+ gesture = event->gesture(Qt::TapAndHoldGesture);
+ if (gesture && (gesture->state() == Qt::GestureStarted || gesture->state() == Qt::NoGesture)) {
+ frame->eventHandler()->sendContextMenuEventForGesture(convertGesture(event, gesture));
+ event->setAccepted(true);
+ handled = true;
+ }
+
+ return handled;
+#else
+ event->ignore();
+ return false;
+#endif
+}
+
/*!
This method is used by the input method to query a set of properties of the page
to be able to support complex input method operations as support for surrounding
@@ -3143,6 +3176,11 @@ bool QWebPage::event(QEvent *ev)
case QEvent::TouchCancel:
// Return whether the default action was cancelled in the JS event handler
return d->touchEvent(static_cast<QTouchEvent*>(ev));
+#ifndef QT_NO_GESTURES
+ case QEvent::Gesture:
+ d->gestureEvent(static_cast<QGestureEvent*>(ev));
+ break;
+#endif
#ifndef QT_NO_PROPERTIES
case QEvent::DynamicPropertyChange:
d->dynamicPropertyChangeEvent(static_cast<QDynamicPropertyChangeEvent*>(ev));
diff --git a/Source/WebKit/qt/Api/qwebpage_p.h b/Source/WebKit/qt/Api/qwebpage_p.h
index 86577d351..794322991 100644
--- a/Source/WebKit/qt/Api/qwebpage_p.h
+++ b/Source/WebKit/qt/Api/qwebpage_p.h
@@ -26,6 +26,7 @@
#include <qbasictimer.h>
#include <qnetworkproxy.h>
#include <qevent.h>
+#include <qgesture.h>
#include <qgraphicssceneevent.h>
#include "qwebpage.h"
@@ -133,6 +134,8 @@ public:
// Returns whether the default action was cancelled in the JS event handler
bool touchEvent(QTouchEvent*);
+ bool gestureEvent(QGestureEvent*);
+
class TouchAdjuster {
public:
TouchAdjuster(unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
diff --git a/Source/WebKit/qt/ChangeLog b/Source/WebKit/qt/ChangeLog
index 06bb3220a..553d7fa20 100644
--- a/Source/WebKit/qt/ChangeLog
+++ b/Source/WebKit/qt/ChangeLog
@@ -1,3 +1,48 @@
+2012-10-22 Simon Hausmann <simon.hausmann@digia.com>
+
+ [Qt] Fix build without QtWidgets
+ https://bugs.webkit.org/show_bug.cgi?id=99981
+
+ Reviewed by Tor Arne Vestbø.
+
+ Remove dependency to QtWidgets that is not needed here anymore since
+ the removal of the QtQuick1 code.
+
+ * declarative/experimental/experimental.pri:
+ * declarative/public.pri:
+
+2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
+ https://bugs.webkit.org/show_bug.cgi?id=98514
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage): Use FrameView::fixedVisibleContentRect
+ instead of FrameView::visibleContentRect as the source to always keep the correct state.
+
+2012-10-22 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] Basic gesture event handling
+ https://bugs.webkit.org/show_bug.cgi?id=66173
+
+ Reviewed by Simon Hausmann.
+
+ Implement basic handling of QGestureEvent converting and forwarding
+ Tap and TapAndHold gestures to WebCore.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::gestureEvent):
+ (QWebPage::event):
+ * Api/qwebpage_p.h:
+ (QWebPagePrivate):
+ * WebCoreSupport/WebEventConversion.cpp:
+ (WebKitPlatformGestureEvent):
+ (WebCore::WebKitPlatformGestureEvent::WebKitPlatformGestureEvent):
+ (WebCore::convertGesture):
+ * WebCoreSupport/WebEventConversion.h:
+
2012-10-17 Tor Arne Vestbø <tor.arne.vestbo@digia.com>
[Qt] Modularize documentation for QtWebKit
diff --git a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 6600acc82..0731d9315 100644
--- a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -272,11 +272,13 @@ void FrameLoaderClientQt::transitionToCommittedForNewPage()
bool hLock = hScrollbar != ScrollbarAuto;
bool vLock = vScrollbar != ScrollbarAuto;
- IntSize currentVisibleContentSize = m_frame->view() ? m_frame->view()->visibleContentRect().size() : IntSize();
+ // The HistoryController will update the scroll position later if needed.
+ IntRect currentVisibleContentRect = m_frame->view() ? IntRect(IntPoint::zero(), m_frame->view()->fixedVisibleContentRect().size()) : IntRect();
m_frame->createView(m_webFrame->page()->viewportSize(),
backgroundColor, !backgroundColor.alpha(),
preferredLayoutSize.isValid() ? IntSize(preferredLayoutSize) : IntSize(),
+ currentVisibleContentRect,
preferredLayoutSize.isValid(),
hScrollbar, hLock,
vScrollbar, vLock);
@@ -284,13 +286,8 @@ void FrameLoaderClientQt::transitionToCommittedForNewPage()
bool isMainFrame = m_frame == m_frame->page()->mainFrame();
if (isMainFrame && page->d->client) {
bool resizesToContents = page->d->client->viewResizesToContentsEnabled();
-
m_frame->view()->setPaintsEntireContents(resizesToContents);
m_frame->view()->setDelegatesScrolling(resizesToContents);
-
- // The HistoryController will update the scroll position later if needed.
- IntRect rect = resizesToContents ? IntRect(IntPoint::zero(), currentVisibleContentSize) : IntRect();
- m_frame->view()->setFixedVisibleContentRect(rect);
}
}
diff --git a/Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp b/Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp
index 222676620..d6159241e 100644
--- a/Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp
@@ -22,14 +22,18 @@
#include "config.h"
#include "WebEventConversion.h"
+#include "PlatformGestureEvent.h"
#include "PlatformMouseEvent.h"
#include "PlatformTouchEvent.h"
#include "PlatformTouchPoint.h"
#include "PlatformWheelEvent.h"
#include <QApplication>
+#include <QGesture>
+#include <QGestureEvent>
#include <QGraphicsSceneMouseEvent>
#include <QTouchEvent>
#include <QWheelEvent>
+#include <QWidget>
#include <wtf/CurrentTime.h>
namespace WebCore {
@@ -302,6 +306,38 @@ WebKitPlatformTouchPoint::WebKitPlatformTouchPoint(const QTouchEvent::TouchPoint
}
#endif
+#if ENABLE(GESTURE_EVENTS)
+class WebKitPlatformGestureEvent : public PlatformGestureEvent {
+public:
+ WebKitPlatformGestureEvent(const QGestureEvent*, const QGesture*);
+};
+
+WebKitPlatformGestureEvent::WebKitPlatformGestureEvent(const QGestureEvent* event, const QGesture* gesture)
+{
+ switch (gesture->gestureType()) {
+ case Qt::TapGesture: {
+ m_type = PlatformEvent::GestureTap;
+ QPointF globalPos = static_cast<const QTapGesture*>(gesture)->position();
+ m_globalPosition = globalPos.toPoint();
+ m_position = event->widget()->mapFromGlobal(globalPos.toPoint());
+ break;
+ }
+ case Qt::TapAndHoldGesture: {
+ m_type = PlatformEvent::GestureLongPress;
+ QPointF globalPos = static_cast<const QTapAndHoldGesture*>(gesture)->position();
+ m_globalPosition = globalPos.toPoint();
+ m_position = event->widget()->mapFromGlobal(globalPos.toPoint());
+ break;
+ }
+ default:
+ ASSERT_NOT_REACHED();
+ break;
+ }
+ m_timestamp = WTF::currentTime();
+}
+
+#endif
+
PlatformWheelEvent convertWheelEvent(QWheelEvent* event)
{
return WebKitPlatformWheelEvent(event);
@@ -319,4 +355,11 @@ PlatformTouchEvent convertTouchEvent(QTouchEvent* event)
}
#endif
+#if ENABLE(GESTURE_EVENTS)
+PlatformGestureEvent convertGesture(QGestureEvent* event, QGesture* gesture)
+{
+ return WebKitPlatformGestureEvent(event, gesture);
+}
+#endif
+
}
diff --git a/Source/WebKit/qt/WebCoreSupport/WebEventConversion.h b/Source/WebKit/qt/WebCoreSupport/WebEventConversion.h
index 09c63d17c..3224eee90 100644
--- a/Source/WebKit/qt/WebCoreSupport/WebEventConversion.h
+++ b/Source/WebKit/qt/WebCoreSupport/WebEventConversion.h
@@ -27,6 +27,8 @@ class QGraphicsSceneMouseEvent;
class QWheelEvent;
class QGraphicsSceneWheelEvent;
class QTouchEvent;
+class QGesture;
+class QGestureEvent;
QT_END_NAMESPACE
namespace WebCore {
@@ -34,7 +36,6 @@ namespace WebCore {
class PlatformMouseEvent;
class PlatformWheelEvent;
-
PlatformMouseEvent convertMouseEvent(QInputEvent*, int clickCount);
PlatformMouseEvent convertMouseEvent(QGraphicsSceneMouseEvent*, int clickCount);
PlatformWheelEvent convertWheelEvent(QWheelEvent*);
@@ -44,4 +45,9 @@ PlatformWheelEvent convertWheelEvent(QGraphicsSceneWheelEvent*);
class PlatformTouchEvent;
PlatformTouchEvent convertTouchEvent(QTouchEvent*);
#endif
+
+#if ENABLE(GESTURE_EVENTS)
+class PlatformGestureEvent;
+PlatformGestureEvent convertGesture(QGestureEvent*, QGesture*);
+#endif
}
diff --git a/Source/WebKit/qt/declarative/experimental/experimental.pri b/Source/WebKit/qt/declarative/experimental/experimental.pri
index 1792b0ebb..3775056aa 100644
--- a/Source/WebKit/qt/declarative/experimental/experimental.pri
+++ b/Source/WebKit/qt/declarative/experimental/experimental.pri
@@ -24,7 +24,7 @@ contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
wince*:LIBS += $$QMAKE_LIBS_GUI
-QT += widgets network quick quick-private webkitwidgets webkitwidgets-private
+QT += network quick quick-private webkitwidgets webkitwidgets-private
DESTDIR = $${ROOT_BUILD_DIR}/imports/$${TARGET.module_name}
diff --git a/Source/WebKit/qt/declarative/public.pri b/Source/WebKit/qt/declarative/public.pri
index bf4e1f701..9216a8b64 100644
--- a/Source/WebKit/qt/declarative/public.pri
+++ b/Source/WebKit/qt/declarative/public.pri
@@ -24,7 +24,7 @@ contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
wince*:LIBS += $$QMAKE_LIBS_GUI
-QT += webkitwidgets webkitwidgets-private widgets quick quick-private
+QT += webkitwidgets webkitwidgets-private quick quick-private
WEBKIT += wtf
diff --git a/Source/WebKit/win/ChangeLog b/Source/WebKit/win/ChangeLog
index ca85c9d1b..d12c28de8 100644
--- a/Source/WebKit/win/ChangeLog
+++ b/Source/WebKit/win/ChangeLog
@@ -1,3 +1,32 @@
+2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
+ https://bugs.webkit.org/show_bug.cgi?id=98514
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::transitionToCommittedForNewPage):
+
+2012-10-21 Andreas Kling <kling@webkit.org>
+
+ Remove Page::javaScriptURLsAreAllowed setting.
+ <http://webkit.org/b/99944>
+
+ Reviewed by Anders Carlsson.
+
+ Have WebView::setJavaScriptURLsAreAllowed() do nothing and return E_NOTIMPL
+ to prevent COM ABI breakage.
+
+ * WebView.cpp:
+ (WebView::setJavaScriptURLsAreAllowed):
+
+2012-10-18 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed. Build fix after r131701 and r131777.
+
+ * WebKit.vcproj/WebKit.sln:
+
2012-10-14 Sam Weinig <sam@webkit.org>
Fix the windows build.
diff --git a/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp b/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
index f0e93c0a1..0e4b10656 100644
--- a/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -724,7 +724,7 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage()
view->frameRect(&rect);
bool transparent = view->transparent();
Color backgroundColor = transparent ? Color::transparent : Color::white;
- core(m_webFrame)->createView(IntRect(rect).size(), backgroundColor, transparent, IntSize(), false);
+ core(m_webFrame)->createView(IntRect(rect).size(), backgroundColor, transparent);
}
void WebFrameLoaderClient::didSaveToPageCache()
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKit.sln b/Source/WebKit/win/WebKit.vcproj/WebKit.sln
index 0723b2e10..71b83a875 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKit.sln
+++ b/Source/WebKit/win/WebKit.vcproj/WebKit.sln
@@ -648,6 +648,42 @@ Global
{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Debug|Win32.ActiveCfg = Debug|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Debug|Win32.Build.0 = Debug|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Production|Win32.ActiveCfg = Production|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Production|Win32.Build.0 = Production|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Release|Win32.ActiveCfg = Release|Win32
+ {877150A0-41B3-4730-9D98-1B8298098B14}.Release|Win32.Build.0 = Release|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug|Win32.Build.0 = Debug|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Production|Win32.ActiveCfg = Production|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Production|Win32.Build.0 = Production|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release|Win32.ActiveCfg = Release|Win32
+ {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release|Win32.Build.0 = Release|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug|Win32.Build.0 = Debug|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Production|Win32.ActiveCfg = Production|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Production|Win32.Build.0 = Production|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release|Win32.ActiveCfg = Release|Win32
+ {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -665,6 +701,8 @@ Global
{0A324352-B3B6-496C-9E5B-4C7E923E628B} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
{E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
{83414B15-1C0D-490B-990E-03F4D49170E4} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
{AAE88FEF-509E-4D49-870B-7357922C276F} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
@@ -690,7 +728,5 @@ Global
{DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
{2974EA02-840B-4995-8719-8920A61006F1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
{C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
EndGlobalSection
EndGlobal
diff --git a/Source/WebKit/win/WebView.cpp b/Source/WebKit/win/WebView.cpp
index d454c9882..6b1bade4a 100644
--- a/Source/WebKit/win/WebView.cpp
+++ b/Source/WebKit/win/WebView.cpp
@@ -6175,10 +6175,9 @@ HRESULT WebView::setMemoryCacheDelegateCallsEnabled(BOOL enabled)
return S_OK;
}
-HRESULT WebView::setJavaScriptURLsAreAllowed(BOOL areAllowed)
+HRESULT WebView::setJavaScriptURLsAreAllowed(BOOL)
{
- m_page->setJavaScriptURLsAreAllowed(areAllowed);
- return S_OK;
+ return E_NOTIMPL;
}
HRESULT WebView::setCanStartPlugins(BOOL canStartPlugins)
diff --git a/Source/WebKit/wx/ChangeLog b/Source/WebKit/wx/ChangeLog
index 2f2ba758b..e9eaf1319 100644
--- a/Source/WebKit/wx/ChangeLog
+++ b/Source/WebKit/wx/ChangeLog
@@ -1,3 +1,13 @@
+2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
+ https://bugs.webkit.org/show_bug.cgi?id=98514
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * WebKitSupport/FrameLoaderClientWx.cpp:
+ (WebCore::FrameLoaderClientWx::transitionToCommittedForNewPage):
+
2012-09-25 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=95397
diff --git a/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp b/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
index f6ba4dde4..dcd912502 100644
--- a/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
@@ -976,7 +976,7 @@ void FrameLoaderClientWx::transitionToCommittedForNewPage()
Color backgroundColor = transparent ? WebCore::Color::transparent : WebCore::Color::white;
if (m_frame)
- m_frame->createView(size, backgroundColor, transparent, IntSize(), false);
+ m_frame->createView(size, backgroundColor, transparent);
}
void FrameLoaderClientWx::didSaveToPageCache()