summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering
Commit message (Collapse)AuthorAgeFilesLines
* Import WebKit commit 025cd3fc8d29620535309aa3e2ab7075aad36044Konstantin Tokarev2018-01-201-0/+2
| | | | | Change-Id: I39d60de0f241abc52c0c4eb174eba7882d576f24 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* Import WebKit commit 85c24b4e854b971f0705bb3411cfd4c0b821f491Konstantin Tokarev2017-10-133-3/+15
| | | | | Change-Id: I3f9320f43d5d1fc5169a6c1b9dcea454974d6578 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* Import WebKit commit 6d0ad27b6bc4209fb8d8cee2692dc0c6a5462051v5.212.0-alpha2Konstantin Tokarev2017-06-1712-26/+65
| | | | | Change-Id: Ifdedb7bc3162434686201813dc1d994cf5ae7e70 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* Import WebKit commit 3ca7a25a550e473d60bbbe321475c6c0ef114b31Konstantin Tokarev2017-06-0213-21/+81
| | | | | Change-Id: I480668a0cb8114dccf7a1195190a993282875759 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Import WebKit commit 342c7c7c069db3ca1d09ae6c5f7d600f9b241778Konstantin Tokarev2017-04-071-0/+3
| | | | | Change-Id: I8886595114569f61168aed76b23ad7288c5cb34c Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* Imported WebKit commit 30997fb33975697a4af9cc6eef69967313d0ec9aKonstantin Tokarev2017-02-021-0/+1
| | | | | Change-Id: I8a2348dd9eb59df840dde6b66141d562aff29bf4 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* Imported WebKit commit 12fbea815480c3b3fad139cd8dfb82e8c954bc9aKonstantin Tokarev2017-02-021-1/+1
| | | | | Change-Id: Iccbb1e8bd8b7f72322614224c203fc509a8dbb79 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* Imported WebKit commit eb954cdcf58f9b915b2fcb6f8e4cb3a60650a4f3Konstantin Tokarev2017-02-0235-342/+566
| | | | | Change-Id: I8dda875c38075d43b76fe3a21acb0ffa102bb82d Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)Konstantin Tokarev2017-02-02555-53838/+72834
| | | | | Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* ASSERTION FAILED: stroke->opacity != other->stroke->opacity in ↵Rob Buis2016-01-051-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebCore::SVGRenderStyle::diff https://bugs.webkit.org/show_bug.cgi?id=119623 Reviewed by Dirk Schulze. Source/WebCore: Include all the stroke attributes in the style diff comparison, the visited links ones were missing. Test: svg/animations/animate-stroke-crasher.html * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::diff): LayoutTests: Add testcase from bug with small adjustments. * svg/animations/animate-stroke-crasher-expected.txt: Added. * svg/animations/animate-stroke-crasher.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153914 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: I71ff999dab89127600b4a57b5cee58a6fa4687fd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* % unit heights don't work if parent block height is set in vhKonstantin Tokarev2015-12-041-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=118516 Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-12-04 Reviewed by Simon Fraser. From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com> Source/WebCore: An element having height as percentage needs to have the containingblock's height or availableheight to calculate its own height. The containing block having a height set in vh unit was not being considered for calculating the child's height. * rendering/RenderBox.cpp: (WebCore::RenderBox::computePercentageLogicalHeight): Correct child's height(in pecentage) was not being calculated incase of parent having height set in vh unit. Added condition to calculate the containing block height in terms of viewport size. Change-Id: Id0158323c6d1b5a43b267133bfe0c7ce5fe4b472 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Allow 3D transforms without composited layersAllan Sandfeld Jensen2015-01-122-0/+16
| | | | | | | | | | | Qt has no problems doing static 3D transforms without composited layers, since the performance is not optimal we want to still trigger composited layers when available, but allowing this without can fix the rendering in the screenshot and printing API. Task-number: QTBUG-43106 Change-Id: I30869d0f86704b84369273d7c2b875ee22badf22 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Do not set the mainframe graphicslayer to being opaque when it isn'tAllan Sandfeld Jensen2014-12-081-1/+2
| | | | | | | | | | If the frameview has a transparent background we need to tell the GraphicsLayer that it is not opaque otherwise the TextureMapperGL might choose not to use blend. Task-number: QTBUG-40063 Change-Id: If129305fed8620cd3c28cec5357625d8892ad063 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* StylePendingImage needs to correctly manage the CSSValue pointer lifetimeDarin Adler2014-10-151-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=125468 Reviewed by Andreas Kling. Source/WebCore: Test: fast/css/pending-image-crash.xhtml Disconnect the reference counted StylePendingImage from the CSSValue that owns it when it's not needed any more, otherwise we could end up using a pointer that might no longer be valid. * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the current image if it is a StylePendingImage. (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Call detachPendingImage. (WebCore::CSSCursorImageValue::cachedImage): Call detachPendingImage before changing m_image to a new value. (WebCore::CSSCursorImageValue::clearCachedImage): Ditto. * css/CSSCursorImageValue.h: Added detachPendingImage. * css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::detachPendingImage): Added. Calls detachFromCSSValue on the current image set if it is a StylePendingImage. (WebCore::CSSImageSetValue::~CSSImageSetValue): Call detachPendingImage. (WebCore::CSSImageSetValue::cachedImageSet): Call detachPendingImage before changing m_imageSet to a new value. * css/CSSImageSetValue.h: Added detachPendingImage. * css/CSSImageValue.cpp: (WebCore::CSSImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the current image if it is a StylePendingImage. (WebCore::CSSImageValue::~CSSImageValue): Call detachPendingImage. (WebCore::CSSImageValue::cachedImage): Call detachPendingImage before changing m_image to a new value. * css/CSSImageValue.h: Added detachPendingImage. * rendering/style/StylePendingImage.h: (WebCore::StylePendingImage::cssImageValue): Added a null check. (WebCore::StylePendingImage::cssImageGeneratorValue): Added a null check. (WebCore::StylePendingImage::cssCursorImageValue): Added a null check. (WebCore::StylePendingImage::cssImageSetValue): Added a null check. (WebCore::StylePendingImage::detachFromCSSValue): Added. Sets m_value to null since the style is no longer using this StylePendingImage. (WebCore::StylePendingImage::data): Changed to use the "this" pointer since all we need is some arbitrary pointer uniquely identifying the image. Before loading the image, we have no suitable weak identifier, so it suffices to use the unique pointer to each StylePendingImage object. This function is used only in a limited way; it would be nice to find a way to make the code less strange long term. Change-Id: Iab8a5d033c5cdf9a488ac18d8f233dee48c5f3e7 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160479 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Crash in WebCore::BidiResolver<WebCore::InlineIterator, ↵Ryosuke Niwa2014-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebCore::BidiRun>::createBidiRunsForLine https://bugs.webkit.org/show_bug.cgi?id=122776 Reviewed by Darin Adler. Merge https://chromium.googlesource.com/chromium/blink/+/aca89bc4d984705a1f94b623dae0ab03e239a248 Fix modification of whitespace endpoints to not assume it's operating on RenderTexts During line layout, we use midpoints to identify RenderObjects, or parts of RenderObjects, that don't need InlineBoxes, usually because of collapsed whitespace. Prior to actually creating BidiRuns (the precursor to InlineBoxes), we use checkMidpoints to fix up our lineMidpointState to handle the case where we start ignoring spaces in our line, but don't stop until somewhere on the following line. Previously, this function assumed that the final midpoint (called an endpoint) was a RenderText, but this assumption is wrong if we have a beginning midpoint created by shouldSkipWhitespaceAfterStartObject (which handles inlines and list markers) and no endpoint on that line. In that case, we'd instead adjust the position backwards on the beginning midpoint, which would cause us to fail to create an InlineBox for the inline or list marker. In the new test added, this would actually trigger a crash due to an assumption when visually re-ordering BidiRuns that a non-empty line would actually contain at least one such run. Test: fast/text/whitespace/whitespace-and-margin-wrap-after-list-marker-crash.html * rendering/RenderBlockLineLayout.cpp: (WebCore::checkMidpoints): Change-Id: I894bd9da4250dc2c79a55a8014e54df7dcbec719 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157436 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Do not let TexureMapper create backing stores that are too largeAllan Sandfeld Jensen2014-10-131-0/+4
| | | | | | | | | | | | | | TextureMapper without Coordinated Graphics will preallocate all tiles for a backing store. This makes it impossible to handle very large backing stores as they will cause memory exhaution. This patch disables composited layers with more pixels than 8192 squared, unless the ChromeClient has allowed large accelerated layers. Task-number: QTBUG-41404 Change-Id: Id71628da139f886aceb00732ae59dac2600ef863 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix uninitialized access in RenderTableAllan Sandfeld Jensen2014-10-101-0/+2
| | | | | | | | WTF::Vector's do not initialize primitive types, so we need to do so, especially for the last columnpos which needs be the highest. Change-Id: Iec68e12352b76d304faa59d3233cbbb38691d78d Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix repainting of subpixel positioned composited layersAllan Sandfeld Jensen2014-09-161-10/+7
| | | | | | | | | | Since the offset-from-renderer includes the pixel snapping based on subpixel accumulation, we should take the accumulation into account to calculate the repaint area in layer coordinates. Task-number: QTBUG-40218 Change-Id: I66f9cb0943ba69bb892c686ecea9ed5fec805a0d Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-123-2/+15
|\ | | | | | | Change-Id: Ie925a50b94d06e7012a7458549aa2afe6f33a402
| * [WK2] Update text upon item selection for menu listsPierre Rossi2014-07-303-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | While RenderListBox repaints itself on selection changes, RenderMenuList lacks this logic when it's used for multiple selections (acting as a listbox). Make sure we properly update the element's text as the options are toggled. Originally reported and proposed fix in http://wkb.ug/91862 Task-number: QTBUG-39675 Change-Id: I09f17ff03577fc6f65875674d632684b560fffb7 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | A fractional value of the css letter-spacing property is not rendered as ↵mmaxfield@apple.com2014-06-232-9/+10
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | expected https://bugs.webkit.org/show_bug.cgi?id=20606 Reviewed by Simon Fraser. Source/WebCore: This turns on fractional letter-spacing and word-spacing CSS values. It is taken mostly from Blink r153727 and iOS. Updating the relevant types is all that is necessary * css/DeprecatedStyleBuilder.cpp: (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): * page/animation/CSSPropertyAnimation.cpp: (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * platform/graphics/Font.cpp: (WebCore::Font::Font): (WebCore::Font::width): * platform/graphics/Font.h: (WebCore::Font::wordSpacing): (WebCore::Font::letterSpacing): (WebCore::Font::setWordSpacing): (WebCore::Font::setLetterSpacing): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::wordSpacing): (WebCore::RenderStyle::letterSpacing): (WebCore::RenderStyle::setWordSpacing): (WebCore::RenderStyle::setLetterSpacing): * rendering/style/RenderStyle.h: Change-Id: I49cedbf555426f3fae3fe58ec4eb25569d358997 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161521 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Update RenderImage when the image src is clearedspartha2014-05-062-3/+5
| | | | | | | | | | | | | | | When the src is removed via JavaScript, the image loader now updates the renderer. BUG=123017 Review URL: https://chromiumcodereview.appspot.com/20473002 git-svn-id: svn://svn.chromium.org/blink/trunk@155294 bbb929c8-8fbe-4397-9dbb-9b2b20218538 Task-number: QTBUG-38287 Change-Id: I49c353cfa4ad1f7c1ceac80df81b8cb713d291df Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Flash of garbage pixels when playing a show on HuluSimon Fraser2014-04-162-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <https://webkit.org/b/119871> Source/WebCore: Reviewed by Tim Horton. When starting a show on Hulu, there's a layer that gets marked as opaque because it has a child RenderLayer whose background fills the compositing layer. That child RenderLayer was recently position:fixed but outside the viewport, so its viewportConstrainedNotCompositedReason was set to a non-zero value. However, we failed to clear the viewportConstrainedNotCompositedReason when the layer became non-fixed. This caused painting the opaque layer to bail in RenderLayer::paintLayer(), leaving garbage. Test: compositing/contents-opaque/fixed-to-nonfixed.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the ViewportConstrainedNotCompositedReason if the layer is no longer fixed. Change-Id: Ie1aa935b8271cd8cc3159f5337d483a77d74b8a0 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154147 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-121-1/+1
|\ | | | | | | Change-Id: Iea6cf3f34fb33f2d138b72243b0e688958d9424e
| * Fix RenderGeometryMap.cpp ASSERT on Google PlusAllan Sandfeld Jensen2014-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The assert roundedIntPoint(result) == roundedIntPoint(rendererMappedResult) is triggered on Google Plus. The cause appears to be premature rounding leading a wrong result. The fix is a to remove the early rounding. This follows a similar fix in upstream WebKit r142638 where the same problem was fixed for the other mapToContainer method. Change-Id: Ifae91c204f2043b3f07682dc7bed711a6cb38c91 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Allow SVG images to be drawn into canvas without tainting.timothy@apple.com2014-01-291-14/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=119492 Reviewed by Darin Adler. Source/WebCore: * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::parseAttribute): Call shouldProhibitLinks. (WebCore::shouldProhibitLinks): Added. * html/HTMLAnchorElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseAttribute): Call shouldProhibitLinks. * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage): Use isInSVGImage. * svg/SVGAElement.cpp: (WebCore::SVGAElement::svgAttributeChanged): Call shouldProhibitLinks. * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::hasSingleSecurityOrigin): Added. (WebCore::isInSVGImage): Added. * svg/graphics/SVGImage.h: Change-Id: I294821dff7299e3c6a3e1df8f8ff3d855dc16dbd git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153876 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Apply size constraints for direct compositing also to background images.Michael Brüning2013-12-121-0/+8
| | | | | | | | | | The fact that this was not done before led to a failed WebKit assertion in the UIProcess which caused any WebView application loading pages with large background images (e.g. flickr.com) to crash on Windows. Task-number: QTBUG-35208 Change-Id: Ieae76e19fc08483cbd038a7c14e06b4bd12dd681 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Support kerning with SVG web fontsAllan Sandfeld Jensen2013-10-012-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=117540 Reviewed by Stephen Chenney. Adds the glue to WidthIterator to take advantage of kerning in SVG web fonts. To supply SVG font kerning with its required text input, the signature of applyFontTransforms has been extended. Since SVG font kerning was extremely slow, it has been sped up by replacing the iteration over all possible kerning definitions with a hash-map based lookup of the leading symbol to be kerned. The new algorithm provides a roughly 100x speed-up in SVG font kerning. Test: fast/text/svg-font-face-with-kerning.html * platform/graphics/TextRun.h: (WebCore::TextRun::string): * platform/graphics/WidthIterator.cpp: (WebCore::applyFontTransforms): (WebCore::WidthIterator::advanceInternal): * rendering/svg/SVGTextRunRenderingContext.cpp: (WebCore::SVGTextRunRenderingContext::applySVGKerning): * rendering/svg/SVGTextRunRenderingContext.h: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::invalidateGlyphCache): (WebCore::SVGFontElement::ensureGlyphCache): (WebCore::SVGKerningMap::clear): (WebCore::SVGKerningMap::insert): (WebCore::stringMatchesUnicodeRange): (WebCore::stringMatchesGlyphName): (WebCore::stringMatchesUnicodeName): (WebCore::matches): (WebCore::kerningForPairOfStringsAndGlyphs): (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs): (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs): * svg/SVGFontElement.h: (WebCore::SVGKerning::SVGKerning): (WebCore::SVGKerningMap::isEmpty): * svg/SVGHKernElement.cpp: (WebCore::SVGHKernElement::buildHorizontalKerningPair): * svg/SVGHKernElement.h: * svg/SVGVKernElement.cpp: (WebCore::SVGVKernElement::buildVerticalKerningPair): * svg/SVGVKernElement.h: Change-Id: I309d05b57df3a85fa9720e56f4ace53d5d1d8cf5 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156393 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Import Qt5x2 branch of QtWebkit for Qt 5.2Allan Sandfeld Jensen2013-09-19380-16653/+22913
| | | | | | | Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* [Qt] Animated opacity does not trigger accelerated compositingAllan Sandfeld Jensen2013-04-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=115107 Reviewed by Simon Fraser. Source/WebCore: Add extra option to also trigger compositing on animated opacity. * page/ChromeClient.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Source/WebKit/qt: We should trigger compositing on animated opacity as it is always faster on Qt. * WebCoreSupport/ChromeClientQt.cpp: VideoTrigger removed because we have already disabled AC for video in qwebsettings. Change-Id: I811a9175d96a57621345d2225d6930669a487aa5 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149123 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Late-loading stylesheets can cause composited layers to be blankSimon Fraser2013-04-305-22/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=103773 Reviewed by Tim Horton. Early painting can be short-circuited in RenderBlock::paintContents() if we know a stylesheet is pending, which is done to avoid a flash of unstyled content (FOUC). When the stylesheet finally loaded, Document::styleResolverChanged() would try to repaint everything by calling repaint() on the RenderView(). In a composited world, however, this repaint() doesn't repaint composited layers. This was particularly prevalent on this specific URL because it failed to load a CSS file from typekit.com, so Document::styleResolverChanged() just did the repaint and returned (rather than doing a recalc style as would happen for correctly loaded stylesheets). Fix by making a way to repaint all compositing layers, and calling it from Document::styleResolverChanged(). No tests because this is timing-dependant. * dom/Document.cpp: (WebCore::Document::styleResolverChanged): Call repaintViewAndCompositedLayers(). * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintContents): Fix the comment. * rendering/RenderLayerCompositor.cpp: Convert repaintCompositedLayersAbsoluteRect() and associated recursiveRepaintLayerRect() to allow the rect to be null, which indicates that we should just repaint the entire layer, and improve their names. (WebCore::RenderLayerCompositor::repaintCompositedLayers): (WebCore::RenderLayerCompositor::recursiveRepaintLayer): * rendering/RenderLayerCompositor.h: * rendering/RenderView.cpp: (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): repaintCompositedLayersAbsoluteRect() was renamed to repaintCompositedLayers(). (WebCore::RenderView::repaintViewAndCompositedLayers): * rendering/RenderView.h: (RenderView): repaintViewRectangle() and repaintRectangleInViewAndCompositedLayers() should not be virtual. Add repaintViewAndCompositedLayers(). Change-Id: I86401d25d06128db33a5e5db099144d6b05850ef git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136277 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [TexMap] Composited CSS shaders crash when using non-GL TextureMapperAllan Sandfeld Jensen2013-04-111-0/+3
| | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106796 Reviewed by Noam Rosenthal. Fail gracefully when FilterEffectRenderer fails to build the filter effects. * platform/graphics/texmap/TextureMapperImageBuffer.cpp: (WebCore::BitmapTextureImageBuffer::applyFilters): Change-Id: I621373444812fcbdcb2d7ebb317cbb1e58f40195 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139864 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-04-033-7/+7
|\ | | | | | | Change-Id: If3305d4a24584f4289f840e60a2362220d005013
| * ASSERTION FAILED: m_repaintRect == ↵v5.0.2Simon Fraser2013-03-302-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | renderer()->clippedOverflowRectForRepaint(renderer()->containerForRepaint()) after r135816 https://bugs.webkit.org/show_bug.cgi?id=103432 Remove optimization added in r99752 that attempted to avoid clip rect updates for table cells. As the assertions show, this optimization is not always correct, so remove it. Bug 108272 tracks adding it back in. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Remove m_canSkipRepaintRectsUpdateOnScroll check when updating clip rects. * rendering/RenderLayer.h: Remove the m_canSkipRepaintRectsUpdateOnScroll bit. Task-number: QTBUG-29214 Change-Id: I453ad4db59218631e236e938c2392a444840df64 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Jonathan Liu <net147@gmail.com>
| * Workaround for MSVC 2012 64 bit optimizer bug.Michael Brüning2013-03-211-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having optimization turned on for the VS 2012 build causes a crash in RenderTableSection::paintObject. The workaround for this is to turn optimization off for this method until a fix in the compiler has been provided. This is tracked in bug https://bugs.webkit.org/show_bug.cgi?id=112900 for the upstream version of WebKit. Please be aware that this is a work around for QtWebKit and did not go through the WebKit review process and is therefore not part of WebKit trunk as of now. Task-number: QTBUG-30117 Change-Id: I76139eaa4c0f07de2d90d197c0b07ef4a576e585 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Merge branch 'dev' into stableSergio Ahumada2013-03-221-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | This starts Qt 5.1 release cycle Conflicts: Source/sync.profile Change-Id: I570f2804b9e5baf6d2b5573d1030887866077124
| * | Prevent skipped repaints for children of inner SVG elementsPhilip Rogers2013-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=108429 Reviewed by Eric Seidel. Source/WebCore: This patch fixes a bug caused by r108699 and r133786 where we would not repaint children of inner SVG elements because "m_didTransformToRootUpdate" was never reset on viewport containers. The stale m_didTransformToRootUpdate variable caused us to skip child repaints. I verified that the Robohornet SVG benchmark performance gains in r133786 are not regressed with this patch. Test: svg/repaint/svgsvgelement-repaint-children.html * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::calcViewport): This can be removed because setNeedsTransformUpdate() will set m_needsTransformUpdate. (WebCore::RenderSVGViewportContainer::calculateLocalTransform): This change is straightforward and is similar to the equivalent assignment in RenderSVGTransformableContainer::calculateLocalTransform(). Change-Id: I505d852152ef1a8e084a002e65bb5e06aeca4988 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141645 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | Change RenderFrameSet::paint to use m-rows/m_cols directly.Emil A Eklund2013-03-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=108503 Source/WebCore: Reviewed by Eric Seidel. Test: fast/frames/invalid-frameset.html * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::paint): LayoutTests: Reviewed by Eric Seidel. Add test for how we render an invalid frameset. * fast/frames/invalid-frameset-expected.html: Added. * fast/frames/invalid-frameset.html: Added. Change-Id: I95906b47706f629b087130c1db97918e181c9642 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142539 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | Crash due to intruding float not removed after writing mode changed.Abhishek Arya2013-03-181-0/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=100149 Reviewed by Levi Weintraub. Source/WebCore: When RenderView writing mode changes, make sure to mark all descendants with floats for layout. Test: fast/block/float/intruding-float-not-removed-writing-mode.xhtml * rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): LayoutTests: * fast/block/float/intruding-float-not-removed-writing-mode-expected.txt: Added. * fast/block/float/intruding-float-not-removed-writing-mode.xhtml: Added. Change-Id: If2a66e57253ec46643d4a8149f7c5947524581dd git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136253 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Regression(r131539): Heap-use-after-free in ↵Allan Sandfeld Jensen2013-02-283-20/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebCore::RenderBlock::willBeDestroyed https://bugs.webkit.org/show_bug.cgi?id=107189 Reviewed by Abhishek Arya. Source/WebCore: Test: fast/dynamic/continuation-detach-crash.html This patch reverts r131539 and the following changes (r132591 and r139664). This means we redo detaching from the bottom-up which solves the regression. It fixes the attached test case as we re-attach child nodes before detaching the parent. It seems wrong to do but this avoid a stale continuation. * dom/ContainerNode.cpp: (WebCore::ContainerNode::detach): Detach the children first, then ourself. * dom/Node.cpp: (WebCore::Node::detach): Clear the renderer instead of ASSERT'ing. * rendering/RenderObject.cpp: (WebCore::RenderObject::willBeDestroyed): Removed the code to clear the associated node's renderer. (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers): * rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::removeChildNode): Moved the repainting logic back into removeChildNode from destroyAndCleanupAnonymousWrappers. (WebCore::RenderObjectChildList::destroyLeftoverChildren): Re-added the code to clear the associated node's renderer. * rendering/RenderTextFragment.cpp: (WebCore::RenderTextFragment::setText): Re-added the code to set the associated node's renderer. * dom/ContainerNode.cpp: (WebCore::ContainerNode::detach): * dom/Node.cpp: (WebCore::Node::detach): * rendering/RenderObject.cpp: (WebCore::RenderObject::willBeDestroyed): (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers): * rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::destroyLeftoverChildren): (WebCore::RenderObjectChildList::removeChildNode): * rendering/RenderTextFragment.cpp: (WebCore::RenderTextFragment::setText): Change-Id: I5c4df1881f041ecd80180cb1638cd811d0972189 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142500 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | ASSERTION FAILED: !object || object->isBox(), UNKNOWN in ↵Levi Weintraub2013-02-281-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebCore::RenderListItem::positionListMarker https://bugs.webkit.org/show_bug.cgi?id=108699 Reviewed by Abhishek Arya. Source/WebCore: RenderListItems performs special management of its children to maintain list markers. Splitting a flow through a list item results in assumptions made inside RenderListItem failing, so for now, avoid splittin flows when inside one. Test: fast/multicol/span/list-multi-column-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::containingColumnsBlock): LayoutTests: * fast/multicol/span/list-multi-column-crash-expected.txt: Added. * fast/multicol/span/list-multi-column-crash.html: Added. Change-Id: If570c787773fbc69cecbb60833be32c445f2dc2b git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142657 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | REGRESSION (r135628-135632): Double box shadow failure to renderjunov2013-02-281-24/+26
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=107833 Reviewed by Simon Fraser. Source/WebCore: Regression caused by http://trac.webkit.org/changeset/135629 The regression was due to faulty occlusion logic that was assuming that drawing the background color of a render box background layer could be skipped when the same layer also has an opaque image attached. In the case where the background color is drawn for the purpose of rendering a box shadow, the shadow is typically not completely occluded by the background image because of the shadow blur and/or offset. This patch fixes the problem by not culling a background draw if it is used to draw a box shadow. Test: fast/backgrounds/gradient-background-shadow.html * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended): Changing occlusion culling test to never cull background color draw if it is used to draw a box shadow. This is because box shadows can draw outside the border fill region. LayoutTests: New ref test verifies that box shadow is drawn when background is an opaque image. Test uses an blue gradient as background image. Reference uses blue background color. * fast/backgrounds/gradient-background-shadow-expected.html: Added. * fast/backgrounds/gradient-background-shadow.html: Added. Change-Id: I81e3271f1fdc312fd54dcd9de81903b12b1a9903 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141160 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* REGRESSION (r132591): Underpainting @ uofmchildrenshospital.orgJulien Chaffraix2013-02-071-1/+3
| | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=105861 Reviewed by David Hyatt. Test: fast/repaint/overhanging-float-detach-repaint.html The issue comes from overhanging float not contributing to their containing block's overflow. This meant that repaint() would ignore them leading to an under-repaint. The fix is simple: force all the overhanging floats to repaint themselves. * rendering/RenderObject.cpp: (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139664 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: I7555f2929578291c08a4d05e1b350a73ec10abff Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* SVG pattern data deleted while in useFlorin Malita2013-02-072-67/+74
| | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=103415 Reviewed by Dirk Schulze. Various calls in RenderSVGResourcePattern::applyResource() can trigger invalidations, which may end up deleting our current pattern data (via removeAllClientsFromCache). To avoid this, we should add the pattern data to the cache only after it is fully built. For clarity, the patch also refactors the pattern setup code into a separate method. Test: svg/custom/large-image-pattern-crash.html * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::buildPattern): (WebCore::RenderSVGResourcePattern::applyResource): * rendering/svg/RenderSVGResourcePattern.h: (RenderSVGResourcePattern): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136250 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: I1ad128e056f7825727e2d1a9f365dd5f1aa2e4fa Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Imported WebKit commit 6a4a1d32e1d779548c726c4826cba9d69eb87601 ↵Simon Hausmann2012-11-3014-33/+174
| | | | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@136242) Final import for the Qt 5.x series that implements the QtWebKit / QtWebKitWidgets split Extra fixes will be cherry-picked. Change-Id: I844f1ebb99c6d6b75db31d6538c2acd628e79681 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit c60cfe0fc09efd257aa0111d7b133b02deb8a63e ↵Simon Hausmann2012-11-2938-291/+616
| | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@136119) New snapshot that includes the fix for installing the QtWebProcess into libexec Change-Id: I01344e079cbdac5678c4cba6ffcc05f4597cf0d7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit 76dac539db7ece7079963adfcfe878d8e2f7d861 ↵Simon Hausmann2012-11-2622-79/+127
| | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@135696) New snapshot that fixes build after QMacStyle removal Change-Id: Idea95c96c73b49158d52861db2a4b8d2c51766b0 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit 8eb048315f36fa33731f28694630fe4a3c2cbc99 ↵Simon Hausmann2012-11-232-20/+20
| | | | | | | | | (http://svn.webkit.org/repository/webkit/trunk@135602) New snapshot that fixes various bugs Change-Id: Icb6ce541a26a9f500d087821ce4b83a8d8a5474a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit e89504fa9195b2063b2530961d4b73dd08de3242 ↵Simon Hausmann2012-11-2287-2966/+4482
| | | | | | | (http://svn.webkit.org/repository/webkit/trunk@135485) Change-Id: I03774e5ac79721c13ffa30d152537a74d0b12e66 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Imported WebKit commit e2c32e2f53e02d388e70b9db88b91d8d9d28fc84 ↵Simon Hausmann2012-11-097-26/+22
| | | | | | (http://svn.webkit.org/repository/webkit/trunk@133952) Revert back to an older snapshot that should build on ARM