2010-11-25 Norbert Leser Reviewed by Laszlo Gombos. Updated Symbian DEF file for ARM target due to API changes via committs r72600-72603 (see bug# 46810) * symbian/eabi/QtWebKitu.def: 2010-11-25 Kenneth Rohde Christiansen Reviewed by Andreas Kling and Simon Hausmann. [Qt] Calculate the -webkit-pixel-radio using the device DPI. http://webkit.org/b/50059 Also, update the documentation on what a DIP is and how to override the device DPI in the case the system reports the wrong one (which unfortunately is common on X11). * Api/qwebpage.cpp: (QWebPagePrivate::QWebPagePrivate): (QWebPage::viewportAttributesForSize): * Api/qwebpage_p.h: * WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::scaleFactor): 2010-11-24 Kristian Amlie Reviewed by Andreas Kling. Fixed handling of QInputMethodEvents with nonzero replacementLength. These types of events replace text that is already in the widget, but WebKit did not check for replacementLength at all. https://bugs.webkit.org/show_bug.cgi?id=49787 * Api/qwebpage.cpp: (QWebPagePrivate::inputMethodEvent): * tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::inputMethods): 2010-11-24 Andras Becsi Reviewed by Kenneth Rohde Christiansen. Make WebKit2 compile with !ENABLE(INSPECTOR). https://bugs.webkit.org/show_bug.cgi?id=49973 * WebCoreSupport/DumpRenderTreeSupportQt.cpp: (DumpRenderTreeSupportQt::setJavaScriptProfilingEnabled): 2010-11-24 Sheriff Bot Unreviewed, rolling out r72650. http://trac.webkit.org/changeset/72650 https://bugs.webkit.org/show_bug.cgi?id=50010 breaks focus in scenes focus item other than graphicswebiview (Requested by tronical_ on #webkit). * Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate): (QGraphicsWebView::QGraphicsWebView): (QGraphicsWebView::itemChange): * Api/qgraphicswebview.h: * tests/qgraphicswebview/tst_qgraphicswebview.cpp: 2010-11-24 Jan Erik Hanssen Reviewed by Kenneth Rohde Christiansen. [Qt] Html autofocus not working with QGraphicsWebView https://bugs.webkit.org/show_bug.cgi?id=43169 QGraphicsScene does not propagate Qt::ActivateWindowFocusReason focus events when there are no active items. * Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate): (QGraphicsWebView::QGraphicsWebView): (QGraphicsWebView::eventFilter): (QGraphicsWebView::itemChange): * Api/qgraphicswebview.h: * tests/qgraphicswebview/tst_qgraphicswebview.cpp: (FocusPage::FocusPage): (FocusPage::event): (FocusPage::gotFocus): (tst_QGraphicsWebView::receivesFocusInOnShow): 2010-11-23 Kenneth Rohde Christiansen Reviewed by Andreas Kling. Adapt to setShouldDelegateScrolling not being a real setting anymore. We now similarily to setUseFixedLayout and setPaintEntireContents set it on the FrameView wen transitioning to a new page. * Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::updateResizesToContentsForPage): * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage): 2010-11-23 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. [Qt] Fix compilation with !ENABLE(INSPECTOR) https://bugs.webkit.org/show_bug.cgi?id=49942 Add ENABLE(INSPECTOR) to the Qt specific files following r71981. * WebCoreSupport/InspectorClientQt.cpp: (WebCore::InspectorClientQt::inspectorDestroyed): (WebCore::InspectorClientQt::openInspectorFrontend): (WebCore::InspectorClientQt::sendMessageToFrontend): * WebCoreSupport/InspectorServerQt.cpp: (WebCore::InspectorServerRequestHandlerQt::webSocketReadyRead): 2010-11-23 Simon Hausmann Reviewed by Andreas Kling. [Qt] Restore binary compatibility with the QtWebKit 2.1 branch Re-order the enums by adding new enum entries to the end. * Api/qwebsettings.h: 2010-11-23 Simon Hausmann Reviewed by Tor Arne Vestbø. [Qt] Review the setUserPermission & friends API https://bugs.webkit.org/show_bug.cgi?id=46810 Renamed requestPermissionFromUser to featurePermissionRequested and cancelRequestsForPermission to featurePermissionRequestCanceled. * Api/qwebpage.h: * WebCoreSupport/GeolocationPermissionClientQt.cpp: (WebCore::GeolocationPermissionClientQt::requestGeolocationPermissionForFrame): (WebCore::GeolocationPermissionClientQt::cancelGeolocationPermissionRequestForFrame): * WebCoreSupport/NotificationPresenterClientQt.cpp: (WebCore::NotificationPresenterClientQt::requestPermission): (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission): 2010-11-23 Simon Hausmann Reviewed by Tor Arne Vestbø. [Qt] Review the setUserPermission & friends API https://bugs.webkit.org/show_bug.cgi?id=46810 Rename setUserPermission to setFeaturePermission * Api/qwebpage.cpp: (QWebPage::setFeaturePermission): * Api/qwebpage.h: * tests/qwebpage/tst_qwebpage.cpp: (JSTestPage::requestPermission): 2010-11-23 Simon Hausmann Reviewed by Tor Arne Vestbø. [Qt] Review the setUserPermission & friends API https://bugs.webkit.org/show_bug.cgi?id=46810 Rename PermissionDomain to Feature, NotificationsPermissionDomain to Notifications and GeolocationPermissionDomain to Geolocation. * Api/qwebpage.cpp: (QWebPage::setUserPermission): * Api/qwebpage.h: * WebCoreSupport/GeolocationPermissionClientQt.cpp: (WebCore::GeolocationPermissionClientQt::requestGeolocationPermissionForFrame): (WebCore::GeolocationPermissionClientQt::cancelGeolocationPermissionRequestForFrame): * WebCoreSupport/NotificationPresenterClientQt.cpp: (WebCore::NotificationPresenterClientQt::requestPermission): (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission): * tests/qwebpage/tst_qwebpage.cpp: (JSTestPage::requestPermission): (tst_QWebPage::geolocationRequestJS): 2010-11-23 Simon Hausmann Reviewed by Tor Arne Vestbø. [Qt] Review the setUserPermission & friends API https://bugs.webkit.org/show_bug.cgi?id=46810 Add a ByUser suffix to PermissionGranted/Denied. In the future we can add PermissionGrantedByDefault. * Api/qwebpage.cpp: (QWebPage::setUserPermission): * Api/qwebpage.h: * WebCoreSupport/GeolocationPermissionClientQt.cpp: (WebCore::GeolocationPermissionClientQt::setPermission): * tests/qwebpage/tst_qwebpage.cpp: (JSTestPage::requestPermission): 2010-11-22 Jan Erik Hanssen Reviewed by Kenneth Rohde Christiansen. [Qt] QWebElement::appendInside() doesn't work on head elements https://bugs.webkit.org/show_bug.cgi?id=49166 Make QWebElement::appendInside() call Element::deprecatedCreateContextualFragment(), bypassing the check for the HEAD tag in the HTMLElement implementation of this function. * Api/qwebelement.cpp: (QWebElement::appendInside): * tests/qwebelement/tst_qwebelement.cpp: (tst_QWebElement::addElementToHead): 2010-11-20 Andreas Kling Reviewed by Antonio Gomes. [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag https://bugs.webkit.org/show_bug.cgi?id=49870 * WebCoreSupport/DragClientQt.cpp: (WebCore::DragClientQt::startDrag): Pass the DragImage to QDrag::setPixmap() 2010-11-20 Sam Magnuson Reviewed by Andreas Kling. [Qt] crash when attempting to add a JS object https://bugs.webkit.org/show_bug.cgi?id=49287 * Api/qwebframe.cpp: (QWebFrame::addToJavaScriptWindowObject): Test: LayoutTests/fast/frames/sandboxed-iframe-plugins.html 2010-11-20 Sheriff Bot Unreviewed, rolling out r72471. http://trac.webkit.org/changeset/72471 https://bugs.webkit.org/show_bug.cgi?id=49865 broke two IME tests on Qt (Requested by kling on #webkit). * Api/qwebpage.cpp: (QWebPagePrivate::inputMethodEvent): * tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::inputMethods): 2010-11-19 Kristian Amlie Reviewed by Andreas Kling. Fixed handling of QInputMethodEvents with nonzero replacementLength. These types of events replace text that is already in the widget, but WebKit did not check for replacementLength at all. Also made sure that the preeditString is always respected, even if there is committed text. This is how QLineEdit does it. https://bugs.webkit.org/show_bug.cgi?id=49787 * Api/qwebpage.cpp: (QWebPagePrivate::inputMethodEvent): * tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::inputMethods): 2010-11-19 Benjamin Poulain Reviewed by Kenneth Rohde Christiansen. [Qt] Transition and animation do not work with QWebView anymore https://bugs.webkit.org/show_bug.cgi?id=49797 Accelerated compositing should not be enabled on QWebView without texture mapper. * WebCoreSupport/PageClientQt.h: (WebCore::PageClientQWidget::allowsAcceleratedCompositing): 2010-11-19 Yi Shen Reviewed by Laszlo Gombos. [Qt] Memory leak in QWebInspector https://bugs.webkit.org/show_bug.cgi?id=49765 Delete QWebInspectorPrivate in ~QWebInspector() * Api/qwebinspector.cpp: (QWebInspector::~QWebInspector): 2010-11-19 Sam Magnuson Reviewed by Andreas Kling. [Qt] Compile with QT_NO_UNDOCOMMAND https://bugs.webkit.org/show_bug.cgi?id=49752 * WebCoreSupport/EditCommandQt.cpp: (EditCommandQt::EditCommandQt): * WebCoreSupport/EditCommandQt.h: 2010-11-19 Yi Shen Reviewed by Andreas Kling. https://bugs.webkit.org/show_bug.cgi?id=49200 [Qt] bugs in Composition mode for QWebPage::inputMethodEvent & inputMethodQuery() Make QWebPage work as following when editor is in composition mode: 1. anchor position and cursor position are the same and always >= 0 2. current selection is always null * Api/qwebpage.cpp: (QWebPagePrivate::inputMethodEvent): (QWebPage::inputMethodQuery): * tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::inputMethods): 2010-11-18 Gavin Barraclough Build fix - update error messages folllowing r72360. * tests/qwebframe/tst_qwebframe.cpp: 2010-11-12 Luiz Agostini Reviewed by Andreas Kling. [Qt] Static platform plugin support https://bugs.webkit.org/show_bug.cgi?id=49470 Adding support for statically linked platform plugins. * WebCoreSupport/QtPlatformPlugin.cpp: (WebCore::QtPlatformPlugin::loadStaticallyLinkedPlugin): (WebCore::QtPlatformPlugin::plugin): * WebCoreSupport/QtPlatformPlugin.h: 2010-11-17 Andreas Kling Reviewed by Kenneth Rohde Christiansen. Reuse the size of the actualVisibleContentRect when loading a new page or navigating session history. * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage): 2010-11-17 Dimitri Glazkov Reviewed by Darin Adler. Converge means of querying a parent node into one way, which is Node::parentNode. https://bugs.webkit.org/show_bug.cgi?id=49686 * Api/qwebelement.cpp: (QWebElement::prependOutside): Changed to use parentNode. (QWebElement::appendOutside): Ditto. (QWebElement::encloseContentsWith): Ditto. (QWebElement::encloseWith): Ditto. 2010-11-16 Simon Hausmann Reviewed by Andreas Kling. [Qt] Remove synchronous QWebPage::checkPermissions signal https://bugs.webkit.org/show_bug.cgi?id=46810 As decided in the API review, we remove this signal and replace its only use currently with cached credentials. * Api/qwebpage.cpp: (QWebPage::setUserPermission): Pass the WebCore frame instead of the QWebFrame. * Api/qwebpage.h: * WebCoreSupport/NotificationPresenterClientQt.cpp: (WebCore::NotificationPresenterClientQt::checkPermission): Replaced explicit signal emission with hash lookup of previously granted permission (or not). (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission): Remove any previously cached/granted permission for the given script execution context. (WebCore::NotificationPresenterClientQt::allowNotificationForFrame): Do not only serve pending permission requests but before calling the JS callbacks, remember the permission for subsequent synchronous checkPermission() calls. * WebCoreSupport/NotificationPresenterClientQt.h: Add cache for permissions. 2010-11-15 Gavin Barraclough Reviewed by NOBODY build fix. Fix test broken by earlier patch. * tests/qwebframe/tst_qwebframe.cpp: 2010-11-15 Yi Shen Reviewed by Andreas Kling. [Qt] ZoomTextOnly doesn't work https://bugs.webkit.org/show_bug.cgi?id=49568 Check QWebSettings::ZoomTextOnly attribute before applying zoom * Api/qwebframe.cpp: (QWebFrame::textSizeMultiplier): (QWebFrame::setZoomFactor): (QWebFrame::zoomFactor): * Api/qwebframe_p.h: (QWebFramePrivate::QWebFramePrivate): 2010-11-14 Andreas Kling Reviewed by Antonio Gomes. REGRESSION(r71895): API test javaScriptWindowObjectCleared fails https://bugs.webkit.org/show_bug.cgi?id=49466 As of r71895 empty inline scripts are no longer executed and so the javaScriptWindowObjectCleared() signal is no longer triggered by . * tests/qwebframe/tst_qwebframe.cpp: 2010-11-12 Jacob Dinu Reviewed by Andreas Kling. [Qt] Update .def file for Symbian https://bugs.webkit.org/show_bug.cgi?id=49456 Added missing symbols from revisions r69825, r70470, r71806 * symbian/eabi/QtWebKitu.def: 2010-11-12 Benjamin Poulain Reviewed by Andreas Kling. [Qt] Need to implement WebKit::pluginWillHandleLoadError for WebKit2 https://bugs.webkit.org/show_bug.cgi?id=48764 Add the missing error. * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::pluginWillHandleLoadError): 2010-11-11 Yi Shen Reviewed by Andreas Kling. [Qt] QWebScriptWorld::world() may crash https://bugs.webkit.org/show_bug.cgi?id=49342 * Api/qwebscriptworld.cpp: (QWebScriptWorld::world): 2010-11-11 Kenneth Rohde Christiansen Reviewed by Andreas Kling. [Qt] Add an API for overriding the actual visible content rect in WebCore https://bugs.webkit.org/show_bug.cgi?id=49373 * Api/qwebpage.cpp: (QWebPage::setActualVisibleContentRect): * Api/qwebpage.h: 2010-11-11 Andreas Kling Reviewed by Kenneth Rohde Christiansen. FrameView: Don't clip to visibleContentRect in paintEntireContents mode https://bugs.webkit.org/show_bug.cgi?id=49375 Use paintEntireContents in combination with tiling, allowing to actually set visibleContentRect to something different from the actual contents size. * Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::updateResizesToContentsForPage): * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage): 2010-11-10 Sheriff Bot Unreviewed, rolling out r71733. http://trac.webkit.org/changeset/71733 https://bugs.webkit.org/show_bug.cgi?id=49319 made qt bot crashy and sad (Requested by kling on #webkit). * Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::updateResizesToContentsForPage): * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage): 2010-11-10 Kenneth Rohde Christiansen Reviewed by Andreas Kling. Use paintEntireContents in combination with tiling, allowing to actually set visibleContentRect to something different from the actual contents size. * Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::updateResizesToContentsForPage): * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage): 2010-11-08 Benjamin Poulain Reviewed by Andreas Kling. [Qt] build error in WebKit/qt/Api/qwebpage.cpp in Qt 4.7.0 https://bugs.webkit.org/show_bug.cgi?id=47427 Add a missing guard in order to be able to compile when ENABLE(TOUCH_EVENTS) is not defined. * Api/qwebpage.cpp: (QWebPagePrivate::touchEvent): 2010-11-08 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=48685 Notify UI process about focused frame Added an empty implementation of the new ChromeClient method. * WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::focusedNodeChanged): Removed unneeded namespace prefix. (WebCore::ChromeClientQt::focusedFrameChanged): * WebCoreSupport/ChromeClientQt.h: 2010-11-08 Noam Rosenthal Reviewed by Kenneth Rohde Christiansen. [Texmap] [Qt] Texture mapper initial implementation https://bugs.webkit.org/show_bug.cgi?id=47070 Reorganized the textureMapper to be a member of QWebFramePrivate, to help with making TextureMapper thread-safe. * Api/qwebframe.cpp: (QWebFramePrivate::renderCompositedLayers): * Api/qwebframe_p.h: * WebCoreSupport/PageClientQt.cpp: (WebCore::PlatformLayerProxyQt::setTextureMapper): (WebCore::PlatformLayerProxyQt::textureMapper): (WebCore::PlatformLayerProxyQWidget::PlatformLayerProxyQWidget): (WebCore::PlatformLayerProxyQGraphicsObject::PlatformLayerProxyQGraphicsObject): 2010-11-07 Adam Barth Reviewed by Eric Seidel. Rename Cache to MemoryCache https://bugs.webkit.org/show_bug.cgi?id=49159 * Api/qwebpage.cpp: * Api/qwebsettings.cpp: 2010-11-07 Chang Shu Reviewed by Antonio Gomes. Add a helper function to avoid duplicated code. https://bugs.webkit.org/show_bug.cgi?id=49085 * WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::handleKeyboardEvent): 2010-11-05 Chris Marrin Reviewed by Simon Fraser. Move resumeAnimations/suspendAnimations from Frame to AnimationController. https://bugs.webkit.org/show_bug.cgi?id=49073 * WebCoreSupport/DumpRenderTreeSupportQt.cpp: (DumpRenderTreeSupportQt::suspendAnimations): (DumpRenderTreeSupportQt::resumeAnimations): 2010-11-03 Antonio Gomes , Andre Pedralho Reviewed by Kenneth Rohde Christiansen and Antti Koivisto. [Qt] Making effective use of nodesFromRect. https://bugs.webkit.org/show_bug.cgi?id=44089 Patch adds a helper class (named TouchAdjuster) to improve tap actions on mobile touch devices. TouchAdjuster makes use of the newly added rect based hit test extension through the Document::nodesFromRect method. Given a rectangle as input, nodesFromRect returns a z-index ordered list of nodes whose boundaries intersect the rectangle. Basically the TouchAdjuster class intercepts the QGraphicsSceneMouseEvent passed to both QWebPagePrivate::mouse{Press,Release}Event methods before they are passed down to WebCore. The goal is to infer the target click position. For that, a rectangle is built up using the event position as a center point and expanding it based on the values and directions set in the Platform Plugin QWebTouchModifier::hitTestPadding. TouchAdjuster iterates over the list of nodes returned by nodesFromRect and picks the clickable one that has the largest intersection area with the hit test rectangle. The target position is then the center point of this intersection area. In case of no clickable node intersects the hit test area, the click position is not altered. TouchAdjuster is *only* working for QGraphicsWebView based views. * Api/qwebpage.cpp: (QWebPagePrivate::mousePressEvent): (QWebPagePrivate::mouseReleaseEvent): (QWebPagePrivate::adjustPointForClicking): (QWebPagePrivate::TouchAdjuster::TouchAdjuster): (QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch): (isClickableElement): (hasMouseListener): (isValidFrameOwner): (nodeToElement): * Api/qwebpage_p.h: 2010-10-20 Chang Shu , Antonio Gomes Reviewed by Simon Fraser. [Qt] Makes and