diff -r 000000000000 -r 4f2f89ce4247 WebCore/ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebCore/ChangeLog Fri Sep 17 09:02:29 2010 +0300 @@ -0,0 +1,39997 @@ +2010-08-05 Simon Hausmann + + Reviewed by Laszlo Gombos. + + [Qt] Temporary files should not be created in the current directory + https://bugs.webkit.org/show_bug.cgi?id=43562 + + Don't create temporary files in the current directory, use QDir::tempPath() + instead, as suggested by the QTemporaryFile documentation. + + * platform/qt/FileSystemQt.cpp: + (WebCore::openTemporaryFile): + +2010-08-05 Simon Hausmann + + Reviewed by Tor Arne Vestbø. + + [Qt] Clean up the input method handling + https://bugs.webkit.org/show_bug.cgi?id=43545 + + Changed input method hint interface to be more efficient by setting + all hints in one shot, like in QWidget. + + * platform/qt/QWebPageClient.h: + +2010-08-04 Abhishek Arya + + Unreviewed. Put missing equivalent js bindings check. + + Forgot putting js bindings check in http://trac.webkit.org/changeset/64647. This fixes the qt crash. + + * bindings/js/JSDesktopNotificationsCustom.cpp: + (WebCore::JSNotificationCenter::requestPermission): + +2010-08-03 Abhishek Arya + + Reviewed by Alexey Proskuryakov. + + Null the script execution context when disconnecting frame in notifications. + Make sure that script execution context is valid in notification requestPermission. + https://bugs.webkit.org/show_bug.cgi?id=43295 + + Tests: fast/notifications/notifications-document-close-crash.html + + * bindings/v8/custom/V8NotificationCenterCustom.cpp: + (WebCore::V8NotificationCenter::requestPermissionCallback): + * notifications/NotificationCenter.cpp: + (WebCore::NotificationCenter::disconnectFrame): + +2010-08-04 Andreas Kling + + Reviewed by Simon Hausmann. + + [Qt] Use a QImage for the stroke applier scratch context + + This avoids leaking a server-side resource on some graphics systems. + + * platform/graphics/qt/PathQt.cpp: + (WebCore::scratchContext): + +2010-07-21 Grace Kloba , Antonio Gomes + + Reviewed by David Hyatt. + + Enhance the hit testing to take a rectangle instead of a point + https://bugs.webkit.org/show_bug.cgi?id=40197 + + The primary goal of this change is to provide mechanisms for more precise tap + actions by the users on mobile devices. + + Patch extends the hit testing system to work considering a rectangular area + as input instead of a point, when applicable. For that, the HitTestResult class + was modified to take a padding (IntSize). The padding specifies a fuzzy range for + accepting input events in pixels coordinates for both vertical and horizontal + orientations. In other words, it tells how much to expand the search rect + around a supposed touch point. + + If it is non-positive padding (e.g. (-1, -1), (5, -1), (0, 0)), hit testing will behavior + as the current point based hit testing: methods are no-op'ed to not regress it performance-wise + since it is the common behavior. When positive padding is provided, the HitTestResult class will + keep record of all nodes that intersect the built up test area. The logic will continue searching + when it finds a candidate until the hit test area is fully enclosed by the boundaries of a candidate. + The result will be a list of nodes in the z-order they are hit-tested. Caller will decide how + to process them. + + In order to expose the functionality, the patch: + + - Adds a nodesFromRect method to the Document class, exposing the funcionality + to the DOM. Method returns a NodeList with all nodes that intersect the given + hit-tested area. + - Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding' + parameter, defaulting to IntSize(-1, -1). The rect-based hit test is performed when a + non-negative padding is passed in. + + Test: fast/dom/nodesFromRect-basic.html + + * WebCore.base.exp: + * dom/Document.cpp: + (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to + the DOM. It works similarly to elementFromPoint, however receiving a rectangular area + as input instead of a point, and returning a z-index ordered list of nodes (not elements) + whose area intersect the hit test rect. + * dom/Document.h: Ditto. + * dom/Document.idl: Ditto. + * page/EventHandler.cpp: + (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this + method. Patch adds a additional IntSize parameter to work as the padding area, building up + the hit test rect. + * page/EventHandler.h: Ditto. + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a + padding IntSize as parameter. It can be (0,0). + (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well. + (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the + list node's of both objects get amended. + (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of + hit nodes. + * rendering/HitTestResult.h: + (WebCore::HitTestResult::padding): Returns the padding as an IntSize. + (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not. + (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit. + (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point + and padding. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::hitTestList): + (WebCore::RenderLayer::hitTestChildLayerColumns): + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension. + Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but + instead it checks if the boundary of the node intersects a hit test rect. It is implemented so + that the common case (point based hit test) works as previously. + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::nodeAtPoint): Ditto. + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::nodeAtPoint): Ditto. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::nodeAtPoint): Ditto. + (WebCore::RenderBlock::hitTestColumns): Ditto. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::nodeAtPoint): Ditto. + * rendering/RenderImage.cpp: + (WebCore::RenderImage::nodeAtPoint): Ditto. + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::hitTest): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::nodeAtPoint): Ditto. + * rendering/RenderTable.cpp: + (WebCore::RenderTable::nodeAtPoint): Ditto. + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::nodeAtPoint): Ditto. + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::nodeAtPoint): Ditto. + +2010-07-22 Ben Murdoch + + Reviewed by Simon Fraser. + + Touch events do not affect the :active CSS state + https://bugs.webkit.org/show_bug.cgi?id=39493 + + Clean the code up by using a typedef based on comments + post landing of the original patch. + + No change in functionality so no new tests. + + * rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned. + * WebCore.exp.in: Update export signature. + * WebCore.order: Ditto. + * page/EventHandler.cpp: use the new typedef. + * page/EventHandler.h: ditto. + + +2010-07-24 Andreas Kling + + Reviewed by Simon Hausmann. + + [Qt] tst_QWebFrame::callQtInvokable() fails + https://bugs.webkit.org/show_bug.cgi?id=41065 + + Converting JS objects to QVariantMaps was broken. + This is a partial revert of + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertValueToQVariant): Remove erroneous crash guard + around JSObject::getPropertyNames() + +2010-07-22 Kim Grönholm + + Reviewed by NOBODY (OOPS!). + + Generate TransformAction events from touch gestures + https://bugs.webkit.org/show_bug.cgi?id=39979 + + Enabling transformaction events to be generated from multi-touch + gestures by adding gesture handling machinery and eventhandler hooks. + + Test: fast/events/transformaction/basic-transformaction-events.html + Tests basic single- and multi-touch sequences and the corresponding + TransformAction events that are generated. + + A manual test can be found from: + https://bug-39757-attachments.webkit.org/attachment.cgi?id=57226 + + * WebCore.pro: + * page/EventHandler.cpp: + (WebCore::hasTransformActionEventListener): + (WebCore::EventHandler::handleTouchEvent): + * page/EventHandler.h: + * page/TouchGestureHandler.cpp: Added. + (WebCore::TouchGestureHandler::TouchGestureHandler): + (WebCore::TouchGestureHandler::updateRefreshNeededState): + (WebCore::TouchGestureHandler::updateTouchPoints): + (WebCore::TouchGestureHandler::reset): + (WebCore::TouchGestureHandler::calcAngle): + (WebCore::TouchGestureHandler::diffAngle): + (WebCore::TouchGestureHandler::calcPos): + (WebCore::TouchGestureHandler::calcDistance): + * page/TouchGestureHandler.h: Added. + (WebCore::TouchGestureHandler::translateX): + (WebCore::TouchGestureHandler::translateY): + (WebCore::TouchGestureHandler::pos): + (WebCore::TouchGestureHandler::screenPos): + (WebCore::TouchGestureHandler::scale): + (WebCore::TouchGestureHandler::rotate): + +2010-07-22 Kim Grönholm + + Reviewed by NOBODY (OOPS!). + + Add TransformActionEvent support + https://bugs.webkit.org/show_bug.cgi?id=39757 + + Added only the necessary TransformAction event interfaces and not e.g. + any eventhandler hooks that generate and dispatch them. + + Test: fast/events/transformaction/create-transformaction-event.html + More tests will be added with the machinery that generates and + dispatches these events. + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * Android.mk: + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::transformactionEnabled): + (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled): + (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled): + (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled): + (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/v8/custom/V8EventCustom.cpp: + (WebCore::toV8): + * dom/Document.cpp: + (WebCore::Document::createEvent): + (WebCore::Document::addListenerTypeIfNeeded): + * dom/Document.h: + (WebCore::Document::): + * dom/Document.idl: + * dom/Element.h: + * dom/Element.idl: + * dom/Event.cpp: + (WebCore::Event::isTransformActionEvent): + (WebCore::Event::fromUserGesture): + * dom/Event.h: + * dom/EventNames.h: + * dom/TransformActionEvent.cpp: Added. + (WebCore::TransformActionEvent::TransformActionEvent): + (WebCore::TransformActionEvent::initTransformActionEvent): + * dom/TransformActionEvent.h: Added. + (WebCore::TransformActionEvent::create): + (WebCore::TransformActionEvent::translateX): + (WebCore::TransformActionEvent::translateY): + (WebCore::TransformActionEvent::translateSpeedX): + (WebCore::TransformActionEvent::translateSpeedY): + (WebCore::TransformActionEvent::scale): + (WebCore::TransformActionEvent::scaleSpeed): + (WebCore::TransformActionEvent::rotate): + (WebCore::TransformActionEvent::rotateSpeed): + (WebCore::TransformActionEvent::TransformActionEvent): + (WebCore::TransformActionEvent::isTransformActionEvent): + * dom/TransformActionEvent.idl: Added. + * html/HTMLAttributeNames.in: + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2010-01-07 Laszlo Gombos + + Reviewed by NOBODY (OOPS!). + + [RVCT] ACID3 test crash + https://bugs.webkit.org/show_bug.cgi?id=33280 + + Workaround developed by Yongjun Zhang. + + * dom/Element.cpp: + (WebCore::Element::setAttribute): + +2010-07-22 Kent Tamura + + Reviewed by Darin Adler. + + Small refactoring for input value sanitization + https://bugs.webkit.org/show_bug.cgi?id=42807 + + Rename some functions to clarify their roles. + + * dom/InputElement.cpp: + (WebCore::replaceEOLAndLimitLength): + Renamed from sanitizeUserInputValue(). + (WebCore::InputElement::sanitizeValueForTextField): + Renamed from sanitizeValue(), and call replaceEOLAndLimitLength() + instead of sanitizeUserInputValue(). + (WebCore::InputElement::sanitizeUserInputValue): + Just call replaceEOLAndLimitLength(). + (WebCore::InputElement::updateValueIfNeeded): + Use non-static sanitizeValue() for consistency. + * dom/InputElement.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setInputType): + Revert the change of r63876. It is not needed because of the + updateValueIfNeeded() change. + (WebCore::HTMLInputElement::sanitizeValue): + Apply the sanitizeValue() renaming. + +2010-07-22 Tony Gentilcore + + Reviewed by Darin Fisher. + + webkitPerformance.timing.responseEnd should not include document parse time + https://bugs.webkit.org/show_bug.cgi?id=42797 + + No new tests because timing based test would be flaky. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing. + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called. + (WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately. + * loader/MainResourceLoader.h: + * page/Timing.cpp: + (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range. + +2010-07-21 Kent Tamura + + Reviewed by Darin Adler. + + Assertion failure by changing the type of an input element with a + non-number value to 'range'. + https://bugs.webkit.org/show_bug.cgi?id=42643 + + Test: fast/forms/input-value-sanitization.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setInputType): + Update the value by HTMLInputElement::sanitizeValue() in a case that + storesValueSeparateFromAttribute() state is not changed. + +2010-07-21 Adam Barth + + Reviewed by Eric Seidel. + + Implement spec changes for basefont and bgsound + https://bugs.webkit.org/show_bug.cgi?id=42792 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processStartTagForInHead): + +2010-07-21 Adam Barth + + Reviewed by Eric Seidel. + + Update a list of tags to match changes in the HTML5 spec + https://bugs.webkit.org/show_bug.cgi?id=42791 + + We need to atomize these strings at some point. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + +2010-07-21 Adam Barth + + Reviewed by Eric Seidel. + + HTMLTreeBuilder needs to update to match new spec behavior for