Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: Source/WebCore/ChangeLog

Side-by-side diff isn't available for this file because of its large size.
Issue 6349095: Merge 77355 - 2011-02-01 Mihai Parparita <mihaip@chromium.org>... (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/648/
Patch Set: Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 77575)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,6143 @@
+2011-02-01 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Async event handlers should not fire within a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=53202
+
+ Asychronous events that use EventQueue would currently fire while a
+ modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
+ SuspendableTimer (which automatically gets suspended while dialogs are
+ up and in other cases where JS execution is not allowed).
+
+ Test: fast/events/scroll-event-during-modal-dialog.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/EventQueue.cpp:
+ (WebCore::EventQueueTimer::EventQueueTimer):
+ (WebCore::EventQueueTimer::fired):
+ (WebCore::EventQueue::EventQueue):
+ (WebCore::EventQueue::enqueueEvent):
+ (WebCore::EventQueue::pendingEventTimerFired):
+ * dom/EventQueue.h:
+ (WebCore::EventQueue::create):
+ * page/SuspendableTimer.cpp:
+ (WebCore::SuspendableTimer::SuspendableTimer):
+ (WebCore::SuspendableTimer::suspend):
+ (WebCore::SuspendableTimer::resume):
+ * page/SuspendableTimer.h:
+
+2011-02-01 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Change wrong PLATFORM(WIN) to USE(WININET)
+ https://bugs.webkit.org/show_bug.cgi?id=53547
+
+ * platform/network/ResourceHandle.h:
+
+2011-02-01 Beth Dakin <bdakin@apple.com>
+
+ 32-bit build fix.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
+
+2011-01-25 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Two tests crash after r76555
+ https://bugs.webkit.org/show_bug.cgi?id=53057
+
+ Instead of creating synchronous ResourceHandles manually, use the ::create factory.
+ This ensures that ::start() is not called when there is a scheduled failure and also
+ reduces code duplication.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
+
+2011-02-01 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] GObject DOM bindings do no support the CallWith attribute
+ https://bugs.webkit.org/show_bug.cgi?id=53331
+
+ Disable building GObject DOM bindings for IndexedDB because we do not support
+ the CallWith attribute at this time.
+
+ * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
+
+2011-02-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Fix a couple loose ends from the back/forward tree encode/decode work
+ https://bugs.webkit.org/show_bug.cgi?id=53537
+
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
+ original URL string; no need to encode it twice.
+ (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
+ * history/HistoryItem.h: Removed declaration for function that is no
+ longer defined nor used.
+
+2011-02-01 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] disable arm uninitialized variable warnings
+ https://bugs.webkit.org/show_bug.cgi?id=53553
+
+ We just got another error:
+ third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
+ 'colorTransparent.unstatic.4879' may be used uninitialized in this
+ function
+
+ * WebCore.gyp/WebCore.gyp:
+
+2011-02-01 chris reiss <christopher.reiss@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ Self-replicating code makes Safari hang and eventually crash
+ https://bugs.webkit.org/show_bug.cgi?id=15123
+
+
+ Here we are replicating the Firefox safeguard against
+ recursive document.write( ) 's.
+
+ See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
+ https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
+ a) imposes a recursion limit of 20 on document.write( ) and
+ b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
+ To see why this is necessary, consider the script :
+
+ <script>
+ var t = document.body.innerHTML;
+ document.write(t);
+ </script>
+
+ This will create a tree both broad and deep as the script keeps appending itself to the text. If
+ we just return one level after the recursion limit is reached, we still allow millions of copies to
+ duplicate (and execute).
+
+ The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
+ to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
+
+ Test: fast/dom/Document/document-write-recursion.html
+ Test: fast/dom/Document/document-close-iframe-load.html
+ Test: fast/dom/Document/document-close-nested-iframe-load.html
+
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::write):
+ * dom/Document.h:
+
+2011-02-01 Johnny Ding <jnd@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
+ https://bugs.webkit.org/show_bug.cgi?id=53424
+
+ Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::handleLinkClick):
+
+2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed Qt buildfix after r77286.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+ Remove the physical terminology from IntRect and FloatRect.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::createTiles):
+
+2011-02-01 Sam Weinig <sam@webkit.org>
+
+ Fix Mac production builds.
+
+ * DerivedSources.make:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollbarThemeMac.h:
+
+2011-02-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Chris Fleizach.
+
+ REGRESSION: Removing focus from area element causes unwanted scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=50169
+
+ Test: fast/images/imagemap-scroll.html
+
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
+ RenderImage::areaElementFocusChanged function.
+ (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
+ here that calls setNeedsLayout on the image's renderer. This was an
+ attempt to cause repaint of the renderer, but this function does not
+ need to do that. Also changed this to use the imageElement function
+ to avoid repeating code.
+
+ * html/HTMLAreaElement.h: Updated for above changes.
+
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paint): Updated for name change.
+ (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
+ paintFocusRing, because it only paints area focus rings, and should
+ not be confused with paintFocusRing functions in other classes. Also
+ removed the unused style argument. Removed the code that used an
+ HTMLCollection to see if the focused area element is for this image
+ and instead just call imageElement on the area element.
+ (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
+
+ * rendering/RenderImage.h: Added a public areaElementFocusChanged
+ function for HTMLAreaElement to call. Made the paintFocusRing function
+ private, renamed it to paintAreaElementFocusRing, and removed its
+ unused style argument.
+
+2011-02-01 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r77286.
+
+ * platform/graphics/wince/GraphicsContextWinCE.cpp:
+ (WebCore::TransparentLayerDC::TransparentLayerDC):
+
+2011-02-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: AXPosition of AXScrollArea is wrong
+ https://bugs.webkit.org/show_bug.cgi?id=53511
+
+ AccessibilityScrollView needed to return a valid documentFrameView() object.
+ At the same time, the code from document() should be consolidated in
+ AccessibilityObject, so all objects can use it.
+
+ Test: platform/mac/accessibility/webkit-scrollarea-position.html
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::document):
+ * accessibility/AccessibilityObject.h:
+ * accessibility/AccessibilityScrollView.cpp:
+ (WebCore::AccessibilityScrollView::accessibilityHitTest):
+ (WebCore::AccessibilityScrollView::documentFrameView):
+ * accessibility/AccessibilityScrollView.h:
+
+2011-02-01 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ getUniform should support SAMPLER_2D or SAMPLER_CUBE
+ https://bugs.webkit.org/show_bug.cgi?id=52190
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getUniform):
+
+2011-02-01 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=53531
+
+ With this fix, running WebGL conformance tests should no longer crash randomly.
+
+ * platform/graphics/cg/GraphicsContext3DCG.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+
+2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ One more Chromium build fix after r77286.
+
+ * platform/chromium/ScrollbarThemeChromiumMac.mm:
+ (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
+
+2011-02-01 Sam Weinig <sam@webkit.org>
+
+ Fix the build for Beth.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
+
+2011-02-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Part 2 for <rdar://problem/8492788>
+ Adopt WKScrollbarPainterController
+
+ Use header detection to define scrollbar painting controller #define.
+
+ * WebCore.exp.in:
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2011-02-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+
+ Remove the physical terminology from IntRect and FloatRect.
+
+ Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
+ we need to update our terminology to be more accurate.
+
+ I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
+ renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
+ even for flipped rectangles.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper position]):
+ * dom/ClientRect.h:
+ (WebCore::ClientRect::right):
+ (WebCore::ClientRect::bottom):
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::convertLogicalToDevice):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::normalizeRect):
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::drawElementTitle):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::adjustWindowRect):
+ * page/DragController.cpp:
+ (WebCore::dragLocForSelectionDrag):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::sendContextMenuEventForKey):
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
+ (WebCore::PrintContext::pageNumberForElement):
+ * page/SpatialNavigation.cpp:
+ (WebCore::end):
+ (WebCore::areRectsFullyAligned):
+ (WebCore::areRectsMoreThanFullScreenApart):
+ (WebCore::below):
+ (WebCore::rightOf):
+ (WebCore::isRectInDirection):
+ (WebCore::entryAndExitPointsForDirection):
+ (WebCore::virtualRectForDirection):
+ * page/WindowFeatures.cpp:
+ (WebCore::WindowFeatures::WindowFeatures):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::setFrameRect):
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::splitTrack):
+ * platform/chromium/ScrollbarThemeChromium.cpp:
+ (WebCore::ScrollbarThemeChromium::paintTickmarks):
+ * platform/graphics/FloatQuad.h:
+ (WebCore::FloatQuad::FloatQuad):
+ * platform/graphics/FloatRect.cpp:
+ (WebCore::FloatRect::intersects):
+ (WebCore::FloatRect::contains):
+ (WebCore::FloatRect::intersect):
+ (WebCore::FloatRect::unite):
+ (WebCore::enclosingIntRect):
+ * platform/graphics/FloatRect.h:
+ (WebCore::FloatRect::maxX):
+ (WebCore::FloatRect::maxY):
+ (WebCore::FloatRect::contains):
+ * platform/graphics/IntRect.cpp:
+ (WebCore::IntRect::intersects):
+ (WebCore::IntRect::contains):
+ (WebCore::IntRect::intersect):
+ (WebCore::IntRect::unite):
+ * platform/graphics/IntRect.h:
+ (WebCore::IntRect::maxX):
+ (WebCore::IntRect::maxY):
+ (WebCore::IntRect::shiftXEdgeTo):
+ (WebCore::IntRect::shiftMaxXEdgeTo):
+ (WebCore::IntRect::shiftYEdgeTo):
+ (WebCore::IntRect::shiftMaxYEdgeTo):
+ (WebCore::IntRect::contains):
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::advance):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::drawRect):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::fillRect):
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::getImageData):
+ (WebCore::putImageData):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::FilterEffect::copyImageBytes):
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ * platform/graphics/transforms/AffineTransform.cpp:
+ (WebCore::AffineTransform::mapRect):
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::drawGDIGlyphs):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::paint):
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::centerRectVerticallyInParentInputElement):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::paint):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect):
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::positionForOffset):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addOverflowFromChildren):
+ (WebCore::RenderBlock::paintChildren):
+ (WebCore::RenderBlock::paintEllipsisBoxes):
+ (WebCore::RenderBlock::inlineSelectionGaps):
+ (WebCore::RenderBlock::adjustPointToColumnContents):
+ (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
+ (WebCore::RenderBlock::adjustForColumns):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatingObject::right):
+ (WebCore::RenderBlock::FloatingObject::bottom):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::reflectedRect):
+ (WebCore::RenderBox::localCaretRect):
+ (WebCore::RenderBox::addShadowOverflow):
+ (WebCore::RenderBox::addLayoutOverflow):
+ (WebCore::RenderBox::visualOverflowRectForPropagation):
+ (WebCore::RenderBox::layoutOverflowRectForPropagation):
+ (WebCore::RenderBox::flipForWritingMode):
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::paintColumnBorder):
+ (WebCore::RenderFrameSet::paintRowBorder):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::paintOutlineForLine):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::getRectToExpose):
+ (WebCore::cornerRect):
+ (WebCore::RenderLayer::positionOverflowControls):
+ (WebCore::RenderLayer::overflowBottom):
+ (WebCore::RenderLayer::overflowRight):
+ (WebCore::RenderLayer::paintResizer):
+ * rendering/RenderLineBoxList.cpp:
+ (WebCore::RenderLineBoxList::rangeIntersectsRect):
+ (WebCore::RenderLineBoxList::paint):
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::positionListMarker):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::paint):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
+ * rendering/RenderOverflow.h:
+ (WebCore::RenderOverflow::RenderOverflow):
+ (WebCore::RenderOverflow::addLayoutOverflow):
+ (WebCore::RenderOverflow::addVisualOverflow):
+ (WebCore::RenderOverflow::setLayoutOverflow):
+ (WebCore::RenderOverflow::setVisualOverflow):
+ (WebCore::RenderOverflow::resetLayoutOverflow):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::shouldPaint):
+ * rendering/RenderScrollbarTheme.cpp:
+ (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paint):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paint):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::paintObject):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteQuads):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::forwardEvent):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMenuListButtonGradients):
+ (WebCore::RenderThemeMac::paintMenuListButton):
+ (WebCore::RenderThemeMac::paintSliderTrack):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::computeRectForRepaint):
+ (WebCore::RenderView::docBottom):
+ (WebCore::RenderView::docRight):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::paddedLayoutOverflowRect):
+ * rendering/svg/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::localCaretRect):
+
+2011-02-01 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
+
+ Lots of new WebCoreSystemInterface functions to export.
+ * WebCore.exp.in:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+ Let the scrollAnimator know when the mouse has
+ moved anywhere inside the page, and when the mouse
+ has moved in or out of the window.
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::mouseMoved):
+ (WebCore::EventHandler::updateMouseEventTargetNode):
+
+ Let the scrollAnimator know when the window has become
+ active or inactive.
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setActive):
+
+ Let the scrollAnimator know when all of these things
+ are happening.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setContentsSize):
+ (WebCore::FrameView::didMoveOnscreen):
+ (WebCore::FrameView::willMoveOffscreen):
+ (WebCore::FrameView::currentMousePosition):
+ (WebCore::FrameView::contentsResized):
+
+ New functions called through WebKit2 that allow the
+ scrollAnimator to know when a live resize starts and ends.
+ (WebCore::FrameView::willStartLiveResize):
+ (WebCore::FrameView::willEndLiveResize):
+ * page/FrameView.h:
+
+ New functions on ScrollAnimator that pass information
+ to the WKPainterController when we're using one.
+ * platform/ScrollAnimator.h:
+ (WebCore::ScrollAnimator::scrollableArea):
+ (WebCore::ScrollAnimator::contentAreaWillPaint):
+ (WebCore::ScrollAnimator::mouseEnteredContentArea):
+ (WebCore::ScrollAnimator::mouseExitedContentArea):
+ (WebCore::ScrollAnimator::mouseMovedInContentArea):
+ (WebCore::ScrollAnimator::willStartLiveResize):
+ (WebCore::ScrollAnimator::contentsResized):
+ (WebCore::ScrollAnimator::willEndLiveResize):
+ (WebCore::ScrollAnimator::contentAreaDidShow):
+ (WebCore::ScrollAnimator::contentAreaDidHide):
+ (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
+ (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
+ (WebCore::ScrollAnimatorMac::setPainterForPainterController):
+ (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
+ (WebCore::ScrollAnimatorMac::notityPositionChanged):
+ (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
+ (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
+ (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
+ (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
+ (WebCore::ScrollAnimatorMac::willStartLiveResize):
+ (WebCore::ScrollAnimatorMac::contentsResized):
+ (WebCore::ScrollAnimatorMac::willEndLiveResize):
+ (WebCore::ScrollAnimatorMac::contentAreaDidShow):
+ (WebCore::ScrollAnimatorMac::contentAreaDidHide):
+
+ Let the scrollAnimator know when this is happening.
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paint):
+
+ New function lets the scrollAnimator get the current
+ mouse position.
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::currentMousePosition):
+
+ New function that returns the scrollAnimator when needed.
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::scrollAnimator):
+
+ Keep track of if we're in a live resize using a new memeber
+ variable.
+ * platform/mac/ScrollAnimatorMac.h:
+ (WebCore::ScrollAnimatorMac::inLiveResize):
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::view):
+
+ New delegates for the WKPainter and WKPainterController
+ (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
+ (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
+ (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
+ (-[ScrollKnobAnimation setCurrentProgress:]):
+ (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
+ (-[ScrollbarPainterDelegate convertRectToBacking:]):
+ (-[ScrollbarPainterDelegate convertRectFromBacking:]):
+ (-[ScrollbarPainterDelegate layer]):
+ (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
+
+ Get the WKScrollbarPainterRefs to synch up with the
+ WKScrollbarPainterControllerRefs when appropriate
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::registerScrollbar):
+ (WebCore::ScrollbarThemeMac::unregisterScrollbar):
+ (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
+ (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
+
+ Implement ScrollableArea's virtual function contentsSize() for access
+ through the scrollAnimator.
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::contentsSize):
+
+2011-02-01 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ layoutTestController.counterValueForElementById does not return the correct value
+ https://bugs.webkit.org/show_bug.cgi?id=53037
+
+ Test: fast/css/counters/deep-before.html
+
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::counterValueForElement):
+ Modified to use the newly available RenderObject::beforePseudoElement()
+ and RenderObject::afterPseudoElement() instead of the old imperfect
+ algorithm to find the before and after pseudo elements.
+
+2011-02-01 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Allow access for security origin same as this.
+ https://bugs.webkit.org/show_bug.cgi?id=53440
+
+ Hard to test as newly added path currently is never hit.
+
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::canAccess): allow access if this == other
+
+2011-01-31 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Update JSObject storage for new marking API
+ https://bugs.webkit.org/show_bug.cgi?id=53467
+
+ Update WebCore to handle new anonymous slot behaviour.
+
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::initScript):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2011-02-01 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by David Hyatt.
+
+ Fix a text rendering problem when enclosing block is RTL and text runs
+ are in different directionality.
+ https://bugs.webkit.org/show_bug.cgi?id=34176
+
+ The problem happens in the following example scenario (ABC represents
+ Hebrew characters):
+ <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
+
+ The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
+ TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
+ TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
+
+ The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
+
+ Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
+ creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
+ the run's render object's ancestor (not only its parent) has already
+ been constructed or has something following it on the line, in which
+ case, create a new box for TextRun2 instead of sharing the same box with
+ TextRun3.
+
+ In other words, the following 2 div should render the same results
+ (ABC represents Hebrew characters).
+ <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
+ <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
+
+ Test: fast/dom/34176.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::parentIsConstructedOrHaveNext):
+ (WebCore::RenderBlock::createLineBoxes):
+
+2011-02-01 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Do not add a node in the document's stylesheet candidate node list if the
+ node is already removed from document.
+ https://bugs.webkit.org/show_bug.cgi?id=53441
+
+ Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
+
+ * dom/Document.cpp:
+ (WebCore::Document::addStyleSheetCandidateNode):
+
+2011-02-01 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
+ with vertical text.
+
+ Change printing functions to check writing-mode and properly swap width and height
+ as needed.
+
+ Fix the setScrollOrigin function so that the origin doesn't cause
+ scroll spasming during printing (this is only partially successful, but it's better
+ than it was).
+
+ Rewrite computePageRects to handle both RTL documents properly as well as vertical
+ text documents properly.
+
+ * WebCore.exp.in:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::adjustViewSize):
+ (WebCore::FrameView::forceLayoutForPagination):
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::computePageRects):
+ (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
+ (WebCore::PrintContext::computeAutomaticScaleFactor):
+ (WebCore::PrintContext::spoolPage):
+ (WebCore::PrintContext::spoolRect):
+ * page/PrintContext.h:
+ * page/mac/WebCoreFrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/ScrollView.h:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformSetScrollOrigin):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::layout):
+
+2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53500
+
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
+
+2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53173
+
+ Adding code for accessing heap snapshot data and
+ performing graph calculations.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
+ (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
+ (WebInspector.HeapSnapshotEdgeIterator):
+ (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
+ (WebInspector.HeapSnapshotNodeIterator):
+ (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
+ (WebInspector.HeapSnapshotFilteredOrderedIterator):
+ (WebInspector.HeapSnapshotEdgesProvider):
+ (WebInspector.HeapSnapshotNodesProvider):
+ (WebInspector.HeapSnapshotPathFinder):
+ * inspector/front-end/HeapSnapshotView.js:
+ (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
+
+2011-02-01 Adam Roben <aroben@apple.com>
+
+ Fix linker warnings in Release_LTCG builds
+
+ * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
+ configurations, since they get pulled in via DOMAllInOne.cpp.
+
+2011-02-01 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
+ https://bugs.webkit.org/show_bug.cgi?id=53482
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
+ * inspector/front-end/inspector.js:
+ (WebInspector.resourceForURL):
+ (WebInspector.openLinkExternallyLabel):
+
+2011-02-01 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Propagate parent document security origin to newly create Document XML response
+ https://bugs.webkit.org/show_bug.cgi?id=53444
+
+ Covered by the existing tests.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::responseXML):
+
+2011-02-01 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Rollout r77230 which caused many layout tests
+ crashes on Chromium Debug bots.
+
+ Async event handlers should not fire within a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=53202
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/EventQueue.cpp:
+ (WebCore::EventQueue::EventQueue):
+ (WebCore::EventQueue::enqueueEvent):
+ (WebCore::EventQueue::pendingEventTimerFired):
+ * dom/EventQueue.h:
+
+2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ LightElement changes does not require relayout.
+ https://bugs.webkit.org/show_bug.cgi?id=53232
+
+ When an attribute of a LightElement changes, it
+ send an update message to the lighting filters
+ to update its corresponding LightSource objects,
+ and repaint the filters.
+
+ Duplicated 'id' attributes removed from svg-filter-animation.svg.
+
+ Existing dynamic-update tests covers this feature.
+
+ 5x speedup on manual-tests/svg-filter-animation.svg
+
+ * manual-tests/svg-filter-animation.svg:
+ * platform/graphics/filters/DistantLightSource.h:
+ * platform/graphics/filters/FEDiffuseLighting.cpp:
+ (WebCore::FEDiffuseLighting::setLightingColor):
+ (WebCore::FEDiffuseLighting::setSurfaceScale):
+ (WebCore::FEDiffuseLighting::setDiffuseConstant):
+ (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
+ (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
+ * platform/graphics/filters/FEDiffuseLighting.h:
+ * platform/graphics/filters/LightSource.cpp:
+ (WebCore::PointLightSource::setX):
+ (WebCore::PointLightSource::setY):
+ (WebCore::PointLightSource::setZ):
+ (WebCore::SpotLightSource::setX):
+ (WebCore::SpotLightSource::setY):
+ (WebCore::SpotLightSource::setZ):
+ (WebCore::SpotLightSource::setPointsAtX):
+ (WebCore::SpotLightSource::setPointsAtY):
+ (WebCore::SpotLightSource::setPointsAtZ):
+ (WebCore::SpotLightSource::setSpecularExponent):
+ (WebCore::SpotLightSource::setLimitingConeAngle):
+ (WebCore::DistantLightSource::setAzimuth):
+ (WebCore::DistantLightSource::setElevation):
+ (WebCore::LightSource::setAzimuth):
+ (WebCore::LightSource::setElevation):
+ (WebCore::LightSource::setX):
+ (WebCore::LightSource::setY):
+ (WebCore::LightSource::setZ):
+ (WebCore::LightSource::setPointsAtX):
+ (WebCore::LightSource::setPointsAtY):
+ (WebCore::LightSource::setPointsAtZ):
+ (WebCore::LightSource::setSpecularExponent):
+ (WebCore::LightSource::setLimitingConeAngle):
+ * platform/graphics/filters/LightSource.h:
+ * platform/graphics/filters/PointLightSource.h:
+ * platform/graphics/filters/SpotLightSource.h:
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
+ (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ (WebCore::SVGFEDiffuseLightingElement::findLightElement):
+ (WebCore::SVGFEDiffuseLightingElement::findLight):
+ * svg/SVGFEDiffuseLightingElement.h:
+ * svg/SVGFELightElement.cpp:
+ (WebCore::SVGFELightElement::svgAttributeChanged):
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+
+2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
+ https://bugs.webkit.org/show_bug.cgi?id=53289
+
+ Moving the nested class DocumentOrderedMap from Document into separate files,
+ updating code where necessary.
+
+ No new tests. (refactoring)
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUMakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::getElementById):
+ (WebCore::Document::getImageMap):
+ * dom/Document.h:
+ * dom/DocumentOrderedMap.cpp: Added.
+ (WebCore::keyMatchesId):
+ (WebCore::keyMatchesMapName):
+ (WebCore::keyMatchesLowercasedMapName):
+ (WebCore::DocumentOrderedMap::clear):
+ (WebCore::DocumentOrderedMap::add):
+ (WebCore::DocumentOrderedMap::remove):
+ (WebCore::DocumentOrderedMap::get):
+ (WebCore::DocumentOrderedMap::getElementById):
+ (WebCore::DocumentOrderedMap::getElementByMapName):
+ (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
+ * dom/DocumentOrderedMap.h: Added.
+ (WebCore::DocumentOrderedMap::contains):
+ (WebCore::DocumentOrderedMap::containsMultiple):
+ * dom/DOMAllInOne.cpp:
+
+2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] atk_text_set_caret_offset fails for list items
+ https://bugs.webkit.org/show_bug.cgi?id=53388
+
+ Allow using text ranges across list items.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::allowsTextRanges): Add list items
+ to the list of accessibility objects supporting text ranges.
+
+2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] character range extents is off when the end of a wrapped line is included
+ https://bugs.webkit.org/show_bug.cgi?id=53323
+
+ Fixed wrong calculation getting the range extents.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_text_get_range_extents): Removed '+1' since the
+ requested interval shouldn't include the last character.
+
+2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Caret Offset is one off at the end of wrapped lines
+ https://bugs.webkit.org/show_bug.cgi?id=53300
+
+ Consider linebreaks as special cases.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (objectAndOffsetUnignored): In order to avoid getting wrong values
+ when around linebreaks, we need to workaround this by explicitly
+ avoiding those '\n' text nodes from affecting the result of
+ calling to TextIterator:rangeLength().
+
+2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
+
+ Unreviewed, rolling out r77229.
+ http://trac.webkit.org/changeset/77229
+ https://bugs.webkit.org/show_bug.cgi?id=53289
+
+ revert mysterious build breakage
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/DOMAllInOne.cpp:
+ * dom/Document.cpp:
+ (WebCore::Document::DocumentOrderedMap::clear):
+ (WebCore::Document::DocumentOrderedMap::add):
+ (WebCore::Document::DocumentOrderedMap::remove):
+ (WebCore::Document::DocumentOrderedMap::get):
+ (WebCore::keyMatchesId):
+ (WebCore::Document::getElementById):
+ (WebCore::keyMatchesMapName):
+ (WebCore::keyMatchesLowercasedMapName):
+ (WebCore::Document::getImageMap):
+ * dom/Document.h:
+ (WebCore::Document::DocumentOrderedMap::contains):
+ (WebCore::Document::DocumentOrderedMap::containsMultiple):
+ * dom/DocumentOrderedMap.cpp: Removed.
+ * dom/DocumentOrderedMap.h: Removed.
+
+2011-02-01 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Async event handlers should not fire within a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=53202
+
+ Asychronous events that use EventQueue would currently fire while a
+ modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
+ SuspendableTimer (which automatically gets suspended while dialogs are
+ up and in other cases where JS execution is not allowed).
+
+ Test: fast/events/scroll-event-during-modal-dialog.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/EventQueue.cpp:
+ (WebCore::EventQueueTimer::EventQueueTimer):
+ (WebCore::EventQueueTimer::fired):
+ (WebCore::EventQueue::EventQueue):
+ (WebCore::EventQueue::enqueueEvent):
+ (WebCore::EventQueue::pendingEventTimerFired):
+ * dom/EventQueue.h:
+ (WebCore::EventQueue::create):
+
+2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
+ https://bugs.webkit.org/show_bug.cgi?id=53289
+
+ Moving the nested class DocumentOrderedMap from Document into separate files,
+ updating code where necessary.
+
+ No new tests. (refactoring)
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUMakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::getElementById):
+ (WebCore::Document::getImageMap):
+ * dom/Document.h:
+ * dom/DocumentOrderedMap.cpp: Added.
+ (WebCore::keyMatchesId):
+ (WebCore::keyMatchesMapName):
+ (WebCore::keyMatchesLowercasedMapName):
+ (WebCore::DocumentOrderedMap::clear):
+ (WebCore::DocumentOrderedMap::add):
+ (WebCore::DocumentOrderedMap::remove):
+ (WebCore::DocumentOrderedMap::get):
+ (WebCore::DocumentOrderedMap::getElementById):
+ (WebCore::DocumentOrderedMap::getElementByMapName):
+ (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
+ * dom/DocumentOrderedMap.h: Added.
+ (WebCore::DocumentOrderedMap::contains):
+ (WebCore::DocumentOrderedMap::containsMultiple):
+ * dom/DOMAllInOne.cpp:
+
+2011-02-01 Naoki Takano <takano.naoki@gmail.com>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Autofill should work with HTML5 form elements
+ https://bugs.webkit.org/show_bug.cgi?id=51809
+ http://crbug.com/65654
+
+ No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
+
+ * html/InputType.h: Insert comment for canSetSuggestedValue().
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
+ * html/TextFieldInputType.h: Declare canSetSuggestedValue().
+ * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
+ * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
+
+2011-02-01 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
+ https://bugs.webkit.org/show_bug.cgi?id=53272
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
+
+2011-01-31 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53466
+ Move WebKit2 to printing via API methods
+
+ * WebCore.exp.in: Export IntRect::scale().
+
+2011-01-31 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Remove obsolete comment after r41871
+ https://bugs.webkit.org/show_bug.cgi?id=53406
+
+ * dom/Document.h:
+
+2011-01-31 Simon Fraser <simon.fraser@apple.com>
+
+ Fix according to reviewer comments: can just use Color::black now.
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::drawInsetShadow):
+ (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
+
+2011-01-31 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up ShadowBlur
+ https://bugs.webkit.org/show_bug.cgi?id=53472
+
+ Some minor ShadowBlur cleanup.
+
+ * platform/graphics/ShadowBlur.h:
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
+ paramter.
+ (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
+ (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
+ layerRect. Make frameSize a float.
+ (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
+ layerRect rather than calling calculateLayerBoundingRect() to compute
+ it itself, since we were calling calculateLayerBoundingRect() twice.
+ (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
+ only once. The shadowRect variable was unused, so two return paths could be
+ collapsed into one.
+ (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
+ beginShadowLayer() now.
+ (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
+ We always used alpha=1, so no need to pass that in.
+ (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
+ pass that in. Move shadowRect down to first use.
+ ShadowBlur::clipBounds() was unused.
+
+2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
+ https://bugs.webkit.org/show_bug.cgi?id=46748
+
+ This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
+ Added a regression test to tst_QWebFrame.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+
+2011-01-27 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Convert <progress> shadow DOM to a DOM-based shadow.
+ https://bugs.webkit.org/show_bug.cgi?id=50660
+
+ * Removed RenderProgress::m_valuePart, moved the shadow node
+ to the shadow root of HTMLProgressElement.
+ * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
+ ProgressBarValueElement is defined only for overriding
+ shadowPseudoId().
+
+ No new tests. No behavioral change.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * html/HTMLProgressElement.cpp:
+ (WebCore::ProgressBarValueElement::ProgressBarValueElement):
+ (WebCore::ProgressBarValueElement::shadowPseudoId):
+ (WebCore::ProgressBarValueElement::create):
+ (WebCore::ProgressBarValueElement::detach):
+ (WebCore::HTMLProgressElement::parseMappedAttribute):
+ (WebCore::HTMLProgressElement::attach):
+ (WebCore::HTMLProgressElement::valuePart):
+ (WebCore::HTMLProgressElement::didElementStateChange):
+ (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
+ * html/HTMLProgressElement.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::~RenderProgress):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::layoutParts):
+ (WebCore::RenderProgress::shouldHaveParts):
+ (WebCore::RenderProgress::valuePart):
+ * rendering/RenderProgress.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2011-01-31 Charlie Reis <creis@chromium.org>
+
+ Reviewed by Mihai Parparita.
+
+ Add sanity check to help diagnose bug 52819
+ https://bugs.webkit.org/show_bug.cgi?id=53402
+
+ Crash early if the children of fromItem look invalid.
+
+ * loader/HistoryController.cpp:
+
+2011-01-31 Kalle Vahlman <kalle.vahlman@movial.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
+ https://bugs.webkit.org/show_bug.cgi?id=53325
+
+ Reimplement paintCurrentFrameInContext() rather than delegate the
+ rendering to paint() to make sure we really do get the video frame
+ content into the GraphicsContext, regardless of accelerated
+ compositing and the video scene state.
+
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+
+2011-01-31 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Setting "selected" attribute to false should have no effect in single line <select>
+ https://bugs.webkit.org/show_bug.cgi?id=52436
+
+ Change SelectElement::setSelectedIndex to select the first selectable
+ option when the select state of all options is set to false as required
+ by the HTML5 specification.
+
+ Test: fast/dom/HTMLSelectElement/selected-false.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::setSelectedIndex):
+
+2011-01-31 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Console source references need a left-margin
+ https://bugs.webkit.org/show_bug.cgi?id=53308
+
+ * inspector/front-end/inspector.css:
+ (.console-message-url): Added a 4px margin on the left.
+
+2011-01-31 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ Code Changes only.
+
+ It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
+ https://bugs.webkit.org/show_bug.cgi?id=53024
+
+ No new tests. No change in functionality
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::before):
+ (WebCore::RenderObject::after):
+ (WebCore::RenderObject::generatingNode):
+ Added new accessors for the use of the CSS 2.1 counters code
+ (mainlyly)
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::beforeAfterContainer):
+ (WebCore::RenderObjectChildList::invalidateCounters):
+ (WebCore::RenderObjectChildList::before):
+ (WebCore::RenderObjectChildList::after):
+ Refactored the code to take advantage of the new accessors.
+ (WebCore::RenderObjectChildList::updateBeforeAfterContent):
+ Changed to store the generating node in the :before and :after
+ renderers.
+ * rendering/RenderObjectChildList.h:
+
+2011-01-31 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ Add background-clip to background shorthand
+ https://bugs.webkit.org/show_bug.cgi?id=52080
+
+ Added background-clip to background-shorthand. Also made changes to
+ include webkitMaskClip to the mask shorthand to keep both in sync.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseFillShorthand):
+
+2011-01-31 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
+ https://bugs.webkit.org/show_bug.cgi?id=53460
+
+ * editing/EditorCommand.cpp:
+ (WebCore::executeScrollPageBackward): Added.
+ (WebCore::executeScrollPageForward): Added.
+ (WebCore::executeScrollToBeginningOfDocument): Added.
+ (WebCore::executeScrollToEndOfDocument): Added.
+ (WebCore::createCommandMap): Added the four commands above to the map.
+
+2011-01-31 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Inter-ideograph justification should apply to hiragana and katakana as well
+ https://bugs.webkit.org/show_bug.cgi?id=53464
+
+ Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::expansionOpportunityCount):
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::advance):
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
+
+2011-01-31 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by James Robinson.
+
+ REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
+ https://bugs.webkit.org/show_bug.cgi?id=53314
+
+ Fixes media/controls-strict.html on Chromium.
+
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
+ Added proper box-sizing to avoid differences between strict/quirks mode.
+
+2011-01-31 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Validation message bubble shouldn't inherit text-security style
+ https://bugs.webkit.org/show_bug.cgi?id=53457
+
+ No new tests because the validation message feature depends on timers
+ and is enabled only in Chromium port.
+
+ * css/html.css:
+ (::-webkit-validation-bubble): Reset -webkit-text-security.
+
+2011-01-31 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
+ https://bugs.webkit.org/show_bug.cgi?id=53271
+
+ Reapplying this patch again.
+ The removal of this patch in <http://trac.webkit.org/changeset/77125>
+ as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
+ removed the both the first (failing) patch (r76893) and this fixed
+ patch (r76969). This patch includes slight changes necessitated by
+ r77151.
+
+ Reapplying this patch with the change that the second ASSERT in
+ RootObject::removeRuntimeObject was changed to use
+ .uncheckedGet() instead of the failing .get(). The object in question
+ could be in the process of being GC'ed. The get() call will not return
+ such an object while the uncheckedGet() call will return the (unsafe)
+ object. This is the behavior we want.
+
+ Precautionary change.
+ Changed RootObject to use WeakGCMap instead of HashSet.
+ Found will looking for another issue, but can't produce a test case
+ that is problematic. THerefore there aren't any new tests.
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-31 Andreas Kling <kling@webkit.org>
+
+ Unbreak Qt build after r77151.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+
+2011-01-31 takano takumi <takano@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Implement text-combine rendering code
+ https://bugs.webkit.org/show_bug.cgi?id=50621
+
+ Test: fast/text/international/text-combine-image-test.html
+
+ * Android.mk: Added RenderCombineText.cpp/h
+ * CMakeLists.txt: Added RenderCombineText.cpp/h
+ * GNUmakefile.am: Added RenderCombineText.cpp/h
+ * WebCore.exp.in:
+ * WebCore.gypi: Added RenderCombineText.cpp/h
+ * WebCore.pro: Added RenderCombineText.cpp/h
+ * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
+ * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ - Added fontDescription.widthVariant to SimpleFontData creation.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
+ * dom/Text.cpp:
+ (WebCore::Text::createRenderer):
+ - Changed to create RenderCombineText in case of TextCombine.
+ * loader/cache/CachedFont.cpp:
+ (WebCore::CachedFont::platformDataFromCustomData):
+ - Added FontWidthVariant as an argument for FontPlatformData creation.
+ * loader/cache/CachedFont.h:
+ - Ditto.
+ * platform/graphics/Font.h:
+ (WebCore::Font::widthVariant):
+ - The accessor to FontWidthVariant member variable.
+ * platform/graphics/FontCache.cpp:
+ - Made cache to incorporate FontWidthVariant value.
+ (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
+ (WebCore::FontPlatformDataCacheKey::operator==):
+ (WebCore::computeHash):
+ (WebCore::FontCache::getCachedFontPlatformData):
+ * platform/graphics/FontDescription.h:
+ - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
+ (WebCore::FontDescription::FontDescription):
+ (WebCore::FontDescription::widthVariant):
+ (WebCore::FontDescription::setWidthVariant):
+ (WebCore::FontDescription::operator==):
+ * platform/graphics/FontWidthVariant.h: Added.
+ * platform/graphics/cairo/FontCustomPlatformData.h:
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/cocoa/FontPlatformData.h:
+ - Changed to carry FontWidthVariant value.
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::widthVariant):
+ (WebCore::FontPlatformData::hash):
+ (WebCore::FontPlatformData::operator==):
+ * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+ (WebCore::FontPlatformData::FontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ (WebCore::FontPlatformData::operator=):
+ - Ditto.
+ (WebCore::mapFontWidthVariantToCTFeatureSelector):
+ - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
+ (WebCore::FontPlatformData::ctFont):
+ - Changed to create CTFont with text spacing variant based on FontWidthVariant.
+ * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/haiku/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/haiku/FontCustomPlatformData.h:
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::FontCache::createFontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/mac/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/mac/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
+ (WebCore::shouldUseCoreText):
+ - Changed to skip CT path when width variant is specified.
+ * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/qt/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/skia/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/skia/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/win/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
+ - Ditto.
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/win/FontCustomPlatformDataCairo.h:
+ - Ditto.
+ * platform/graphics/wince/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/wince/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/wx/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/wx/FontCustomPlatformData.h:
+ - Ditto.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint):
+ - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
+ instead of text returned from text().
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
+ - Made to call RenderCombinedText's prepareTextCombine() here.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::textWidth):
+ - Made to always use the render object's width() in case of TextCombine.
+ (WebCore::RenderBlock::findNextLineBreak):
+ - Made to call RenderCombinedText's prepareTextCombine() here.
+ * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
+ (WebCore::RenderCombineText::RenderCombineText):
+ (WebCore::RenderCombineText::styleDidChange):
+ - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
+ the next call of RenderBlock::findNextLineBreak().
+ (WebCore::RenderCombineText::setTextInternal):
+ - Ditto.
+ (WebCore::RenderCombineText::width):
+ - Returns 1-em width in case of font combine.
+ (WebCore::RenderCombineText::adjustTextOrigin):
+ - Adjust drawing origin point in case of font combine.
+ (WebCore::RenderCombineText::charactersToRender):
+ - Return original text instead of current text in case of font combine.
+ (WebCore::RenderCombineText::combineText):
+ - This function tries to pack passed text with; 1) the current font as is, 2) the font created
+ from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
+ with quarter-width variant.
+ - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
+ we give up text-combine as the CSS spec describes.
+ - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
+ behave like a single character against text decorations.
+ * rendering/RenderCombineText.h: Added.
+ (WebCore::RenderCombineText::isCombined):
+ (WebCore::RenderCombineText::combinedTextWidth):
+ - Returns 1-em width in case of font combine.
+ (WebCore::RenderCombineText::renderName):
+ (WebCore::toRenderCombineText):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::widthFromCache):
+ - Made to call RenderCombineText's combinedTextWidth when the text is combined.
+ * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::hasTextCombine):
+ - Added for a quick test of TextCombine.
+
+2011-01-31 Oliver Hunt <oliver@apple.com>
+
+ Convert markstack to a slot visitor API
+ https://bugs.webkit.org/show_bug.cgi?id=53219
+
+ rolling r77098, r77099, r77100, r77109, and
+ r77111 back in, along with a few more Qt fix attempts.
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Added.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::globalData):
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::createAccelerationObject):
+ (WebCore::createRotationRateObject):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+ * dom/Document.h:
+
+2011-01-31 Dan Winship <danw@gnome.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ wss (websockets ssl) support for gtk via new gio TLS support
+ https://bugs.webkit.org/show_bug.cgi?id=50344
+
+ Update to use GPollableOutputStream and GTlsConnection to
+ implement wss URLs
+
+ * platform/network/soup/SocketStreamHandle.h:
+ * platform/network/soup/SocketStreamHandleSoup.cpp:
+ (WebCore::SocketStreamHandle::SocketStreamHandle):
+ (WebCore::SocketStreamHandle::connected):
+ (WebCore::SocketStreamHandle::platformSend):
+ (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
+ (WebCore::writeReadyCallback):
+
+2011-01-31 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Check the textarea node still exists in document before casting
+ it to HTMLTextAreaElement.
+ https://bugs.webkit.org/show_bug.cgi?id=53429
+
+ Test: fast/forms/textarea-node-removed-from-document-crash.html
+
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
+
+2011-01-27 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ If beforeChild is wrapped in an anonymous table section, we need to
+ go the parent to find it and use it before adding childs to table.
+ https://bugs.webkit.org/show_bug.cgi?id=53276
+
+ We need to make sure that beforeChild's parent is "this" before calling
+ RenderBox::addChild. The previous condition in while is too restrictive
+ and fails to calculate the right beforeChild value when its display
+ style is table caption.
+ Test: fast/table/before-child-non-table-section-add-table-crash.html
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild):
+
+2011-01-31 Shane Stephens <shanestephens@google.com>
+
+ Reviewed by Simon Fraser.
+
+ AffineTransform::translateRight incorrectly computes a translateLeft.
+ https://bugs.webkit.org/show_bug.cgi?id=52551
+
+ Removed translateRight and converted all uses to perform standard
+ matrix multiplication.
+
+ No new tests because patch doesn't modify functionality.
+
+ * platform/graphics/transforms/AffineTransform.cpp:
+ * platform/graphics/transforms/AffineTransform.h:
+ (WebCore::AffineTransform::translation):
+ * rendering/svg/RenderSVGResourceMarker.cpp:
+ (WebCore::RenderSVGResourceMarker::localToParentTransform):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
+ (WebCore::RenderSVGRoot::localToParentTransform):
+ * rendering/svg/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::localToParentTransform):
+ * rendering/svg/SVGTextLayoutEngine.cpp:
+ (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
+
+2011-01-31 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
+ https://bugs.webkit.org/show_bug.cgi?id=53389
+
+ Return FALSE when not able to set the caret at the specified offset.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_text_set_caret_offset): Return FALSE when the
+ range created is NULL and adjust offset to account for list markers.
+
+2011-01-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: copy HAR to clipboard instead of saving blob on export.
+ https://bugs.webkit.org/show_bug.cgi?id=53328
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype._exportAll):
+ (WebInspector.NetworkPanel.prototype._exportResource):
+
+2011-01-30 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: speed up network panel rendering.
+ https://bugs.webkit.org/show_bug.cgi?id=53397
+
+ * inspector/front-end/DataGrid.js:
+ (WebInspector.DataGrid.prototype.get scrollContainer):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
+ (WebInspector.NetworkPanel.prototype._positionSummaryBar):
+ (WebInspector.NetworkPanel.prototype._createTable):
+ (WebInspector.NetworkPanel.prototype._exportResource):
+ (WebInspector.NetworkPanel.prototype._onScroll):
+ * inspector/front-end/networkPanel.css:
+ (.network-sidebar .data-grid.small tr.offscreen):
+ (.network-sidebar .data-grid tr.offscreen):
+ (.network-sidebar .data-grid tr.offscreen td):
+
+2011-01-31 Peter Varga <pvarga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Remove wrec from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=53298
+
+ No new tests needed.
+
+ * Android.jscbindings.mk:
+ * ForwardingHeaders/wrec/WREC.h: Removed.
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/copyForwardingHeaders.cmd:
+
+2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76969.
+ http://trac.webkit.org/changeset/76969
+ https://bugs.webkit.org/show_bug.cgi?id=53418
+
+ "It is causing crashes in GTK+ and Leopard bots" (Requested by
+ alexg__ on #webkit).
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-31 Antti Koivisto <antti@apple.com>
+
+ Not reviewed.
+
+ Spelling.
+
+ * css/CSSSelectorList.h:
+ (WebCore::CSSSelectorList::next):
+
+2011-01-31 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Fix Chromium compilation on Linux.
+
+ * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
+ * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
+
+2011-01-31 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Fix Chromium compilation on Mac broken by r77101.
+
+ * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
+
+2011-01-31 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
+
+ https://bugs.webkit.org/show_bug.cgi?id=53309
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel):
+
+2011-01-31 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Unreviewed, fix the build with current GTK+ 3.x.
+
+ * plugins/gtk/gtk2xtbin.c:
+ * plugins/gtk/gtk2xtbin.h:
+
+2011-01-30 Kenichi Ishibashi <bashi@google.com>
+
+ Reviewed by Kent Tamura.
+
+ Dangling form associated elements should not be registered on the document
+ https://bugs.webkit.org/show_bug.cgi?id=53223
+
+ Adds insertedIntoDocument() and remvoedFromDocument() to
+ FormAssociatedElement class to register the element on the document
+ if and only if it actually inserted into (removed from) the document.
+
+ Test: fast/forms/dangling-form-element-crash.html
+
+ * html/FormAssociatedElement.cpp:
+ (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
+ (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
+ (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
+ the element to a document.
+ (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
+ the element from a document.
+ * html/FormAssociatedElement.h:
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
+ (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
+ * html/HTMLFormControlElement.h:
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
+ FormAssociatedElement::insertedIntoDocument().
+ (WebCore::HTMLObjectElement::removedFromDocument): Calls
+ FormAssociatedElement::removedFromDocument().
+
+2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed, rolling out r77098, r77099, r77100, r77109, and
+ r77111.
+ http://trac.webkit.org/changeset/77098
+ http://trac.webkit.org/changeset/77099
+ http://trac.webkit.org/changeset/77100
+ http://trac.webkit.org/changeset/77109
+ http://trac.webkit.org/changeset/77111
+ https://bugs.webkit.org/show_bug.cgi?id=53219
+
+ Qt build is broken
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::createAccelerationObject):
+ (WebCore::createRotationRateObject):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * bridge/runtime_root.h:
+ * dom/Document.h:
+
+2011-01-30 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77107.
+ http://trac.webkit.org/changeset/77107
+ https://bugs.webkit.org/show_bug.cgi?id=53412
+
+ Caused 5 new form-related test crashes (Requested by smfr on
+ #webkit).
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::parseMappedAttribute):
+ (WebCore::HTMLProgressElement::attach):
+ * html/HTMLProgressElement.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::~RenderProgress):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::layoutParts):
+ (WebCore::RenderProgress::shouldHaveParts):
+ * rendering/RenderProgress.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Enhance ShadowBlur to render inset box shadows
+ https://bugs.webkit.org/show_bug.cgi?id=51567
+
+ Use ShadowBlur for inset box-shadows with CG. It
+ currently lacks a tiled version, but is still much
+ faster than CG shadows.
+
+ Test: fast/box-shadow/inset-box-shadow-radius.html
+
+ * platform/graphics/ShadowBlur.cpp:
+ * platform/graphics/ShadowBlur.h: New method for inset
+ shadows.
+ (WebCore::ShadowBlur::drawInsetShadow):
+
+ * platform/graphics/GraphicsContext.cpp: #ifdef out
+ fillRectWithRoundedHole() for CG.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
+ a shadow with a radius > 0, use ShadowBlur.
+
+2011-01-28 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Chris Marrin.
+
+ WebGL shows PNG Textures with indexed colors too dark
+ https://bugs.webkit.org/show_bug.cgi?id=47477
+
+ Properly handle indexed PNG images by re-rendering them as RGBA
+ images before upload. Verified with this layout test and the test
+ cases from bugs 47477 and 53269.
+
+ * platform/graphics/cg/GraphicsContext3DCG.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+
+2011-01-27 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Convert <progress> shadow DOM to a DOM-based shadow.
+ https://bugs.webkit.org/show_bug.cgi?id=50660
+
+ * Removed RenderProgress::m_valuePart, moved the shadow node
+ to the shadow root of HTMLProgressElement.
+ * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
+ ProgressBarValueElement is defined only for overriding
+ shadowPseudoId().
+
+ No new tests. No behavioral change.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * html/HTMLProgressElement.cpp:
+ (WebCore::ProgressBarValueElement::ProgressBarValueElement):
+ (WebCore::ProgressBarValueElement::shadowPseudoId):
+ (WebCore::ProgressBarValueElement::create):
+ (WebCore::HTMLProgressElement::parseMappedAttribute):
+ (WebCore::HTMLProgressElement::attach):
+ (WebCore::HTMLProgressElement::valuePart):
+ (WebCore::HTMLProgressElement::didElementStateChange):
+ (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
+ * html/HTMLProgressElement.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::~RenderProgress):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::layoutParts):
+ (WebCore::RenderProgress::shouldHaveParts):
+ (WebCore::RenderProgress::valuePart):
+ * rendering/RenderProgress.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Enhance ShadowBlur to render inset box shadows; Part 1.
+ https://bugs.webkit.org/show_bug.cgi?id=51567
+
+ Add a new method to GraphicsContext to render a rect with a rounded hole,
+ for use by inset box-shadow code. Knowledge that we're rendering a rounded
+ hole will enable ShadowBlur to be used here in future.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::fillRectWithRoundedHole):
+ * platform/graphics/GraphicsContext.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+
+2011-01-23 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION: Inset shadow with too large border radius misses rounded corner.
+ https://bugs.webkit.org/show_bug.cgi?id=52800
+
+ The refactoring on r76083 broke the invariant between border
+ IntRect and its radii because RoundedIntRect::setRect() is called
+ after getRoundedInnerBorderWithBorderWidths(), which enforces the
+ invariant. Th rounded-rect clipping code verifies the invariant,
+ and discard the invalid radii, that results broken paintings.
+
+ This change moved setRect() before
+ getRoundedInnerBorderWithBorderWidths() not to modify the valid
+ RoundedIntRect value.
+
+ Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
+ vcproj.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ -webkit-box-shadow causes awful scroll/resize/redraw performance
+ https://bugs.webkit.org/show_bug.cgi?id=22102
+
+ Use ShadowBlur for CG, whe rendering shadows on rects and
+ rounded rects outside of canvas.
+
+ CG shadows with a radius of more than 8px do not render
+ correctly. We preserve this incorrect rendering by compensating
+ for it when rending -webkit-box-shadow. Calls that should use
+ this deprecated radius behavior now use setLegacyShadow().
+
+ Test: fast/box-shadow/box-shadow-transformed.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
+ for canvas, to indicate that it should use the deprecated radius
+ behavior.
+ (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
+ (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
+ (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
+
+ * platform/graphics/GraphicsContext.h:
+ (WebCore::GraphicsContextState::GraphicsContextState): Add a
+ shadowsUseLegacyRadius bit to the state.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::radiusToLegacyRadius): Map from the actual radius to one
+ that approximates CG behavior.
+ (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
+ with a non-zero blur radius.
+ (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
+ (WebCore::GraphicsContext::fillRoundedRect): Ditto.
+ (WebCore::GraphicsContext::setPlatformShadow): Comment.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
+ for -webkit-box-shadow.
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
+ by rounding up the blur radius.
+ (WebCore::ShadowBlur::drawRectShadow): Ditto
+ (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.
+
+2011-01-30 Oliver Hunt <oliver@apple.com>
+
+ Try to fix Qt build (again).
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+
+2011-01-30 Oliver Hunt <oliver@apple.com>
+
+ Try to fix Qt build.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+ * bridge/qt/qt_instance.h:
+
+2011-01-30 Oliver Hunt <oliver@apple.com>
+
+ Convert markstack to a slot visitor API
+ https://bugs.webkit.org/show_bug.cgi?id=53219
+
+ rolling r77006 and r77020 back in.
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Added.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::globalData):
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::createAccelerationObject):
+ (WebCore::createRotationRateObject):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * bridge/runtime_root.h:
+ * dom/Document.h:
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make ContextShadow code cross-platform
+ https://bugs.webkit.org/show_bug.cgi?id=51312
+
+ Add a new class, ShadowBlur, that contains most of the
+ code from ContextShadow, but is fully cross-platform.
+ It depends on one new method, GraphicsContext::clipBounds(),
+ which platforms will have to implement.
+
+ Add ShadowBlur to the Mac Xcode project, but don't use it
+ anywhere yet.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::clipBounds):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/ShadowBlur.cpp: Added.
+ (WebCore::roundUpToMultipleOf32):
+ (WebCore::ScratchBuffer::ScratchBuffer):
+ (WebCore::ScratchBuffer::getScratchBuffer):
+ (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
+ (WebCore::ScratchBuffer::timerFired):
+ (WebCore::ScratchBuffer::clearScratchBuffer):
+ (WebCore::ScratchBuffer::shared):
+ (WebCore::ShadowBlur::ShadowBlur):
+ (WebCore::ShadowBlur::blurLayerImage):
+ (WebCore::ShadowBlur::adjustBlurDistance):
+ (WebCore::ShadowBlur::calculateLayerBoundingRect):
+ (WebCore::ShadowBlur::beginShadowLayer):
+ (WebCore::ShadowBlur::endShadowLayer):
+ (WebCore::ShadowBlur::drawRectShadow):
+ (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
+ (WebCore::ShadowBlur::drawRectShadowWithTiling):
+ (WebCore::ShadowBlur::clipBounds):
+ * platform/graphics/ShadowBlur.h: Added.
+ (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
+ (WebCore::ShadowBlur::shadowsIgnoreTransforms):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::clipBounds):
+
+2011-01-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ CSS3 gradients with em-based stops fail to repaint when font size changes
+ https://bugs.webkit.org/show_bug.cgi?id=51845
+
+ Mark as uncacheable gradidients whose color stops depend on font size,
+ and don't attempt to put these into CSSImageGeneratorValue's image cache.
+ This means we return a new gradient each time, which is fairly cheap, and
+ fixes repaint issues under changing font size.
+
+ Test: fast/repaint/gradients-em-stops-repaint.html
+
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientValue::image):
+ (WebCore::CSSGradientValue::isCacheable):
+ * css/CSSGradientValue.h:
+
+2011-01-29 Geoffrey Garen <ggaren@apple.com>
+
+ Undo try to fix the Qt build.
+
+ My guess didn't work.
+
+ * WebCore.pro:
+
+2011-01-29 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Qt build.
+
+ * WebCore.pro: Added platform/text/CharacterNames.h.
+
+2011-01-28 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Some more Heap cleanup.
+ https://bugs.webkit.org/show_bug.cgi?id=53357
+
+ Updated for JavaScriptCore changes.
+
+ * bindings/js/ScriptGCEvent.cpp:
+ (WebCore::ScriptGCEvent::getHeapSize):
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Fix XSSFilter crash when extracting the source for a token twice
+ https://bugs.webkit.org/show_bug.cgi?id=53368
+
+ Previously, it was unsafe to extract the source for the same token
+ twice because the HTMLSourceTracker would advance its internal
+ representation of the SegmentedString. This patch introduces a cache
+ to make calling HTMLSourceTracker::sourceForToken multiple times safe.
+
+ * html/parser/HTMLSourceTracker.cpp:
+ (WebCore::HTMLSourceTracker::end):
+ (WebCore::HTMLSourceTracker::sourceForToken):
+ * html/parser/HTMLSourceTracker.h:
+
+2011-01-29 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2
+ https://bugs.webkit.org/show_bug.cgi?id=53386
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::elasticDeltaForReboundDelta):
+ (WebCore::scrollWheelMultiplier):
+ (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
+ (WebCore::ScrollAnimatorMac::beginScrollGesture):
+ (WebCore::roundTowardZero):
+ (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
+
+2011-01-29 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
+ https://bugs.webkit.org/show_bug.cgi?id=53382
+
+ Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
+ So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
+ Therefore, we should remove such references.
+
+ * CMakeLists.txt:
+
+2011-01-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Fix 32-bit build on the Mac.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::roundTowardZero):
+ (WebCore::roundToDevicePixelTowardZero):
+ Use floats instead of doubles to avoid double-to-float conversion
+ issues.
+
+2011-01-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Use clampToInteger() functions in a few places
+ https://bugs.webkit.org/show_bug.cgi?id=53363
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index.
+ (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger().
+ * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto.
+ (WebCore::PerspectiveTransformOperation::blend): Ditto.
+
+2011-01-29 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Move CharacterNames.h into WTF directory
+ https://bugs.webkit.org/show_bug.cgi?id=49618
+
+ * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityObject.cpp:
+ * accessibility/AccessibilityRenderObject.cpp:
+ * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ * dom/Position.cpp:
+ * dom/SelectElement.cpp:
+ * editing/CompositeEditCommand.cpp:
+ * editing/Editor.cpp:
+ * editing/HTMLInterchange.cpp:
+ * editing/InsertTextCommand.cpp:
+ * editing/MarkupAccumulator.cpp:
+ * editing/TextIterator.cpp:
+ * editing/VisibleSelection.cpp:
+ * editing/htmlediting.cpp:
+ * editing/htmlediting.h:
+ * editing/markup.cpp:
+ * html/FTPDirectoryDocument.cpp:
+ * html/HTMLFormControlElement.cpp:
+ * html/parser/HTMLTreeBuilder.cpp:
+ * loader/appcache/ManifestParser.cpp:
+ * platform/chromium/PopupMenuChromium.cpp:
+ * platform/graphics/Font.h:
+ * platform/graphics/FontFastPath.cpp:
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ * platform/graphics/StringTruncator.cpp:
+ * platform/graphics/mac/ComplexTextController.cpp:
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ * platform/graphics/wince/GraphicsContextWinCE.cpp:
+ * platform/mac/PasteboardMac.mm:
+ * platform/text/TextCodecICU.cpp:
+ * platform/text/mac/TextCodecMac.cpp:
+ * platform/text/transcoder/FontTranscoder.cpp:
+ * rendering/RenderBlockLineLayout.cpp:
+ * rendering/RenderFlexibleBox.cpp:
+ * rendering/RenderListMarker.cpp:
+ * rendering/RenderText.cpp:
+ * rendering/RenderTextControl.cpp:
+ * rendering/RenderTreeAsText.cpp:
+ * rendering/break_lines.cpp:
+ * rendering/mathml/RenderMathMLOperator.h:
+ * websockets/WebSocketHandshake.cpp:
+ * wml/WMLTableElement.cpp:
+
+2011-01-29 Dan Winship <danw@gnome.org>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on
+ libsoup 2.33.1 now.
+ https://bugs.webkit.org/show_bug.cgi?id=50675
+
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::defaultCookieJar):
+ (WebCore::setCookies):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::prepareForURL):
+ (WebCore::restartedCallback):
+ (WebCore::startHttp):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::updateSoupMessage):
+ (WebCore::ResourceRequest::toSoupMessage):
+ (WebCore::ResourceRequest::updateFromSoupMessage):
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter should replace URLs with about:blank instead of the empty string
+ https://bugs.webkit.org/show_bug.cgi?id=53370
+
+ Using the empty string will make the URL complete to the current
+ document's URL, which isn't really what we want. Instead, we want to
+ use about:blank, which is safe.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterObjectToken):
+ (WebCore::XSSFilter::filterEmbedToken):
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter should pass xssAuditor/script-tag-addslashes*
+ https://bugs.webkit.org/show_bug.cgi?id=53365
+
+ We need to canonicalize strings to avoid being tricked by addslashes.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::isNonCanonicalCharacter):
+ - This function is copied from the XSSAuditor (with some tweaks).
+ We'll eventually remove the XSSAuditor once we've got XSSFilter
+ working properly.
+ (WebCore::HTMLNames::canonicalize):
+ (WebCore::HTMLNames::decodeURL):
+ (WebCore::XSSFilter::isContainedInRequest):
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html
+ and xssAuditor/script-tag-post-*
+ https://bugs.webkit.org/show_bug.cgi?id=53364
+
+ We're supposed to allow loading same-origin resources even if they
+ appear as part of the request.
+
+ Also, we're supposed to look at the POST data too. :)
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::eraseAttributeIfInjected):
+ (WebCore::XSSFilter::isSameOriginResource):
+ - Copy/paste from XSSAuditor::isSameOriginResource. We'll
+ eventually remove the XSSAuditor version when XSSFilter is done.
+ * html/parser/XSSFilter.h:
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter should pass 16 of the xssAuditor/script-tag* tests
+ https://bugs.webkit.org/show_bug.cgi?id=53362
+
+ Turns out we need to replace the src attribute of script tags with
+ about:blank to avoid loading the main document URL as a script. Also,
+ move misplaced return statement that was triggering the console message
+ too often.
+
+ * html/parser/HTMLToken.h:
+ (WebCore::HTMLToken::appendToAttributeValue):
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterScriptToken):
+ (WebCore::XSSFilter::eraseAttributeIfInjected):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Downloads in WK2 on Windows should write resume data to bundle
+ https://bugs.webkit.org/show_bug.cgi?id=53282
+ <rdar://problem/8753077>
+
+ Reviewed by Alice Liu.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ Added new files to project.
+
+ * platform/network/cf/DownloadBundle.h: Added.
+ * platform/network/win/DownloadBundleWin.cpp: Added.
+ (WebCore::DownloadBundle::magicNumber):
+ Moved from WebKit's WebDownload so that WebKit and WebKit2 can share
+ it.
+ (WebCore::DownloadBundle::fileExtension):
+ Ditto.
+ (WebCore::DownloadBundle::appendResumeData):
+ Ditto - but modified to return bool rather than HRESULT and to clean up
+ whitespace.
+ (WebCore::DownloadBundle::extractResumeData):
+ Ditto - modified to clean up whitespace.
+
+2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77050.
+ http://trac.webkit.org/changeset/77050
+ https://bugs.webkit.org/show_bug.cgi?id=53371
+
+ Caused a crash in Chromium's test_shell_tests (Requested by
+ rniwa on #webkit).
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
+ * html/parser/HTMLTreeBuilder.h:
+
+2011-01-28 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
+ https://bugs.webkit.org/show_bug.cgi?id=48719
+
+ It's unclear exactly what the Peacekeeper benchmark is testing,
+ because I haven't found a way to run it myself.
+
+ However, I constructed a benchmark which shows at least one possible slow point.
+ The HTML5 spec talks about creating a new document for every time we use
+ the fragment parsing algorithm. Document() it turns out, it a huge bloated
+ mess, and the constructor and destructor do a huge amount of work.
+ To avoid constructing (or destructing) documents for each innerHTML call,
+ this patch adds a shared dummy document used by all innerHTML calls.
+
+ This patch brings us from 7x slower than Safari 5 on tiny-innerHTML
+ to only 1.5x slower than Safari 5. I'm sure there is more work to do here.
+
+ Saving a shared Document like this is error prone. Currently
+ DummyDocumentFactory::releaseDocument() calls removeAllChildren()
+ in an attempt to clear the Document's state. However it's possible
+ that that call is not sufficient and we'll have future bugs here.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::DummyDocumentFactory::createDummyDocument):
+ (WebCore::DummyDocumentFactory::releaseDocument):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
+ * html/parser/HTMLTreeBuilder.h:
+
+2011-01-28 Johnny Ding <jnd@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript.
+ The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link.
+ https://bugs.webkit.org/show_bug.cgi?id=53244
+
+ Test: fast/events/popup-blocked-from-iframe-src.html
+
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+
+2011-01-28 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Add various clampToInt() methods to MathExtras.h
+ https://bugs.webkit.org/show_bug.cgi?id=52910
+
+ Use clampToInteger() from MathExtras.h
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseCounter):
+
+2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77006 and r77020.
+ http://trac.webkit.org/changeset/77006
+ http://trac.webkit.org/changeset/77020
+ https://bugs.webkit.org/show_bug.cgi?id=53360
+
+ "Broke Windows tests" (Requested by rniwa on #webkit).
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::createAccelerationObject):
+ (WebCore::createRotationRateObject):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * bridge/runtime_root.h:
+ * dom/Document.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ XSSFilter should log to the console when it blocks something
+ https://bugs.webkit.org/show_bug.cgi?id=53354
+
+ This patch refactors a bunch of methods in XSSFilter to return a bool
+ indicating whether they blocked anything. Using this bool, we decide
+ whether to log to the console. We're using the same log message as the
+ XSSAuditor, but it seems likely we can improve this message in the
+ future (especially by piping in the correct line number, which is now
+ accessible via the parser).
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::isNameOfInlineEventHandler):
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterTokenInitial):
+ (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
+ (WebCore::XSSFilter::filterScriptToken):
+ (WebCore::XSSFilter::filterObjectToken):
+ (WebCore::XSSFilter::filterEmbedToken):
+ (WebCore::XSSFilter::filterAppletToken):
+ (WebCore::XSSFilter::filterMetaToken):
+ (WebCore::XSSFilter::filterBaseToken):
+ (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Wire up settings->xssAuditorEnabled to XSSFilter
+ https://bugs.webkit.org/show_bug.cgi?id=53345
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::XSSFilter):
+ (WebCore::XSSFilter::filterToken):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter about <meta> and <base> tags
+ https://bugs.webkit.org/show_bug.cgi?id=53339
+
+ I'm not 100% sure we need to block <meta http-equiv>, but it seems
+ prudent given how powerful that attribute is. We definitely need to
+ block injection of <base href> because that can redirect script tags
+ that use relative URLs.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterMetaToken):
+ (WebCore::XSSFilter::filterBaseToken):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter about <applet>
+ https://bugs.webkit.org/show_bug.cgi?id=53338
+
+ HTML5 is pretty light on information about how the <applet> tag works.
+ According to this site:
+
+ http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
+
+ The "code" and "object" attributes are the essential attributes for
+ determining which piece of Java to run. We might need to expand to the
+ codebase and archive attributes at some point, but hopefully code and
+ object will be sufficient.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterAppletToken):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach the XSSFilter about object and embed tags
+ https://bugs.webkit.org/show_bug.cgi?id=53336
+
+ For <object> and <embed>, we filter out attribute values that either
+ indicate which piece of media to load or which plugin to load. In a
+ perfect world, we'd only need to filter out the URLs of the media, but
+ some plug-ins (like Flash) have lots of fun places you can hide the
+ URL (e.g., the "movie" <param>).
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterScriptToken):
+ (WebCore::XSSFilter::filterObjectToken):
+ (WebCore::XSSFilter::filterEmbedToken):
+ (WebCore::XSSFilter::eraseAttributeIfInjected):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Oliver Hunt <oliver@apple.com>
+
+ Fix Qt build.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+
+2011-01-28 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ CSS styles are shared based on uninitialized property values
+ https://bugs.webkit.org/show_bug.cgi?id=53285
+
+ Null test.
+
+ * dom/NamedNodeMap.cpp:
+ (WebCore::NamedNodeMap::mappedMapsEquivalent):
+
+2011-01-27 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Convert markstack to a slot visitor API
+ https://bugs.webkit.org/show_bug.cgi?id=53219
+
+ Update WebCore to the new marking apis, correct bindings
+ codegen.
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Added.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::globalData):
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/Document.h:
+
+2011-01-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Keyboard scrolling doesn’t work in WebKit2
+ <rdar://problem/8909672>
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
+ (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
+ Add additional necessary delegate methods.
+
+2011-01-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Re-land this patch with the missing null check that caused crashes in layout tests.
+
+ Changing cursor style has no effect until the mouse moves
+ https://bugs.webkit.org/show_bug.cgi?id=14344
+ rdar://problem/7563712
+
+ No tests added because we don't have infrastructure for testing actual cursor
+ changes (as opposed to cursor style computation) at this time. We might add it later.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
+ * page/EventHandler.h: Ditto.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::areNonIdenticalCursorListsEqual): Added.
+ (WebCore::areCursorsEqual): Added.
+ (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
+ cursor styles changed.
+
+2011-01-28 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ We should hold RefPtrs to SVG font faces
+ https://bugs.webkit.org/show_bug.cgi?id=53270
+
+ Test: svg/custom/use-multiple-on-nested-disallowed-font.html
+
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSFontFaceSource.h:
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::associatedFontElement):
+ * svg/SVGFontFaceElement.h:
+
+2011-01-28 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N
+ https://bugs.webkit.org/show_bug.cgi?id=53306
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
+
+2011-01-28 Tom Sepez <tsepez@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ NULL pointer crash in TextIterator::handleTextBox()
+ https://bugs.webkit.org/show_bug.cgi?id=53267
+
+ Test: fast/css/rtl-nth-child-first-letter-crash.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::handleTextBox):
+
+2011-01-28 Adrienne Walker <enne@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Remove a spurious diagnostic CRASH check.
+ https://bugs.webkit.org/show_bug.cgi?id=52379
+
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::invalidateRect):
+
+2011-01-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages
+ https://bugs.webkit.org/show_bug.cgi?id=19785
+
+ Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the
+ direction corresponding to the writing direction of the <select> element, with the checkmarks
+ on the "start" side, and use the <option>'s writing direction rather than "natural". Made the
+ pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(),
+ which returns true for this pop-up behavior.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
+ * manual-tests/pop-up-alignment-and-direction.html: Added.
+ * page/Chrome.cpp:
+ (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the
+ client.
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * platform/PopupMenuStyle.h:
+ (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member
+ variable initialization.
+ (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor.
+ * platform/mac/PopupMenuMac.mm:
+ (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment
+ to match the menu's writing direction. Set items' writing direction and direction override
+ according to their styles.
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer.
+ (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the
+ menu's writing direction, use that alignment for the button as well. Also in this mode, use the
+ item's writing direction and override setting.
+ (WebCore::RenderMenuList::setTextFromOption): Store the option element's style.
+ (WebCore::RenderMenuList::itemStyle): Pass the text direction override value.
+ (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's.
+ * rendering/RenderMenuList.h:
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value.
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter how to filter <script> elements
+ https://bugs.webkit.org/show_bug.cgi?id=53279
+
+ This patch adds the ability for the XSSFilter to block injected
+ <script> elements. Handling script elements is slightly subtle because
+ these elements act very differently depending on whether they have a
+ src attribute.
+
+ In the "src case", which check whether the src attribute was present in
+ the request. In the "non-src case", we check whether the start tag and
+ the body of the script element was included in the request. Checking
+ for the whole start tag means we miss out on some attribute splitting
+ attacks inside of script tags, but that doesn't seem like that big a
+ deal.
+
+ This patch also introduces some amount of state into the XSSFilter
+ because inline script elements span multiple tokens. There's a lot of
+ tuning and optimization left in these cases, some of which I've noted
+ with FIXMEs.
+
+ To test this patch, I played around with some of the existing
+ XSSAuditor tests. Hopefully I'll be able to run the test suite more
+ systematically in the future.
+
+ * html/parser/HTMLToken.h:
+ (WebCore::HTMLToken::eraseCharacters):
+ (WebCore::HTMLToken::eraseValueOfAttribute):
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::hasName):
+ (WebCore::HTMLNames::findAttributeWithName):
+ (WebCore::HTMLNames::isNameOfScriptCarryingAttribute):
+ (WebCore::XSSFilter::XSSFilter):
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
+ (WebCore::XSSFilter::filterScriptToken):
+ (WebCore::XSSFilter::snippetForRange):
+ (WebCore::XSSFilter::snippetForAttribute):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Sketch out new XSS filter design (disabled by default)
+ https://bugs.webkit.org/show_bug.cgi?id=53205
+
+ This patch adds a basic sketch of the new XSS filter design. Rather
+ than watching scripts as they execute, in this design, we watch tokens
+ emitted by the tokenizer. We then map the tokens directly back into
+ input characters, which lets us skip all the complicated logic related
+ to HTML entities and double-decoding of JavaScript URLs.
+
+ This patch contains only the bare essentially machinery. I'll add more
+ in future patches and eventually remove the previous code once this
+ code is up and running correctly.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ (WebCore::HTMLDocumentParser::sourceForToken):
+ * html/parser/HTMLDocumentParser.h:
+ * html/parser/XSSFilter.cpp: Added.
+ * html/parser/XSSFilter.h: Added.
+
+2011-01-28 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
+ https://bugs.webkit.org/show_bug.cgi?id=53271
+
+ Reapplying this patch with the change that the second ASSERT in
+ RootObject::removeRuntimeObject was changed to use
+ .uncheckedGet() instead of the failing .get(). The object in question
+ could be in the process of being GC'ed. The get() call will not return
+ such an object while the uncheckedGet() call will return the (unsafe)
+ object. This is the behavior we want.
+
+ Precautionary change.
+ Changed RootObject to use WeakGCMap instead of HashSet.
+ Found will looking for another issue, but can't produce a test case
+ that is problematic. THerefore there aren't any new tests.
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-28 Adam Roben <aroben@apple.com>
+
+ Notify CACFLayerTreeHost when the context is flushed
+
+ LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation
+ timers were never starting.
+
+ Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and
+ 76858 broke ~36 animations, compositing, and transitions tests
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
+ (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we
+ start our render timer.
+
+2011-01-28 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Remove dead code that tried to map from CSS values to parser values
+ https://bugs.webkit.org/show_bug.cgi?id=53318
+
+ * css/CSSFunctionValue.cpp:
+ * css/CSSFunctionValue.h:
+ * css/CSSPrimitiveValue.cpp:
+ * css/CSSPrimitiveValue.h:
+ * css/CSSValue.h:
+ * css/CSSValueList.cpp:
+ * css/CSSValueList.h:
+
+2011-01-28 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Some drag and drop tests fail since r76824
+ https://bugs.webkit.org/show_bug.cgi?id=53304
+
+ There were '||' instead of '&&' in the checks for valid
+ clipboard content.
+
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::getData):
+ (WebCore::ClipboardWin::types):
+ (WebCore::ClipboardWin::files):
+
+2011-01-28 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory
+ https://bugs.webkit.org/show_bug.cgi?id=52889
+
+ Build fix for WebAudio. Include WebAudio source files on the source
+ list when WebAudio is enabled.
+
+ * GNUmakefile.am: Include missing source files.
+
+2011-01-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add basic rubber banding support
+ <rdar://problem/8219429>
+ https://bugs.webkit.org/show_bug.cgi?id=53277
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureEvent):
+ Pass gesture events to the FrameView.
+
+ * platform/ScrollAnimator.cpp:
+ (WebCore::ScrollAnimator::handleGestureEvent):
+ * platform/ScrollAnimator.h:
+ Add stubbed out implementation.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::overhangAmount):
+ (WebCore::ScrollView::wheelEvent):
+ * platform/ScrollView.h:
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::ScrollableArea):
+ (WebCore::ScrollableArea::handleGestureEvent):
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::constrainsScrollingToContentEdge):
+ (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge):
+ Move constrains scrolling bit to ScrollableArea from ScrollView.
+
+ (WebCore::ScrollableArea::contentsSize):
+ (WebCore::ScrollableArea::overhangAmount):
+ Add additional virtual functions for information needed by the animator.
+
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
+ (WebCore::elasticDeltaForTimeDelta):
+ (WebCore::elasticDeltaForReboundDelta):
+ (WebCore::reboundDeltaForElasticDelta):
+ (WebCore::scrollWheelMultiplier):
+ (WebCore::ScrollAnimatorMac::handleWheelEvent):
+ (WebCore::ScrollAnimatorMac::handleGestureEvent):
+ (WebCore::ScrollAnimatorMac::pinnedInDirection):
+ (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
+ (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
+ (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
+ (WebCore::ScrollAnimatorMac::beginScrollGesture):
+ (WebCore::ScrollAnimatorMac::endScrollGesture):
+ (WebCore::ScrollAnimatorMac::snapRubberBand):
+ (WebCore::roundTowardZero):
+ (WebCore::roundToDevicePixelTowardZero):
+ (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
+ Implement basic rubber banding.
+
+2011-01-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Changing unicode-bidi doesn’t force layout
+ https://bugs.webkit.org/show_bug.cgi?id=53311
+
+ Test: fast/dynamic/unicode-bidi.html
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ.
+
+2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
+ https://bugs.webkit.org/show_bug.cgi?id=53122
+
+ This is the first step in converting HTMLMediaElement to the new shadow DOM.
+
+ Should not regress any existing tests. No observable change in behavior.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
+ (WebCore::nameToPseudoTypeMap): Ditto.
+ (WebCore::CSSSelector::extractPseudoType): Ditto.
+ * css/CSSSelector.h: Ditto.
+ * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
+ which is now replaced with virtual shadowPseudoId on each corresponding class.
+ (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
+ (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
+ display type in constructor.
+ (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
+ to disambiguate from the MediaControlMuteButtonElement.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
+ (WebCore::MediaControlSeekForwardButtonElement::create): Added.
+ (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
+ (WebCore::MediaControlSeekBackButtonElement::create): Added.
+ (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
+ (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
+ (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
+ * rendering/MediaControlElements.h:
+ (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
+ (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
+ (WebCore::RenderMedia::createSeekBackButton): Ditto.
+ (WebCore::RenderMedia::createSeekForwardButton): Ditto.
+ (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
+ * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
+
+2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Split MediaControls out of RenderMedia.
+ https://bugs.webkit.org/show_bug.cgi?id=53252
+
+ Near-mechanical moving of stuff, no change in behavior, thus no new tests.
+
+ * Android.mk: Added MediaControls to build system.
+ * CMakeLists.txt: Ditto.
+ * GNUmakefile.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls.
+ * html/shadow/MediaControls.cpp: Copied all controls-related methods from
+ Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls.
+ * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls.
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls.
+ (WebCore::RenderMedia::destroy): Changed to use MediaControls.
+ (WebCore::RenderMedia::styleDidChange): Ditto.
+ (WebCore::RenderMedia::layout): Ditto.
+ (WebCore::RenderMedia::updateFromElement): Ditto.
+ * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which
+ is only used by sub-class RenderVideo.
+ (WebCore::RenderMedia::controls): Added.
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement().
+ (WebCore::RenderVideo::calculateIntrinsicSize): Ditto.
+ (WebCore::RenderVideo::paintReplaced): Ditto.
+ (WebCore::RenderVideo::updatePlayer): Ditto.
+ (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto.
+ (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto.
+
+2011-01-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: allow remote debugging with front-end
+ served from the cloud.
+ https://bugs.webkit.org/show_bug.cgi?id=53303
+
+ * inspector/front-end/inspector.js:
+
+2011-01-28 Aparna Nandyal <aparna.nand@wipro.com>
+
+ Reviewed by Andreas Kling.
+
+ Setting value of m_PressedPos to make scrolling smooth
+
+ Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler.
+ https://bugs.webkit.org/show_bug.cgi?id=51349
+
+ The value of m_PressedPos was getting set before moveThumb() call
+ in all other scenarios except when "Scroll Here" option is used.
+ Hence scrolling with this option was not as expected even in cases
+ where scrolling was happening. The thumb would move in unexpected
+ direction. m_PressedPos is now set to pressed position so delta is
+ calculated.
+ Unable to write a test case as the test needs to click on "Scroll
+ Here" option of context sensitive menu and QTest is unable to do it.
+ Besides no new functionality introduced.
+
+ * platform/qt/ScrollbarQt.cpp:
+ (WebCore::Scrollbar::contextMenu):
+
+2011-01-28 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Extensions API] add JSON schema for extensions API
+ https://bugs.webkit.org/show_bug.cgi?id=53236
+
+ * inspector/front-end/ExtensionAPISchema.json: Added.
+
+2011-01-27 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Remove _LENGTH enumerants
+ https://bugs.webkit.org/show_bug.cgi?id=53259
+
+ * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH.
+ (WebCore::WebGLRenderingContext::getProgramParameter):
+ (WebCore::WebGLRenderingContext::getShaderParameter):
+ * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH.
+
+2011-01-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: syntax highlight inline JS and CSS in HTML resources
+ https://bugs.webkit.org/show_bug.cgi?id=30831
+
+ * inspector/front-end/SourceHTMLTokenizer.js:
+ (WebInspector.SourceHTMLTokenizer):
+ (WebInspector.SourceHTMLTokenizer.prototype.set line):
+ (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceHTMLTokenizer.re2js:
+
+2011-01-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword
+ https://bugs.webkit.org/show_bug.cgi?id=53295
+
+ Select the current word suffix before switching to the next suggestion.
+
+ * inspector/front-end/StylesSidebarPane.js:
+ ():
+
+2011-01-28 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Fix dist compilation for the release
+ https://bugs.webkit.org/show_bug.cgi?id=53290
+
+ * GNUmakefile.am: Added inspector files to the extra dist.
+
+2011-01-28 Ilya Sherman <isherman@chromium.org>
+
+ Reviewed by Andreas Kling.
+
+ Const-correct HTMLSelectElement and WebSelectElement
+ https://bugs.webkit.org/show_bug.cgi?id=53293
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::value): const.
+ * html/HTMLSelectElement.h:
+
+2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76893.
+ http://trac.webkit.org/changeset/76893
+ https://bugs.webkit.org/show_bug.cgi?id=53287
+
+ It made some tests crash on GTK and Qt debug bots (Requested
+ by Ossy on #webkit).
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-27 Greg Coletta <greg.coletta@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Get rid of prefix header dependency for WebKit2 build system
+ https://bugs.webkit.org/show_bug.cgi?id=50174
+
+ Guard EmptyProtocalDefinitions.h to make sure it's not included twice.
+
+ * platform/mac/EmptyProtocolDefinitions.h:
+
+2011-01-27 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Recalc table sections if needed before calculating the first line
+ box baseline.
+ https://bugs.webkit.org/show_bug.cgi?id=53265
+
+ When we try to calculate the baseline position of a table cell,
+ we recurse through all the child sibling boxes (when children are
+ non inline) and add their first linebox baseline values. If one of
+ the children is a table with pending section recalc, we will access
+ wrong table section values. We recalc table sections if it is needed.
+
+ Test: fast/table/recalc-section-first-body-crash-main.html
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::firstLineBoxBaseline):
+
+2011-01-27 Adrienne Walker <enne@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Add CRASH calls to further debug tiled compositor memcpy crash.
+ https://bugs.webkit.org/show_bug.cgi?id=52379
+
+ Test: LayoutTests/compositing (to verify these weren't triggered)
+
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::invalidateRect):
+ (WebCore::LayerTilerChromium::update):
+
+2011-01-27 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact
+ https://bugs.webkit.org/show_bug.cgi?id=53242
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype):
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76891.
+ http://trac.webkit.org/changeset/76891
+ https://bugs.webkit.org/show_bug.cgi?id=53280
+
+ Makes every layout test crash (Requested by othermaciej on
+ #webkit).
+
+ * page/EventHandler.cpp:
+ * page/EventHandler.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleDidChange):
+
+2011-01-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed, rolling out r76839.
+ http://trac.webkit.org/changeset/76839
+ https://bugs.webkit.org/show_bug.cgi?id=49744
+
+ broke pixel tests
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+
+2011-01-27 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ contentEditable formatBlock crashes on divs with contenteditable="false"
+ https://bugs.webkit.org/show_bug.cgi?id=53263
+
+ Check if editableRootForPosition returns null for position.
+
+ Test: editing/execCommand/format-block-contenteditable-false.html
+
+ * editing/FormatBlockCommand.cpp:
+ (WebCore::FormatBlockCommand::formatRange):
+
+2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove RenderMedia members that aren't used.
+ https://bugs.webkit.org/show_bug.cgi?id=53245
+
+ Refactoring, no change in behavior, so no new tests.
+
+ * rendering/RenderMedia.h: Removed unused member variables.
+
+2011-01-27 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
+ https://bugs.webkit.org/show_bug.cgi?id=53271
+
+ Precautionary change.
+ Changed RootObject to use WeakGCMap instead of HashSet.
+ Found will looking for another issue, but can't produce a test case
+ that is problematic. THerefore there aren't any new tests.
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-27 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Rename Typed Array slice() to subset()
+ https://bugs.webkit.org/show_bug.cgi?id=53273
+
+ * bindings/js/JSArrayBufferViewHelper.h:
+ (WebCore::constructArrayBufferView):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore::constructWebGLArray):
+ * html/canvas/Float32Array.cpp:
+ (WebCore::Float32Array::subset):
+ * html/canvas/Float32Array.h:
+ * html/canvas/Float32Array.idl:
+ * html/canvas/Int16Array.cpp:
+ (WebCore::Int16Array::subset):
+ * html/canvas/Int16Array.h:
+ * html/canvas/Int16Array.idl:
+ * html/canvas/Int32Array.cpp:
+ (WebCore::Int32Array::subset):
+ * html/canvas/Int32Array.h:
+ * html/canvas/Int32Array.idl:
+ * html/canvas/Int8Array.cpp:
+ (WebCore::Int8Array::subset):
+ * html/canvas/Int8Array.h:
+ * html/canvas/Int8Array.idl:
+ * html/canvas/TypedArrayBase.h:
+ (WebCore::TypedArrayBase::subsetImpl):
+ * html/canvas/Uint16Array.cpp:
+ (WebCore::Uint16Array::subset):
+ * html/canvas/Uint16Array.h:
+ * html/canvas/Uint16Array.idl:
+ * html/canvas/Uint32Array.cpp:
+ (WebCore::Uint32Array::subset):
+ * html/canvas/Uint32Array.h:
+ * html/canvas/Uint32Array.idl:
+ * html/canvas/Uint8Array.cpp:
+ (WebCore::Uint8Array::subset):
+ * html/canvas/Uint8Array.h:
+ * html/canvas/Uint8Array.idl:
+
+2011-01-27 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Changing cursor style has no effect until the mouse moves
+ https://bugs.webkit.org/show_bug.cgi?id=14344
+ rdar://problem/7563712
+
+ No tests added because we don't have infrastructure for testing actual cursor
+ changes (as opposed to cursor style computation) at this time. We might add it later.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
+ * page/EventHandler.h: Ditto.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::areNonIdenticalCursorListsEqual): Added.
+ (WebCore::areCursorsEqual): Added.
+ (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
+ cursor styles changed.
+
+2011-01-27 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ Reviewed by Dirk Schulze.
+
+ SVG Use Cycle is not detected
+ https://bugs.webkit.org/show_bug.cgi?id=52544
+
+ We should check if SVGUseElement::buildInstanceTree finds problem
+ for every child node. If it finds problem for any children we must
+ return immediately because otherwise the foundProblem variable may
+ be rewritten to false.
+
+ Test: svg/custom/recursive-use2.svg
+
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::buildInstanceTree):
+
+2011-01-27 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call
+ https://bugs.webkit.org/show_bug.cgi?id=53054
+
+ Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match.
+
+2011-01-27 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Add fullscreen media control button for html video
+ https://bugs.webkit.org/show_bug.cgi?id=51543
+
+ Implement media control fullscreen button for QtWebKit html5 video.
+
+ * css/mediaControlsQt.css:
+ (video::-webkit-media-controls-fullscreen-button):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::paintMediaFullscreenButton):
+
+2011-01-27 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Remove FrameLoader::url() and update callers to use
+ Document::url().
+ https://bugs.webkit.org/show_bug.cgi?id=41165
+
+ Refactor, no new tests.
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ (WebCore::Document::processHttpEquiv):
+ (WebCore::Document::removePendingSheet):
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrameBase::CachedFrameBase):
+ * history/PageCache.cpp:
+ (WebCore::logCanCacheFrameDecision):
+ (WebCore::PageCache::canCachePageContainingThisFrame):
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::inspectedURL):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForFrame):
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::replaceDocument):
+ (WebCore::DocumentWriter::deprecatedFrameEncoding):
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h:
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::updateForStandardLoad):
+ (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
+ (WebCore::HistoryController::updateForSameDocumentNavigation):
+ * loader/NavigationScheduler.cpp:
+ (WebCore::ScheduledHistoryNavigation::fire):
+ (WebCore::NavigationScheduler::scheduleLocationChange):
+ (WebCore::NavigationScheduler::scheduleRefresh):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateControlTints):
+ * page/Location.cpp:
+ (WebCore::Location::url):
+ (WebCore::Location::setProtocol):
+ (WebCore::Location::setHost):
+ (WebCore::Location::setHostname):
+ (WebCore::Location::setPort):
+ (WebCore::Location::setPathname):
+ (WebCore::Location::setSearch):
+ (WebCore::Location::setHash):
+ (WebCore::Location::reload):
+ * page/Page.cpp:
+ (WebCore::Page::goToItem):
+
+2011-01-27 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix performance regression in ImageQualityController::objectDestroyed().
+ https://bugs.webkit.org/show_bug.cgi?id=52645
+
+ In r72282, I inadvertently introduced this regression by using a
+ linear search through the hash map on object destruction. This was
+ because the hash key consisted of both object pointer and layer id,
+ but on object destruction we only know the object pointer, requiring
+ a search to find all the layers.
+ By replacing the hash map with two nested hash maps, where the outer key
+ is the object and the inner key is the layer, we can find all the
+ relevant data for an object in one hash lookup.
+
+ * rendering/RenderBoxModelObject.cpp:
+ Replace the (object,layer)->size HashMap with object->layer and
+ layer->size HashMaps.
+ (WebCore::ImageQualityController::isEmpty):
+ Implement isEmpty() for the outer HashMap.
+ (WebCore::ImageQualityController::removeLayer):
+ When a layer is removed, remove it from the inner hash map.
+ (WebCore::ImageQualityController::set):
+ Implement set(): if the inner map exists, set the layer->size tuple
+ directly. If not, create a new inner map, set the tuple, and insert
+ it in the outer map.
+ (WebCore::ImageQualityController::objectDestroyed):
+ Look up the object in the outer map only.
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ Cosmetic changes for the renamed now-outer hash map.
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ Do both outer and inner hash map lookups. Call set() to add/update
+ entries to the hash maps. keyDestroyed() is now removeLayer().
+ (WebCore::imageQualityController):
+ Make the ImageQualityController a file-static global, so it can be
+ created and destroyed on the fly.
+ (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
+ If there is no ImageQualityController, don't call objectDestroyed().
+ If it's empty, delete it.
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintIntoRect):
+ Also pass the Image* as the (void*) layer, since 0 is not a valid
+ HashMap key.
+
+2011-01-27 Adrienne Walker <enne@google.com>
+
+ Reviewed by James Robinson.
+
+ [chromium] Tiled compositor crashes if compositing turned off mid-paint
+ https://bugs.webkit.org/show_bug.cgi?id=53198
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawLayers):
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::update):
+ (WebCore::LayerTilerChromium::draw):
+
+2011-01-27 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ A corrupted counter tree is created when renderers are added to the
+ tree bypassing RenderObject::addChild
+ https://bugs.webkit.org/show_bug.cgi?id=51270
+
+ No new tests. This patch reimplements the fix for bugs 43812 and
+ 51637 and hence all tests are already there as part of the original
+ fixes for those bugs.
+
+ * rendering/RenderCounter.cpp:
+ (WebCore::findPlaceForCounter):
+ Removed old workaround as this patch hopefully fixes the real
+ problem.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::addChild):
+ Removed call to counter updater as it was moved to a lower level.
+ (WebCore::RenderObject::destroy):
+ Moved attached counter nodes destruction to after the node is
+ removed from the tree.
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode):
+ (WebCore::RenderObjectChildList::appendChildNode):
+ (WebCore::RenderObjectChildList::insertChildNode):
+ Added notifications to the Counter system such that the
+ CounterForest reflects the changes to the RendererTree.
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::destroy):
+ Applied the same changes as for RenderObject::destroy()
+ since RenderObject::destroy() is not called from here.
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Add WKCACFViewLayerTreeHost
+
+ This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render.
+
+ Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use
+ WKCACFView for rendering
+
+ * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a
+ non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window,
+ so we need a non-empty window to perform a valid test.
+ (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then
+ fall back to a LegacyCACFLayerTreeHost.
+ (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the
+ context flush from here...
+ (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to
+ call this function whenever changes are flushed to the context.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange.
+
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
+ (WebCore::LegacyCACFLayerTreeHost::createRenderer):
+ (WebCore::LegacyCACFLayerTreeHost::resize):
+ Changed to use flushContext instead of flushing the context manually so that we will always
+ notify the base class when the context gets flushed.
+
+ (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the
+ base class will know what happened. Moved code to schedule a render from here...
+ (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here.
+
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange.
+
+ * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added.
+ (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides
+ WKCACFView, isn't present, bail. Otherwise allocate and return a new host.
+ (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members.
+ (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously
+ marked that we needed to do so, and flush the context if our layer's bounds have changed.
+ (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to
+ contextDidChange.
+ (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering
+ (if we didn't already), then call up to the base class.
+ (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the
+ view's layer, and hook up our "context did change" callback.
+ (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next
+ time we paint.
+ (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is
+ able to render or not.
+ (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down
+ to the view.
+ (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view.
+ (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto.
+ (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right
+ size, then call up to the base class.
+ (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty
+ rects, then ask it to draw.
+
+ * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h.
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Move LegacyCACFLayerTreeHost into its own files
+
+ More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
+ should use WKCACFView for rendering
+
+ Reviewed by Simon Fraser.
+
+ * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files.
+
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added.
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added.
+
+2011-01-27 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r76824.
+
+ * platform/wince/DragDataWinCE.cpp:
+ (WebCore::DragData::dragDataMap):
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Split CACFLayerTreeHost into base and derived classes
+
+ The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch
+ will add a new derived class that replaces the D3D code with a different rendering API.
+
+ For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a
+ little smaller. A later patch will move it to its own source files.
+
+ Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
+ should use WKCACFView for rendering
+
+ Reviewed by Simon Fraser.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before
+ destroying the host, as that is now the API contract that clients must fulfill.
+ (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator.
+ (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the
+ new initialize function to perform initialization that has to happen after the vtable has
+ been set up.
+
+ (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
+ (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
+ (WebCore::LegacyCACFLayerTreeHost::initializeContext):
+ (WebCore::CACFLayerTreeHost::initialize):
+ Moved some initialization code from the CACFLayerTreeHost constructor into these new
+ functions.
+
+ (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from
+ ~CACFLayerTreeHost.
+ (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this
+ point (which would be too late, since we won't be able to call into the derived class's
+ virtual functions), just assert that it has already been cleared (or was never set in the
+ first place).
+ (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from
+ CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing
+ CACFLayerTreeHost's data members directly.
+
+ (WebCore::LegacyCACFLayerTreeHost::destroyRenderer):
+ (WebCore::CACFLayerTreeHost::destroyRenderer):
+ Moved some code to the new LegacyCACFLayerTreeHost function.
+
+ (WebCore::LegacyCACFLayerTreeHost::resize):
+ (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
+ Moved these functions to LegacyCACFLayerTreeHost.
+
+ (WebCore::LegacyCACFLayerTreeHost::paint):
+ (WebCore::CACFLayerTreeHost::paint):
+ Moved some code to the new LegacyCACFLayerTreeHost function.
+
+ (WebCore::LegacyCACFLayerTreeHost::render):
+ (WebCore::LegacyCACFLayerTreeHost::renderSoon):
+ Moved these functions to LegacyCACFLayerTreeHost.
+
+ (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context
+ from here...
+ (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function.
+
+ (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time
+ to this new function...
+ (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here.
+
+ (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry):
+ (WebCore::LegacyCACFLayerTreeHost::resetDevice):
+ Moved these functions to LegacyCACFLayerTreeHost.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some
+ members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more
+ logically, and added some getters used by LegacyCACFLayerTreeHost.
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Move CACFLayerTreeHostClient to its own header file
+
+ Rubber-stamped by Steve Falkenburg.
+
+ * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way
+ with the file.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient.
+
+ * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added.
+
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here
+ from the header file.
+
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes
+ with more specific ones, plus a forward-declaration.
+
+2011-01-27 James Simonsen <simonjam@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Simplify small caps logic in complex text on linux
+ https://bugs.webkit.org/show_bug.cgi?id=53207
+
+ Test: fast/text/atsui-multiple-renderers.html
+ fast/text/atsui-small-caps-punctuation-size.html
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes.
+ (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above.
+
+2011-01-27 Adam Barth <abarth@webkit.org>
+
+ In which I attempt to fix the EFL build.
+
+ * CMakeLists.txt:
+
+2011-01-25 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Adding border and padding to the calculation of the local caret rect for RenderBoxes.
+ Corrected for mistake in r76625
+
+ Undo moves caret to invalid position
+ https://bugs.webkit.org/show_bug.cgi?id=49744
+
+ Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
+ editing/selection/caret-painting-after-paste-undo.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76825.
+ http://trac.webkit.org/changeset/76825
+ https://bugs.webkit.org/show_bug.cgi?id=53256
+
+ "caused crashes on GTK and chromium" (Requested by rniwa on
+ #webkit).
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::ImageQualityController::keyDestroyed):
+ (WebCore::ImageQualityController::objectDestroyed):
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ (WebCore::imageQualityController):
+ (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
+
+2011-01-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Generalize the mechanism view-source uses to remember the source for an HTMLToken
+ https://bugs.webkit.org/show_bug.cgi?id=53200
+
+ Currently view-source tracks the source associated with each HTMLToken.
+ We want to re-use this mechanism for the new XSS auditor. This patch
+ moves this code into its own class so it can be shared between the
+ view-source parser and the general HTML parser. This patch also add
+ support for tracking the source of tokens that span document.write
+ boundaries.
+
+ No functional change. This code change is somewhat tested by our
+ view-source layout tests.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ - Fun with updating build files.
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ - Teach HTMLDocumentParser to track the source for HTMLTokens.
+ Currently, this information isn't used, but it will be shortly.
+ I ran the HTML parser benchmark and this change didn't have a
+ measurable effect.
+ * html/parser/HTMLDocumentParser.h:
+ - Composite in the HTMLSourceTracker.
+ * html/parser/HTMLSourceTracker.cpp: Added.
+ (WebCore::HTMLSourceTracker::HTMLSourceTracker):
+ (WebCore::HTMLSourceTracker::start):
+ (WebCore::HTMLSourceTracker::end):
+ - This function should eventualy be folded into HTMLTokenizer.
+ (WebCore::HTMLSourceTracker::sourceForToken):
+ * html/parser/HTMLSourceTracker.h: Added.
+ * html/parser/HTMLToken.h:
+ - Now HTMLTokens always have a start index of zero. To do the job
+ of the old start index, this patch introduces the notion of a
+ baseOffset. Unlike the start index (which was used as the base
+ offset for all the other indicies), the baseOffset can change
+ over the lifetime of the token. We need the flexibility to
+ change the offset for tokens that span document.write boundaries.
+ Values are now normalized to zero-offset when stored.
+ (WebCore::HTMLToken::clear):
+ (WebCore::HTMLToken::setBaseOffset):
+ (WebCore::HTMLToken::end):
+ (WebCore::HTMLToken::beginAttributeName):
+ (WebCore::HTMLToken::endAttributeName):
+ (WebCore::HTMLToken::beginAttributeValue):
+ (WebCore::HTMLToken::endAttributeValue):
+ * html/parser/HTMLViewSourceParser.cpp:
+ - Updates the HTMLViewSourceParser to use the new
+ HTMLSourceTracker.
+ (WebCore::HTMLViewSourceParser::pumpTokenizer):
+ (WebCore::HTMLViewSourceParser::append):
+ (WebCore::HTMLViewSourceParser::sourceForToken):
+ - This function now just calls through to HTMLSourceTracker.
+ * html/parser/HTMLViewSourceParser.h:
+ * platform/text/SegmentedString.cpp:
+ (WebCore::SegmentedString::currentColumn):
+ (WebCore::SegmentedString::setCurrentPosition):
+ * platform/text/SegmentedString.h:
+ (WebCore::SegmentedString::numberOfCharactersConsumed):
+ - We need to handle the general case now. The "slow" version
+ doesn't turn out to be any slower in practice anyway.
+
+2011-01-27 Sam Weinig <sam@webkit.org>
+
+ Fix all the builds.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paintOverhangAreas): Add parameters.
+
+2011-01-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Add ability to do an unconstrained scroll on a ScrollView
+ https://bugs.webkit.org/show_bug.cgi?id=53249
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ Initialize m_constrainsScrollingToContentEdge to true.
+
+ (WebCore::ScrollView::setScrollOffset):
+ Only constrain the offset if the m_constrainsScrollingToContentEdge is set.
+
+ (WebCore::ScrollView::updateScrollbars):
+ Simplify expression converting an IntSize to an IntPoint.
+
+ (WebCore::ScrollView::paint):
+ Paint the overhang if there is any.
+
+ (WebCore::ScrollView::calculateOverhangAreasForPainting):
+ Calculate the overhang in viewport coordinates for painting.
+
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::constrainsScrollingToContentEdge):
+ (WebCore::ScrollView::setConstrainsScrollingToContentEdge):
+ Add bit to control whether the scroll position should be constrained
+ to the content edge when set.
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::usedTotalSize):
+ (WebCore::ScrollbarThemeComposite::thumbPosition):
+ (WebCore::ScrollbarThemeComposite::thumbLength):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+ Improve calculations of thumb size and position to take overhang into account.
+
+2011-01-27 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG animation of Paths with segments of different coordinate modes on begin and end
+ https://bugs.webkit.org/show_bug.cgi?id=52984
+
+ At the moment we just support SVG path animations, if the number of segments on the given start path
+ is the same as the number of segments on the given end path. But a segment on a given position must be identical
+ on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical.
+ If MoveToRel is on the second position on the start path a MoveToRel must be on the second position
+ of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel
+ in the start path, we can use MoveToAbs on the same position in the end path.
+
+ This patch fixes the blending code to follow the spec here. It was necessary to track the current position of
+ both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back
+ to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the
+ animation.
+
+ Tests: svg/animations/animate-path-animation-Cc-Ss.html
+ svg/animations/animate-path-animation-Ll-Vv-Hh.html
+ svg/animations/animate-path-animation-Qq-Tt.html
+ svg/animations/animate-path-animation-cC-sS-inverse.html
+ svg/animations/animate-path-animation-lL-vV-hH-inverse.html
+ svg/animations/animate-path-animation-qQ-tT-inverse.html
+
+ * svg/SVGPathBlender.cpp:
+ (WebCore::blendFloatPoint):
+ (WebCore::blendAnimatedFloat):
+ (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat):
+ (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
+ (WebCore::SVGPathBlender::blendMoveToSegment):
+ (WebCore::SVGPathBlender::blendLineToSegment):
+ (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
+ (WebCore::SVGPathBlender::blendLineToVerticalSegment):
+ (WebCore::SVGPathBlender::blendCurveToCubicSegment):
+ (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
+ (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
+ (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
+ (WebCore::SVGPathBlender::blendArcToSegment):
+ (WebCore::coordinateModeOfCommand):
+ (WebCore::isSegmentEqual):
+ (WebCore::SVGPathBlender::blendAnimatedPath):
+ (WebCore::SVGPathBlender::cleanup):
+ * svg/SVGPathBlender.h:
+
+2011-01-27 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Clear the parent on a css keyframe's m_style when removing it from the stylesheet.
+ https://bugs.webkit.org/show_bug.cgi?id=52320
+
+ Test: fast/css/css-keyframe-style-crash.html
+
+ * css/CSSRuleList.cpp:
+ (WebCore::CSSRuleList::deleteRule):
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
+
+2011-01-27 Rob Buis <rwlbuis@gmail.com>
+
+ Reviewed by Kent Tamura.
+
+ Color changes to option elements in a select multiple aren't drawn immediately
+ https://bugs.webkit.org/show_bug.cgi?id=49790
+
+ Redirect style changes on <option> element to the owner <select> element.
+
+ Test: fast/repaint/select-option-background-color.html
+
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::setRenderStyle):
+
+2011-01-19 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix performance regression in ImageQualityController::objectDestroyed().
+ https://bugs.webkit.org/show_bug.cgi?id=52645
+
+ In r72282, I inadvertently introduced this regression by using a
+ linear search through the hash map on object destruction. This was
+ because the hash key consisted of both object pointer and layer id,
+ but on object destruction we only know the object pointer, requiring
+ a search to find all the layers.
+ By replacing the hash map with two nested hash maps, where the outer key
+ is the object and the inner key is the layer, we can find all the
+ relevant data for an object in one hash lookup.
+
+ * rendering/RenderBoxModelObject.cpp:
+ Replace the (object,layer)->size HashMap with object->layer and
+ layer->size HashMaps.
+ (WebCore::ImageQualityController::isEmpty):
+ Implement isEmpty() for the outer HashMap.
+ (WebCore::ImageQualityController::removeLayer):
+ When a layer is removed, remove it from the inner hash map.
+ (WebCore::ImageQualityController::set):
+ Implement set(): if the inner map exists, set the layer->size tuple
+ directly. If not, create a new inner map, set the tuple, and insert
+ it in the outer map.
+ (WebCore::ImageQualityController::objectDestroyed):
+ Look up the object in the outer map only.
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ Cosmetic changes for the renamed now-outer hash map.
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ Do both outer and inner hash map lookups. Call set() to add/update
+ entries to the hash maps. keyDestroyed() is now removeLayer().
+ (WebCore::imageQualityController):
+ Make the ImageQualityController a file-static global, so it can be
+ created and destroyed on the fly.
+ (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
+ If there is no ImageQualityController, don't call objectDestroyed().
+ If it's empty, delete it.
+
+
+2011-01-26 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler and Adam Roben.
+
+ WebKit2: add support for drag and drop on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=52775
+ <rdar://problem/8514409>
+
+ On Windows the access to the content being dragged is
+ provided via the IDataObject interface that is made available
+ to the window that registers itself as drop target.
+ Since this interface cannot be accessed from the WebProcess,
+ in every call to one of the methods of the IDropTarget interface
+ we serialize the content of the drag clipboard and send it over to
+ the WebProcess.
+ The bulk of this patch consists in the refactoring needed in DragData
+ and ClipboardWin classes to extract the data from the serialized object.
+
+ * platform/DragData.cpp:
+ * platform/DragData.h:
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::getWebLocData):
+ (WebCore::getURL):
+ (WebCore::getPlainText):
+ (WebCore::getTextHTML):
+ (WebCore::getCFHTML):
+ (WebCore::fragmentFromFilenames):
+ (WebCore::containsFilenames):
+ (WebCore::fragmentFromHTML):
+ (WebCore::containsHTML):
+ (WebCore::getClipboardData):
+ * platform/win/ClipboardUtilitiesWin.h:
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::Clipboard::create):
+ (WebCore::ClipboardWin::ClipboardWin):
+ (WebCore::ClipboardWin::getData):
+ (WebCore::ClipboardWin::types):
+ (WebCore::ClipboardWin::files):
+ (WebCore::ClipboardWin::hasData):
+ * platform/win/ClipboardWin.h:
+ (WebCore::ClipboardWin::create):
+ * platform/win/DragDataWin.cpp:
+ (WebCore::DragData::DragData):
+ (WebCore::DragData::containsURL):
+ (WebCore::DragData::dragDataMap):
+ (WebCore::DragData::asURL):
+ (WebCore::DragData::containsFiles):
+ (WebCore::DragData::asFilenames):
+ (WebCore::DragData::containsPlainText):
+ (WebCore::DragData::asPlainText):
+ (WebCore::DragData::canSmartReplace):
+ (WebCore::DragData::containsCompatibleContent):
+ (WebCore::DragData::asFragment):
+
+2011-01-27 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Space characters in source document interfere with reported caret offset
+ https://bugs.webkit.org/show_bug.cgi?id=53033
+
+ Calculate caret offset from rendered text instead of from node contents.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (objectAndOffsetUnignored): Calculate the caret offset based only
+ on positions and ranges, instead of using the computed offset in
+ the container node.
+
+2011-01-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53197
+ <rdar://problem/8895682> Make WebKit2 printing asynchronous
+
+ * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.
+
+ * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
+ transformation as spoolPages does for consistency.
+
+2011-01-27 David Grogan <dgrogan@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ initial support for close() in indexeddb backend
+ https://bugs.webkit.org/show_bug.cgi?id=53150
+
+ Test: storage/indexeddb/transaction-after-close.html
+
+ * storage/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::IDBDatabase):
+ (WebCore::IDBDatabase::transaction):
+ (WebCore::IDBDatabase::close):
+ * storage/IDBDatabase.h:
+ * storage/IDBDatabase.idl:
+ * storage/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::transaction):
+ (WebCore::IDBDatabaseBackendImpl::close):
+
+2011-01-27 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG animation doesn't support calcMode discrete for number and color values.
+ https://bugs.webkit.org/show_bug.cgi?id=53189
+
+ Add support for calcMode discrete on number and color animation.
+
+ Tests: svg/animations/animate-color-calcMode-discrete.html
+ svg/animations/animate-number-calcMode-discrete.html
+
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::calculateAnimatedValue):
+
+2011-01-26 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ shaderSource needs to preserve original source
+ https://bugs.webkit.org/show_bug.cgi?id=52833
+
+ Test: fast/canvas/webgl/gl-getshadersource.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH.
+ (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call.
+ (WebCore::WebGLRenderingContext::shaderSource): Cache the source.
+ * html/canvas/WebGLShader.cpp: Cache shader source.
+ (WebCore::WebGLShader::WebGLShader):
+ * html/canvas/WebGLShader.h: Ditto.
+ (WebCore::WebGLShader::getSource):
+ (WebCore::WebGLShader::setSource):
+
+2011-01-27 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r76743.
+
+ * platform/graphics/wince/FontWinCE.cpp:
+ (WebCore::TextRunComponent::TextRunComponent):
+
+2011-01-27 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
+ https://bugs.webkit.org/show_bug.cgi?id=53234
+
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane):
+ (WebInspector.ScopeChainSidebarPane.prototype.update):
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76789.
+ http://trac.webkit.org/changeset/76789
+ https://bugs.webkit.org/show_bug.cgi?id=53238
+
+ Broke GTK layout tests (Requested by podivilov on #webkit).
+
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane):
+ (WebInspector.ScopeChainSidebarPane.prototype.update):
+
+2011-01-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: store all settings related to the agents on the frontend side
+ https://bugs.webkit.org/show_bug.cgi?id=53174
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptDebugServer.cpp:
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/js/ScriptProfiler.cpp:
+ * bindings/js/ScriptProfiler.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ * bindings/v8/ScriptDebugServer.h:
+ * bindings/v8/ScriptProfiler.cpp:
+ * bindings/v8/ScriptProfiler.h:
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
+ on the front-end side and will be pushed to the backend when the frontend is loaded.
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::restoreDebugger):
+ (WebCore::InspectorAgent::restoreProfiler):
+ (WebCore::InspectorAgent::enableProfiler):
+ (WebCore::InspectorAgent::disableProfiler):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::disableDebugger):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
+ if the front-end was opened during current browser session and XHR logging is turned on
+ there.
+ (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
+ (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
+ * inspector/InspectorDebuggerAgent.cpp:
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
+ (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
+ (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
+ * inspector/InspectorSettings.cpp: Removed.
+ * inspector/InspectorSettings.h: Removed.
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ * inspector/InspectorState.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+ * inspector/front-end/inspector.js:
+
+2011-01-27 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
+ https://bugs.webkit.org/show_bug.cgi?id=53234
+
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane):
+ (WebInspector.ScopeChainSidebarPane.prototype.update):
+
+2011-01-27 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
+ https://bugs.webkit.org/show_bug.cgi?id=53171
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)
+
+2011-01-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ [V8] Crash in WebCore::addMessageToConsole
+ https://bugs.webkit.org/show_bug.cgi?id=53227
+
+ * bindings/v8/V8Proxy.cpp: check that the Frame where the error
+ occured still has a page before getting a console object from it.
+ (WebCore::V8Proxy::reportUnsafeAccessTo):
+
+2011-01-27 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
+ https://bugs.webkit.org/show_bug.cgi?id=53178
+
+ Remove the IDBCallbacks::onSuccess() function that was used for
+ null values, and replace such calls with calls to
+ IDBCallBacks::onSuccess(SerializedScriptValue::nullValue())
+ instead.
+
+ No new functionality, so no new tests.
+
+ * storage/IDBCallbacks.h:
+ * storage/IDBCursorBackendImpl.cpp:
+ (WebCore::IDBCursorBackendImpl::updateInternal):
+ (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
+ * storage/IDBIndexBackendImpl.cpp:
+ (WebCore::IDBIndexBackendImpl::openCursorInternal):
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
+ * storage/IDBRequest.cpp:
+ * storage/IDBRequest.h:
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76773.
+ http://trac.webkit.org/changeset/76773
+ https://bugs.webkit.org/show_bug.cgi?id=53230
+
+ breaks multiple GTK media tests (Requested by philn-tp on
+ #webkit).
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mimeTypeCache):
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76770.
+ http://trac.webkit.org/changeset/76770
+ https://bugs.webkit.org/show_bug.cgi?id=53229
+
+ Some inspector tests fail (Requested by yurys on #webkit).
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/js/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
+ * bindings/js/ScriptProfiler.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
+ * bindings/v8/ScriptDebugServer.h:
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
+ * bindings/v8/ScriptProfiler.h:
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::restoreDebugger):
+ (WebCore::InspectorAgent::restoreProfiler):
+ (WebCore::InspectorAgent::ensureSettingsLoaded):
+ (WebCore::InspectorAgent::enableProfiler):
+ (WebCore::InspectorAgent::disableProfiler):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::disableDebugger):
+ * inspector/InspectorAgent.h:
+ (WebCore::InspectorAgent::settings):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
+ (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
+ (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
+ (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
+ * inspector/InspectorSettings.cpp: Added.
+ (WebCore::InspectorSettings::InspectorSettings):
+ (WebCore::InspectorSettings::getBoolean):
+ (WebCore::InspectorSettings::setBoolean):
+ (WebCore::InspectorSettings::getLong):
+ (WebCore::InspectorSettings::setLong):
+ (WebCore::InspectorSettings::registerBoolean):
+ (WebCore::InspectorSettings::registerLong):
+ * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h.
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ * inspector/InspectorState.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+ * inspector/front-end/inspector.js:
+
+2011-01-26 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=53125
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
+
+2011-01-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: store all settings related to the agents on the frontend side
+ https://bugs.webkit.org/show_bug.cgi?id=53174
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
+ on the front-end side and will be pushed to the backend when the frontend is loaded.
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::restoreDebugger):
+ (WebCore::InspectorAgent::restoreProfiler):
+ (WebCore::InspectorAgent::enableProfiler):
+ (WebCore::InspectorAgent::disableProfiler):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::disableDebugger):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
+ if the front-end was opened during current browser session and XHR logging is turned on
+ there.
+ (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
+ (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
+ (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::enable):
+ (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
+ * inspector/InspectorProfilerAgent.h:
+ * inspector/InspectorSettings.cpp: Removed.
+ * inspector/InspectorSettings.h: Removed.
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ * inspector/InspectorState.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+ * inspector/front-end/inspector.js:
+
+2011-01-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION (r76743): Uneven spacing in right-to-left justified text
+ https://bugs.webkit.org/show_bug.cgi?id=53225
+
+ Fixes failure in fast/text/atsui-spacing-features.html
+
+ There was an inconsistency between rendering code and font code in the interpretation of
+ 'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of
+ visual order rather than logical.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to
+ iterate in visual order accordingly.
+ * platform/graphics/Font.h:
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount().
+ (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion
+ condition with respect to the first character, which is the trailing character in visual order.
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to
+ expansionOpportunityCount().
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
+
+2011-01-26 Adam Roben <aroben@apple.com>
+
+ Don't create the Direct3D device before it's first needed
+
+ We only need the device once we decide to render. There's no point in creating it before
+ then.
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here.
+ We already have code to create it when we first try to draw.
+ (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's
+ bounds so that the bounds will take effect the next time we render (which could be just
+ after this function returns).
+
+2011-01-26 Adam Roben <aroben@apple.com>
+
+ Add assertions that CACFLayerTreeHost gains and loses an HWND only once
+
+ CACFLayerTreeHost doesn't support any other use pattern.
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
+ (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window,
+ to having a window, to not having a window just once over the lifetime of this object.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.
+
+2011-01-26 Adam Roben <aroben@apple.com>
+
+ Notify layers that their animations have started when we flush the context, not when we
+ render
+
+ r76372 separated context flushing from rendering, but this bit of code got left behind.
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to
+ notifyAnimationsStarted.
+ (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to
+ notifyAnimationsStarted after we flush the context.
+ (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed
+ to call PlatformCALayer::animationStarted rather than calling through to the client
+ directly.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.
+
+2011-01-26 Adam Roben <aroben@apple.com>
+
+ Small cleanup in MediaPlayerPrivateFullscreenWindow
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
+ (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved
+ code here from close(), since this was the only place that called it after the following
+ change to createWindow.
+ (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the
+ case where we had already created the window with an assertion that we have not already done
+ so. Our single caller (FullscreenVideoController) did not require this behavior.
+
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.
+
+2011-01-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Move ScrollView scroll wheel code to ScrollAnimator.
+
+ * platform/ScrollAnimator.cpp:
+ (WebCore::ScrollAnimator::handleWheelEvent):
+ * platform/ScrollAnimator.h:
+ Moved implementation of handleWheelEvent from ScrollView::wheelEvent.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ Call down to the ScrollableArea.
+
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::handleWheelEvent):
+ Call down to the ScrollAnimator.
+
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::scrollPosition):
+ (WebCore::ScrollableArea::minimumScrollPosition):
+ (WebCore::ScrollableArea::maximumScrollPosition):
+ (WebCore::ScrollableArea::visibleContentRect):
+ (WebCore::ScrollableArea::visibleHeight):
+ (WebCore::ScrollableArea::visibleWidth):
+ Add functions needed to implement wheel event in the animator.
+
+2011-01-26 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
+ <rdar://problem/8821760>
+
+ Reviewed by Antti Koivisto.
+
+ This adds support for HTTP pipelining in CFNetwork, but does not
+ enable it. To enable it post-SnowLeopard, use this command:
+
+ defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
+
+ Once enabled, it is possible to force the same load priority
+ (high) to be sent to CFNetwork to allow WebCore to handle the
+ scheduling:
+
+ defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES
+
+ * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
+ _wkSetHTTPPipeliningPriority.
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
+ Copy the priority to preflightRequest.
+
+ * loader/ResourceLoadScheduler.cpp:
+ (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
+ at the end of the method to use an early return.
+
+ * loader/cache/CachedResourceRequest.cpp:
+ (WebCore::CachedResourceRequest::load): Set the priority on the
+ ResourceRequest object based on the priority of the
+ CachedResourceRequest before calling
+ ResourceLoadScheduler::scheduleSubresourceLoad().
+
+ * loader/icon/IconLoader.cpp:
+ (WebCore::IconLoader::startLoading): Create a ResourceRequest
+ object and set its priority to ResourceLoadPriorityLow before
+ passing it to ResourceLoadScheduler::scheduleSubresourceLoad().
+
+ * platform/mac/WebCoreSystemInterface.h:
+ (wkGetHTTPPipeliningPriority): Added.
+ (wkSetHTTPPipeliningPriority): Added.
+ * platform/mac/WebCoreSystemInterface.mm:
+ (wkGetHTTPPipeliningPriority): Added.
+ (wkSetHTTPPipeliningPriority): Added.
+
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::adopt): Set m_priority when
+ adopting a CrossThreadResourceRequestData.
+ (WebCore::ResourceRequestBase::copyData): Set m_priority when
+ creating a CrossThreadResourceRequestData.
+ (WebCore::ResourceRequestBase::priority): Added.
+ (WebCore::ResourceRequestBase::setPriority): Added.
+ (WebCore::equalIgnoringHeaderFields): Priorities must match when
+ comparing two ResourceRequest objects.
+
+ * platform/network/ResourceRequestBase.h:
+ (WebCore::ResourceRequestBase::ResourceRequestBase): Set default
+ priority of new objects to ResourceLoadPriorityLow.
+ (WebCore::ResourceRequestBase::priority): Added declaration.
+ (WebCore::ResourceRequestBase::setPriority): Added declaration.
+ (WebCore::isHTTPPipeliningEnabled): Added.
+ (WebCore::shouldUseHTTPPipeliningPriority): Added.
+
+ * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that
+ Mac OS X and Windows share code.
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always
+ set the HTTP connection count per host, but return an
+ 'unlimited' value when using HTTP pipelining. This method used
+ to be defined in ResourceRequestMac.mm for Mac OS X.
+ (WebCore::readBooleanPreference): Added. Helper method for
+ reading boolean user defaults.
+ (WebCore::isHTTPPipeliningEnabled): Returns value of user
+ default key WebKitEnableHTTPPipelining, or false if not set.
+ (WebCore::shouldUseHTTPPipeliningPriority): Returns value of
+ user default key WebKitForceHTTPPipeliningPriorityHigh, or false
+ if not set.
+ * platform/network/cf/ResourceRequestCFNet.h: Updated so that
+ Mac OS X and Windows share code. Fixed indentation.
+ (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added.
+ (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added.
+
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest): Update
+ HTTP pipelining priority on NSMutableFURLRequest object.
+ (WebCore::ResourceRequest::doUpdateResourceRequest): Update
+ m_priority from the NSURLRequest object.
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed.
+ Code is now shared with Windows in ResourceRequestCFNet.cpp.
+
+2011-01-26 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
+ when using WKScrollbars.
+
+ New WebKitSystemInterface Functionality.
+ * WebCore.exp.in:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+ Some of the terrible static arrays are now only needed in the
+ old non-WK code, so they are if-def'd now.
+ * platform/mac/ScrollbarThemeMac.mm:
+
+ Just patching this function in a better way than I did
+ before.
+ (WebCore::updateArrowPlacement):
+
+ Call into WK for the right values.
+ (WebCore::ScrollbarThemeMac::scrollbarThickness):
+ (WebCore::ScrollbarThemeMac::hasThumb):
+ (WebCore::ScrollbarThemeMac::minimumThumbLength):
+
+ Return false if there are no buttons.
+ (WebCore::ScrollbarThemeMac::hasButtons):
+
+ Return an empty IntRect if there are not buttons.
+ (WebCore::buttonRepaintRect):
+
+2011-01-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add events to represent the start/end of a gesture scroll
+ https://bugs.webkit.org/show_bug.cgi?id=53215
+
+ * WebCore.exp.in:
+ Add new file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ Add new file.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureEvent):
+ * page/EventHandler.h:
+ Add entry point for handling gesture events.
+
+ * platform/PlatformGestureEvent.h: Added.
+ (WebCore::PlatformGestureEvent::PlatformGestureEvent):
+ (WebCore::PlatformGestureEvent::type):
+ (WebCore::PlatformGestureEvent::position):
+ (WebCore::PlatformGestureEvent::globalPosition):
+ (WebCore::PlatformGestureEvent::timestamp):
+ Add platform agnostic representation of a gesture event.
+
+2011-01-26 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/8446709> Allow inter-ideograph justification for CJK
+ https://bugs.webkit.org/show_bug.cgi?id=53184
+
+ Tests: fast/text/justify-ideograph-complex.html
+ fast/text/justify-ideograph-simple.html
+ fast/text/justify-ideograph-vertical.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
+ passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
+ for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
+ before the first character. On return, isAfterExpansion says whether an expansion opportunity
+ exists after the last character.
+ * platform/graphics/Font.h:
+ * platform/graphics/GlyphBuffer.h:
+ (WebCore::GlyphBuffer::expandLastAdvance): Added.
+ * platform/graphics/TextRun.h:
+ (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
+ Renamed padding to expansion.
+ (WebCore::TextRun::expansion): Renamed padding() to this.
+ (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
+ and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
+ expansion.
+ (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
+ (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
+ can expand the last advance if it is followed by a CJK ideograph.
+ * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
+ to m_expansionPerOpportunity.
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/efl/FontEfl.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/gtk/FontGtk.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/haiku/FontHaiku.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
+ Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
+ opportunity but the run disallows trailing expansion.
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
+ of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
+ * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
+ to m_expansionPerOpportunity.
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/win/FontWin.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/win/UniscribeController.cpp:
+ (WebCore::UniscribeController::UniscribeController): Updated for rename.
+ * platform/graphics/wince/FontWinCE.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/wx/FontWx.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
+ (WebCore::EllipsisBox::selectionRect): Ditto.
+ (WebCore::EllipsisBox::paintSelection): Ditto.
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
+ (WebCore::InlineBox::expansion): Renamed toAdd() to this.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
+ (WebCore::InlineTextBox::paint): Ditto.
+ (WebCore::InlineTextBox::paintSelection): Ditto.
+ (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
+ (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
+ (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
+ (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
+ (WebCore::InlineTextBox::offsetForPosition): Ditto.
+ (WebCore::InlineTextBox::positionForOffset): Ditto.
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
+ (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
+ is not the last leaf box on the line.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
+ in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
+ last text box.
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
+ (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::updateFromElement): Ditto.
+ (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
+ (WebCore::RenderTextControl::paintPlaceholder): Ditto.
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::constructTextRun): Ditto.
+
+2011-01-26 Andy Estes <aestes@apple.com>
+
+ Rubber-stamped by Darin Adler.
+
+ Inline HTMLObjectElement::hasValidClassId().
+
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::hasValidClassId):
+
+2011-01-26 Evan Martin <evan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] crash on getBoundingClientRect in complex text
+ https://bugs.webkit.org/show_bug.cgi?id=53199
+
+ Use the correct array bound; we want the number of characters processed by
+ the shaper, not the longest continuous script run length.
+
+ Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::nextScriptRun):
+ * platform/graphics/chromium/ComplexTextControllerLinux.h:
+ (WebCore::ComplexTextController::numCodePoints):
+
+2011-01-26 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
+ https://bugs.webkit.org/show_bug.cgi?id=52084
+
+ Test: fast/dom/css-delete-doc.html
+
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::insertRule):
+ (WebCore::CSSMediaRule::deleteRule):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::CSSStyleSheet):
+ (WebCore::CSSStyleSheet::document):
+ * css/CSSStyleSheet.h:
+ * xml/XSLStyleSheet.h:
+ (WebCore::XSLStyleSheet::parentStyleSheet):
+ * xml/XSLStyleSheetLibxslt.cpp:
+ (WebCore::XSLStyleSheet::XSLStyleSheet):
+ (WebCore::XSLStyleSheet::cachedResourceLoader):
+ (WebCore::XSLStyleSheet::setParentStyleSheet):
+ (WebCore::XSLStyleSheet::ownerDocument):
+ * xml/XSLStyleSheetQt.cpp:
+ (WebCore::XSLStyleSheet::XSLStyleSheet):
+ (WebCore::XSLStyleSheet::cachedResourceLoader):
+ (WebCore::XSLStyleSheet::ownerDocument):
+
+2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Reduce ref-count churn in shadowPseudoId.
+ https://bugs.webkit.org/show_bug.cgi?id=53136
+
+ Refactoring, so no new tests.
+
+ * dom/Element.h:
+ (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
+ * html/ValidationMessage.cpp:
+ (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
+ * html/shadow/SliderThumbElement.h: Ditto.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
+ * rendering/MediaControlElements.h: Ditto.
+
+2011-01-26 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
+
+ Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
+
+ * css/html.css:
+ Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
+ elements work properly.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
+ Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
+ in some cases (causing lines to all stack on top of one another).
+
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::calculateBoundaries):
+ Fix calculateBoundaries to be physical rather than logical.
+
+ * rendering/LayoutState.cpp:
+ (WebCore::LayoutState::addForcedColumnBreak):
+ * rendering/LayoutState.h:
+ Rename childY to childLogicalOffset.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::addOverflowFromChildren):
+ (WebCore::RenderBlock::addOverflowFromFloats):
+ (WebCore::RenderBlock::collapseMargins):
+ (WebCore::RenderBlock::estimateLogicalTopPosition):
+ (WebCore::RenderBlock::layoutBlockChild):
+ (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
+ (WebCore::RenderBlock::paintColumnRules):
+ (WebCore::RenderBlock::paintColumnContents):
+ (WebCore::RenderBlock::paintFloats):
+ (WebCore::RenderBlock::selectionGaps):
+ (WebCore::RenderBlock::removeFloatingObjectsBelow):
+ (WebCore::RenderBlock::addOverhangingFloats):
+ (WebCore::RenderBlock::hitTestFloats):
+ (WebCore::RenderBlock::hitTestColumns):
+ (WebCore::RenderBlock::calcColumnWidth):
+ (WebCore::RenderBlock::desiredColumnWidth):
+ (WebCore::RenderBlock::columnRectAt):
+ (WebCore::RenderBlock::layoutColumns):
+ (WebCore::RenderBlock::adjustPointToColumnContents):
+ (WebCore::RenderBlock::adjustRectForColumns):
+ (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
+ (WebCore::RenderBlock::adjustForColumns):
+ (WebCore::RenderBlock::adjustForBorderFit):
+ (WebCore::RenderBlock::nextPageLogicalTop):
+ (WebCore::RenderBlock::applyBeforeBreak):
+ (WebCore::RenderBlock::applyAfterBreak):
+ (WebCore::RenderBlock::adjustForUnsplittableChild):
+ (WebCore::RenderBlock::adjustLinePositionForPagination):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::logicalRightOffsetForContent):
+ (WebCore::RenderBlock::logicalLeftOffsetForContent):
+ (WebCore::RenderBlock::leftForFloatIncludingMargin):
+ (WebCore::RenderBlock::topForFloatIncludingMargin):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren):
+ (WebCore::RenderBlock::determineStartPosition):
+ Reworking of all the RenderBlock column functions to support flipping and vertical modes.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::offsetFromContainer):
+ (WebCore::RenderBox::flipForWritingModeIncludingColumns):
+ Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
+
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::clientLogicalBottom):
+ Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock):
+ Better terminology for pagination.
+
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::offsetFromContainer):
+ (WebCore::RenderInline::mapLocalToContainer):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintChildLayerIntoColumns):
+ (WebCore::RenderLayer::hitTestChildLayerColumns):
+ (WebCore::RenderLayer::localBoundingBox):
+ (WebCore::RenderLayer::boundingBox):
+ Patch painting in RenderLayers to be vertical-text-aware.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::mapLocalToContainer):
+ Add code to be flipped block-aware with columns.
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::layout):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::layout):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::layoutRows):
+ Fix pagination to use better terminology.
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteQuads):
+ (WebCore::RenderText::absoluteQuadsForRange):
+ Fix a bug where vertical text wasn't taken into account.
+
+2011-01-26 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, rolling out r76719.
+ http://trac.webkit.org/changeset/76719
+ https://bugs.webkit.org/show_bug.cgi?id=53122
+
+ Broke a bunch of media tests in Chromium/Qt/GTK.
+
+2011-01-26 Tony Chang <tony@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ [gtk] strip NUL characters when copying text/html on GTK+
+ https://bugs.webkit.org/show_bug.cgi?id=52508
+
+ Putting NUL characters in the text/html clipboard doesn't work in
+ WebKit GTK+ (the pasted value is truncated at the NUL). Since we're
+ already stripping this character for plain text (for Windows), strip
+ it in text/html too.
+
+ * editing/MarkupAccumulator.h: mark function as virtual
+ * editing/markup.cpp:
+ (WebCore::StyledMarkupAccumulator::appendString):
+ (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
+
+2011-01-26 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Reliable crash with getTextAtOffset()
+ https://bugs.webkit.org/show_bug.cgi?id=53131
+
+ Properly calculate length in bytes for a UTF8 substring.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (utf8Substr): Use character instead of bytes as units to
+ calculate the length in bytes for the UTF8 string.
+
+2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
+ https://bugs.webkit.org/show_bug.cgi?id=53122
+
+ This is the first step in converting HTMLMediaElement to the new shadow DOM.
+
+ Should not regress any existing tests. No observable change in behavior.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
+ (WebCore::nameToPseudoTypeMap): Ditto.
+ (WebCore::CSSSelector::extractPseudoType): Ditto.
+ * css/CSSSelector.h: Ditto.
+ * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
+ which is now replaced with virtual shadowPseudoId on each corresponding class.
+ (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
+ (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
+ display type in constructor.
+ (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
+ to disambiguate from the MediaControlMuteButtonElement.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
+ (WebCore::MediaControlSeekForwardButtonElement::create): Added.
+ (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
+ (WebCore::MediaControlSeekBackButtonElement::create): Added.
+ (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
+ (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
+ (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
+ * rendering/MediaControlElements.h:
+ (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
+ (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
+ (WebCore::RenderMedia::createSeekBackButton): Ditto.
+ (WebCore::RenderMedia::createSeekForwardButton): Ditto.
+ (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
+ * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
+
+2011-01-26 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Fix multisampling support in DrawingBuffer
+ https://bugs.webkit.org/show_bug.cgi?id=53154
+
+ In DrawingBuffer's multisampling code path, fixed enum usage and a
+ bug where it would incorrectly redefine the depth and stencil
+ buffers. Hooked up multisampling code path in Chromium port.
+
+ Tested manually with some accelerated 2D canvas content.
+ Multisampling isn't being switched on for the accelerated 2D
+ canvas at the current time because it will increase fill rate
+ requirements and cause a large number of rebaselines.
+
+ * platform/graphics/Extensions3D.h:
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::publishToPlatformLayer):
+ * platform/graphics/chromium/Extensions3DChromium.h:
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore::DrawingBuffer::create):
+ (WebCore::DrawingBuffer::reset):
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp:
+ (WebCore::Extensions3DOpenGL::supports):
+
+2011-01-26 Tony Chang <tony@chromium.org>
+
+ Unreviewed.
+
+ [chromium] revert r68310 because of race conditions detected by tsans
+ https://bugs.webkit.org/show_bug.cgi?id=53185
+
+ Causes stability problems for Chromium, http://crbug.com/70589
+
+ * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
+ (WebCore::SQLiteFileSystem::registerSQLiteVFS):
+
+2011-01-26 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Make fireEventsAndUpdateStyle use stack local vectors.
+ https://bugs.webkit.org/show_bug.cgi?id=46760
+
+ Test: animations/animation-add-events-in-handler.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
+
+2011-01-26 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Remove m_URL from FrameLoader and depend on Document::url()
+ instead. FrameLoader::url() will be removed in a followup patch.
+ https://bugs.webkit.org/show_bug.cgi?id=41165
+
+ Refactor only, no new tests.
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::updateURLForPushOrReplaceState):
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::begin):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::iconURL):
+ (WebCore::FrameLoader::didOpenURL):
+ (WebCore::FrameLoader::didExplicitOpen):
+ (WebCore::FrameLoader::receivedFirstData):
+ (WebCore::FrameLoader::url):
+ (WebCore::FrameLoader::setOutgoingReferrer):
+ (WebCore::FrameLoader::startIconLoader):
+ (WebCore::FrameLoader::commitIconURLToIconDatabase):
+ (WebCore::FrameLoader::finishedParsing):
+ (WebCore::FrameLoader::checkIfDisplayInsecureContent):
+ (WebCore::FrameLoader::checkIfRunInsecureContent):
+ (WebCore::FrameLoader::updateFirstPartyForCookies):
+ (WebCore::FrameLoader::loadInSameDocument):
+ (WebCore::FrameLoader::commitProvisionalLoad):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::shouldScrollToAnchor):
+ * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
+
+2011-01-25 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Crashes loading pages when cancelling subresource loads through WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=53123
+ <rdar://problem/8914361>
+
+ Fix a crash that happened when cancelling subresource loads through WebKit.
+
+ When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource
+ can be called recursively on the same function, either leading to infinite recursion, or deleting
+ an object when it is not done being used.
+
+ The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when
+ CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
+
+ Test: fast/loader/willSendRequest-null-for-preload.html
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame
+ if our new URL is non-null.
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
+ (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this
+ function was called synchronously
+ from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously,
+ so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
+ (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
+ (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector,
+ so use Deque methods.
+ * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
+
+2011-01-25 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
+ https://bugs.webkit.org/show_bug.cgi?id=53072
+
+ Test: inspector/console-substituted.html
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+
+2011-01-26 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [cairo] Use CAIRO_OPERATOR_DARKEN when available
+ https://bugs.webkit.org/show_bug.cgi?id=53084
+
+ Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
+ CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
+
+ * platform/graphics/cairo/CairoUtilities.cpp:
+ (WebCore::toCairoOperator):
+
+2011-01-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: visualize \n in strings as unicode cr
+ symbol in stack variables sidebar.
+ https://bugs.webkit.org/show_bug.cgi?id=53162
+
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+
+2011-01-26 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: size is wrong for cached resources in Network panel
+ - Set the size for 304/not modified resources from cached resource.
+ - Add response headers size to resource transfer size.
+ https://bugs.webkit.org/show_bug.cgi?id=52886
+
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::didReceiveResponse):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource):
+ (WebInspector.Resource.prototype.get transferSize):
+ (WebInspector.Resource.prototype.set responseHeaders):
+ (WebInspector.Resource.prototype._headersSize):
+ (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
+
+2011-01-26 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fixed TiledBacking store to take into account new dirty regions caused by
+ paint time layouts.
+
+ Flawed rendering design for QtWebKit resulting in artifacts being displayed
+ https://bugs.webkit.org/show_bug.cgi?id=49184
+
+ There are no new tests as this patch aims at fixing flicker that
+ happen randomly, mostly on slow hardware, thus are hard to reproduce
+ consistently in an automated test.
+
+ This patch does not fully address the said bug but it is a step in the
+ right direction. A full solution to the bug, as currently perceived,
+ requires either a Qt GUI API change, a performance hit for QtWebKit,
+ or a hack, until a full solution is provided this patch is progress.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::updateTileBuffers):
+ Changed to take into account newly dirtied areas created during
+ tile update initiated layouts during the same update.
+
+2011-01-26 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [SKIA] Remove "current path" of GraphicsContext
+ https://bugs.webkit.org/show_bug.cgi?id=53124
+
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::clipPath):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::strokeBoundingRect):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ * platform/graphics/skia/PlatformContextSkia.h:
+
+2011-01-26 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
+
+ QPainterPath returns angle values with the origo being at the top left corner,
+ we need to account for this in normalAngleAtLength().
+ This Regressed with r66979.
+
+ No new tests as this is already covered by ACID3.
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::normalAngleAtLength):
+
+2011-01-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: live edit does not update source snippet.
+ https://bugs.webkit.org/show_bug.cgi?id=53097
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
+
+2011-01-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
+ https://bugs.webkit.org/show_bug.cgi?id=53018
+
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::evaluate):
+ (WebCore::InjectedScript::evaluateOnCallFrame):
+ (WebCore::InjectedScript::getCompletions):
+ (WebCore::InjectedScript::getCompletionsOnCallFrame):
+ * inspector/InjectedScript.h:
+ * inspector/InjectedScriptSource.js:
+ (.):
+ * inspector/Inspector.idl:
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
+ (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorRuntimeAgent.cpp:
+ (WebCore::InspectorRuntimeAgent::evaluate):
+ (WebCore::InspectorRuntimeAgent::getCompletions):
+ * inspector/InspectorRuntimeAgent.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.completions):
+ (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
+ (WebInspector.ConsoleView.prototype._enterKeyPressed):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
+ (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._showPopup):
+ * inspector/front-end/WatchExpressionsSidebarPane.js:
+ (WebInspector.WatchExpressionsSection.prototype.update):
+
+2011-01-26 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ A speculative fix for Bug 52422 - [chromium] More crash in
+ FontFallbackList::determinePitch(const Font* font)
+ https://bugs.webkit.org/show_bug.cgi?id=52422
+
+ My previous change may not work on non-US Windows whose system fonts
+ have localized aliases matching to the system locale because of a
+ font-name mismatch in createFontIndirectAndGetWinName(). This change
+ tries all the fonts installed in a PC and returns the first font that we
+ can create without errors.
+
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
+ Added a struct used for getLastResortFallbackFontProc().
+ (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
+ (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
+
+2011-01-26 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Add a DOMTimeStamp parameter to the requestAnimationFrame callback
+ https://bugs.webkit.org/show_bug.cgi?id=53142
+
+ This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
+ closely match mozilla's proposal. This is useful if the page has multiple imperative animations
+ and wants to ensure that they all remain synchronized. If each callback used Date.now() to
+ update its animation state, they would potentially be out of sync with each other. If they use
+ the timestamp then all callbacks for the same "frame" will update to the same state.
+
+ Test: fast/animation/request-animation-frame-timestamps.html
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ * dom/Document.cpp:
+ (WebCore::Document::serviceScriptedAnimations):
+ * dom/Document.h:
+ * dom/RequestAnimationFrameCallback.h:
+ * dom/RequestAnimationFrameCallback.idl:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::serviceScriptedAnimations):
+ * page/FrameView.h:
+
+2011-01-25 Yuzo Fujishima <yuzo@google.com>
+
+ Unreviewed attempt to fix compilation error for Chromium Clang.
+
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::advance):
+
+2011-01-25 Ned Holbrook <nholbrook@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ ComplexTextController incorrectly conflates string length and range of indexes
+ https://bugs.webkit.org/show_bug.cgi?id=52760
+
+ Test: fast/text/offsetForPosition-complex-fallback.html
+
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::offsetForPosition):
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
+ (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
+ (WebCore::ComplexTextController::advance):
+ * platform/graphics/mac/ComplexTextController.h:
+ (WebCore::ComplexTextController::ComplexTextRun::create):
+ (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
+ * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
+ (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
+
+2011-01-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
+ https://bugs.webkit.org/show_bug.cgi?id=53048
+
+ Test: fast/overflow/overflow-rtl-vertical-origin.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollPosition):
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+ Take the scroll origin into account when calculating scrollbars in more places.
+
+2011-01-25 Steve Falkenburg <sfalken@apple.com>
+
+ Windows production build fix.
+ Use correct configuration-specific path in makefile.
+
+ * WebCore.vcproj/WebCore.make:
+
+2011-01-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Radio button group state is not restored correctly
+ https://bugs.webkit.org/show_bug.cgi?id=50442
+
+ Fixes a bug that radio button states are not restored correctly in
+ a case that non-first radio button in a group is checked.
+
+ If "checked" attribute is present, the radio button is checked and
+ other radio buttons in the group are unchecked. This behavior
+ disturbs form state restoring. This patch changes this behavior so
+ that the "checked" attribute handling is delayed after form state
+ restoring.
+
+ Test: fast/forms/state-restore-radio-group.html
+
+ * html/HTMLFormControlElement.h:
+ Make finishParsingChildren() protected so that HTMLInpuElement can call it.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::HTMLInputElement):
+ - Add createdByParser parameter.
+ - Initialize m_stateRestored and m_parsingInProgress.
+ (WebCore::HTMLInputElement::create): Sync with the constructor.
+ (WebCore::HTMLInputElement::restoreFormControlState):
+ Set m_stateRestored in order to refer it in finishParsingChildren().
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ Don't call setChecked() during parsing. Move setNeedsValidityCheck()
+ to setChecked().
+ (WebCore::HTMLInputElement::finishParsingChildren):
+ Call setChecked() if form state is not restored.
+ (WebCore::HTMLInputElement::setChecked):
+ Move setNeedsValidityCheck() from parseMappedAttribute() because
+ finishParsingChildren() also needs to call setNeedsValidityCheck().
+ * html/HTMLInputElement.h:
+ - Remove the default value of HTMLFormElement* of the HTMLInputElement
+ constructor, and add createdByParser parameter.
+ - Introduce m_parsingInProgress and m_stateRestored.
+ * html/HTMLIsIndexElement.cpp:
+ (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
+ Sync with the HTMLInputElement constructor change.
+ * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlInputElement::MediaControlInputElement):
+ Sync with the HTMLInputElement constructor change.
+ * rendering/ShadowElement.cpp:
+ (WebCore::ShadowInputElement::ShadowInputElement): ditto.
+ * rendering/ShadowElement.h:
+ (WebCore::ShadowElement::ShadowElement): ditto.
+
+2011-01-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
+ https://bugs.webkit.org/show_bug.cgi?id=52565
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::validateInteractively):
+ Check checkInvalidControlsAndCollectUnhandled() result instead of
+ checking emptiness of unhandled invalid controls list.
+ (WebCore::HTMLFormElement::checkValidity): ditto.
+ (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
+ Renamed from collectUnhandledInvalidControls().
+ Returns true if there is any invalid control regardless of event canceling.
+ * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
+ checkInvalidControlsAndCollectUnhandled().
+
+2011-01-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Range and number inputs should reject increment and decrement by
+ keyboard or mouse wheel if they are disabled or read-only
+ https://bugs.webkit.org/show_bug.cgi?id=53151
+
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
+ (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
+
+2011-01-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ API to support localized numbers for <input type=number>
+ https://bugs.webkit.org/show_bug.cgi?id=45730
+
+ Introduce platform/text/LocalizedNumber.h, and
+ LocalizedNumberNone.cpp, which is an empty implementation of the
+ functions in LocalizedNumber.h. We use LocalizedNumberNone.cpp in
+ all platforms for now.
+
+ A string in a type=number field is parsed as a localized number
+ first. If the parsing fails, it is parsed as the HTML5 number.
+
+ We introduce HTMLInputElement::visibleValue(). It represents a value
+ which should be drawn by a renderer. HTMLInputElement::value() always
+ returns a number formatted for HTML5, and visibleValue() may return a
+ localized number.
+
+ No new tests because this doesn't change any behavior.
+
+ * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
+ * CMakeLists.txt: ditto.
+ * GNUmakefile.am: ditto.
+ * WebCore.gypi: ditto.
+ * WebCore.pro: ditto.
+ * WebCore.vcproj/WebCore.vcproj: ditto.
+ * WebCore.xcodeproj/project.pbxproj: ditto.
+ * dom/InputElement.h: Add visibleValue().
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::visibleValue): Added. Just call InputType::visibleValue().
+ * html/HTMLInputElement.h: Declare visibleValue().
+ * html/InputType.cpp:
+ (WebCore::InputType::visibleValue): Add the default implementation of
+ visibleValue(), which returns HTMLInputElement::value().
+ * html/InputType.h: Add declarations.
+ * html/NumberInputType.cpp:
+ (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
+ (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
+ (WebCore::NumberInputType::visibleValue):
+ Returns a localized number string produced by formatLocalizedNumber().
+ (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
+ (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
+ * html/NumberInputType.h: Add declarations.
+ * platform/text/LocalizedNumber.h: Added.
+ * platform/text/LocalizedNumberNone.cpp: Added.
+ (WebCore::parseLocalizedNumber):
+ (WebCore::formatLocalizedNumber):
+ (WebCore::isLocalizedNumberCharacter):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::updateFromElement):
+ Calls InputElement::visibleValue() instead of value().
+ * wml/WMLInputElement.h:
+ (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
+
+2011-01-25 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53143
+ Add IntRectHash
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/IntRectHash.h: Added.
+
+ * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
+
+2011-01-25 Ilya Sherman <isherman@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Remove trailing whitespace in HTMLInputElement.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=53152
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::updateCheckedRadioButtons):
+ (WebCore::HTMLInputElement::applyStep):
+ (WebCore::HTMLInputElement::updateFocusAppearance):
+ (WebCore::HTMLInputElement::mapToEntry):
+ (WebCore::HTMLInputElement::setAutofilled):
+ (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
+ (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
+
+2011-01-25 Mike Reed <reed@google.com>
+
+ Reviewed by James Robinson.
+
+ DrawingBufer::reset() today checks if the new size is the same as its
+ m_size, and if so, returns immediately. This does not match the
+ semantics of <canvas>, which wants to clear its contents anytime the
+ size is specified.
+ https://bugs.webkit.org/show_bug.cgi?id=53149
+
+ Test: Covered by existing <canvas> tests using gpu.
+
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore::DrawingBuffer::reset):
+
+2011-01-25 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
+ https://bugs.webkit.org/show_bug.cgi?id=53038
+
+ Test: fast/dom/window-domurl-crash.html
+
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
+ (WebCore::ScriptExecutionContext::createdDomUrl):
+ (WebCore::ScriptExecutionContext::destroyedDomUrl):
+ * dom/ScriptExecutionContext.h:
+ (WebCore::ScriptExecutionContext::domUrls):
+ * html/DOMURL.cpp:
+ (WebCore::DOMURL::DOMURL):
+ (WebCore::DOMURL::~DOMURL):
+ (WebCore::DOMURL::contextDestroyed):
+ * html/DOMURL.h:
+ (WebCore::DOMURL::scriptExecutionContext):
+
+2011-01-23 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52983
+ Eliminate m_tagHistory pointer from CSSSelector
+
+ Keep the component selectors in the array in CSSSelectorList instead
+ of maintaining a linked list between them. This allows eliminating
+ m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
+ seems to improve some too due to better locality).
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+ Make CSSSelector.h a private header.
+
+ * css/CSSGrammar.y:
+
+ Use CSSParserSelector during parsing to keep the tag history in
+ a linked list. This is flattened to an array after parsing.
+ Use accessors for setting selector values.
+ Use OwnPtr in selector vector.
+
+ * css/CSSPageRule.cpp:
+ (WebCore::CSSPageRule::CSSPageRule):
+ * css/CSSPageRule.h:
+ (WebCore::CSSPageRule::create):
+
+ Simplify.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::~CSSParser):
+ (WebCore::CSSParser::createFloatingSelector):
+ (WebCore::CSSParser::sinkFloatingSelector):
+ (WebCore::CSSParser::createStyleRule):
+ (WebCore::CSSParser::updateSpecifiersWithElementName):
+ (WebCore::CSSParser::createPageRule):
+ * css/CSSParser.h:
+ (WebCore::CSSParser::reusableSelectorVector):
+
+ CSSSelector -> CSSParserSelector.
+ Use OwnPtr in selector vector.
+
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserSelector::CSSParserSelector):
+ (WebCore::CSSParserSelector::~CSSParserSelector):
+ * css/CSSParserValues.h:
+ (WebCore::CSSParserSelector::releaseSelector):
+ (WebCore::CSSParserSelector::setTag):
+ (WebCore::CSSParserSelector::setValue):
+ (WebCore::CSSParserSelector::setAttribute):
+ (WebCore::CSSParserSelector::setArgument):
+ (WebCore::CSSParserSelector::setSimpleSelector):
+ (WebCore::CSSParserSelector::setMatch):
+ (WebCore::CSSParserSelector::setRelation):
+ (WebCore::CSSParserSelector::setForPage):
+ (WebCore::CSSParserSelector::pseudoType):
+ (WebCore::CSSParserSelector::isUnknownPseudoElement):
+ (WebCore::CSSParserSelector::isSimple):
+ (WebCore::CSSParserSelector::tagHistory):
+ (WebCore::CSSParserSelector::setTagHistory):
+
+ Linked list used during parsing.
+ Avoid recursive destruction.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ (WebCore::CSSSelector::operator==):
+ (WebCore::CSSSelector::selectorText):
+ (WebCore::CSSSelector::setSimpleSelector):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::CSSSelector):
+ (WebCore::CSSSelector::~CSSSelector):
+ (WebCore::CSSSelector::tagHistory):
+ (WebCore::CSSSelector::tag):
+ (WebCore::CSSSelector::value):
+ (WebCore::CSSSelector::setTag):
+ (WebCore::CSSSelector::isLastInTagHistory):
+ (WebCore::CSSSelector::setNotLastInTagHistory):
+ (WebCore::CSSSelector::RareData::RareData):
+ (WebCore::CSSSelector::RareData::~RareData):
+ (WebCore::CSSSelector::createRareData):
+ (WebCore::CSSSelector::setValue):
+
+ Remove m_tagHistory.
+ Keep m_value in the union with the rare data pointer instead.
+ Make m_value and m_tag private, implement accessors.
+ Add a new bit to indicate end of the tag history (multipart selector).
+ Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
+
+ * css/CSSSelectorList.cpp:
+ (WebCore::CSSSelectorList::adoptSelectorVector):
+
+ Flatten everything to an array.
+
+ (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
+ * css/CSSSelectorList.h:
+ (WebCore::CSSSelectorList::hasOneSelector):
+ (WebCore::CSSSelectorList::next):
+
+ Skip over the subparts of multipart selectors to find the next selector.
+
+ * css/CSSStyleRule.h:
+ (WebCore::CSSStyleRule::adoptSelectorVector):
+
+ CSSSelector -> CSSParserSelector.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ (WebCore::CSSRuleSet::addRule):
+ (WebCore::collectIdsAndSiblingRulesFromList):
+ (WebCore::CSSStyleSelector::matchPageRulesForList):
+ * dom/Node.cpp:
+ (WebCore::Node::querySelector):
+ * dom/SelectorNodeList.cpp:
+ (WebCore::createSelectorNodeList):
+
+ Use accessors.
+
+2011-01-25 James Simonsen <simonjam@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Support small caps in complex text on linux
+ https://bugs.webkit.org/show_bug.cgi?id=53051
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
+ (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
+ * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
+
+2011-01-25 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber-stamped by Adam Roben.
+
+ Windows production build fix.
+ Use correct environment variable escaping
+
+ * WebCore.vcproj/WebCore.make:
+
2011-01-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
« no previous file with comments | « LayoutTests/fast/events/scroll-event-during-modal-dialog-expected.txt ('k') | Source/WebCore/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698